diff --git a/doc/LectureNotes/_build/.doctrees/chapter1.doctree b/doc/LectureNotes/_build/.doctrees/chapter1.doctree
index 1086a5888..af14f2942 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter1.doctree and b/doc/LectureNotes/_build/.doctrees/chapter1.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapter10.doctree b/doc/LectureNotes/_build/.doctrees/chapter10.doctree
index 89cd2d5cd..4d0b21b72 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter10.doctree and b/doc/LectureNotes/_build/.doctrees/chapter10.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapter11.doctree b/doc/LectureNotes/_build/.doctrees/chapter11.doctree
index 1c46f6197..2888f1c03 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter11.doctree and b/doc/LectureNotes/_build/.doctrees/chapter11.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapter12.doctree b/doc/LectureNotes/_build/.doctrees/chapter12.doctree
index 4aa518075..1878ff217 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter12.doctree and b/doc/LectureNotes/_build/.doctrees/chapter12.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapter13.doctree b/doc/LectureNotes/_build/.doctrees/chapter13.doctree
index 1f4cd3c3e..827563280 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter13.doctree and b/doc/LectureNotes/_build/.doctrees/chapter13.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapter2.doctree b/doc/LectureNotes/_build/.doctrees/chapter2.doctree
index 9b17d0f41..049f4b713 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter2.doctree and b/doc/LectureNotes/_build/.doctrees/chapter2.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapter3.doctree b/doc/LectureNotes/_build/.doctrees/chapter3.doctree
index 879d5ebde..97e466d69 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter3.doctree and b/doc/LectureNotes/_build/.doctrees/chapter3.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapter4.doctree b/doc/LectureNotes/_build/.doctrees/chapter4.doctree
index 15e57c49b..a90937409 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter4.doctree and b/doc/LectureNotes/_build/.doctrees/chapter4.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapter5.doctree b/doc/LectureNotes/_build/.doctrees/chapter5.doctree
index bd7aca63f..63abe7851 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter5.doctree and b/doc/LectureNotes/_build/.doctrees/chapter5.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapter6.doctree b/doc/LectureNotes/_build/.doctrees/chapter6.doctree
index a717ea346..409c7fd94 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter6.doctree and b/doc/LectureNotes/_build/.doctrees/chapter6.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapter7.doctree b/doc/LectureNotes/_build/.doctrees/chapter7.doctree
index f3ddcceb2..067ad271d 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter7.doctree and b/doc/LectureNotes/_build/.doctrees/chapter7.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapter8.doctree b/doc/LectureNotes/_build/.doctrees/chapter8.doctree
index 0edc2d7fa..b64b2890a 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter8.doctree and b/doc/LectureNotes/_build/.doctrees/chapter8.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapter9.doctree b/doc/LectureNotes/_build/.doctrees/chapter9.doctree
index 6cf15da94..15956465a 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapter9.doctree and b/doc/LectureNotes/_build/.doctrees/chapter9.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/chapteroptimization.doctree b/doc/LectureNotes/_build/.doctrees/chapteroptimization.doctree
index 2c60b3f7d..601d894db 100644
Binary files a/doc/LectureNotes/_build/.doctrees/chapteroptimization.doctree and b/doc/LectureNotes/_build/.doctrees/chapteroptimization.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/clustering.doctree b/doc/LectureNotes/_build/.doctrees/clustering.doctree
index 9583ba6d8..449148e45 100644
Binary files a/doc/LectureNotes/_build/.doctrees/clustering.doctree and b/doc/LectureNotes/_build/.doctrees/clustering.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/environment.pickle b/doc/LectureNotes/_build/.doctrees/environment.pickle
index aae7ab6a3..c244c9060 100644
Binary files a/doc/LectureNotes/_build/.doctrees/environment.pickle and b/doc/LectureNotes/_build/.doctrees/environment.pickle differ
diff --git a/doc/LectureNotes/_build/.doctrees/intro.doctree b/doc/LectureNotes/_build/.doctrees/intro.doctree
index 9ae18accd..d8772433c 100644
Binary files a/doc/LectureNotes/_build/.doctrees/intro.doctree and b/doc/LectureNotes/_build/.doctrees/intro.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/linalg.doctree b/doc/LectureNotes/_build/.doctrees/linalg.doctree
index 3cb2eae6f..78bf0a416 100644
Binary files a/doc/LectureNotes/_build/.doctrees/linalg.doctree and b/doc/LectureNotes/_build/.doctrees/linalg.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/schedule.doctree b/doc/LectureNotes/_build/.doctrees/schedule.doctree
index 0af12a784..996b038fd 100644
Binary files a/doc/LectureNotes/_build/.doctrees/schedule.doctree and b/doc/LectureNotes/_build/.doctrees/schedule.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/statistics.doctree b/doc/LectureNotes/_build/.doctrees/statistics.doctree
index 1a0ee4126..6b79faa32 100644
Binary files a/doc/LectureNotes/_build/.doctrees/statistics.doctree and b/doc/LectureNotes/_build/.doctrees/statistics.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/teachers.doctree b/doc/LectureNotes/_build/.doctrees/teachers.doctree
index 196bad482..babe713e0 100644
Binary files a/doc/LectureNotes/_build/.doctrees/teachers.doctree and b/doc/LectureNotes/_build/.doctrees/teachers.doctree differ
diff --git a/doc/LectureNotes/_build/.doctrees/textbooks.doctree b/doc/LectureNotes/_build/.doctrees/textbooks.doctree
index ec35fda87..cb9cbed7c 100644
Binary files a/doc/LectureNotes/_build/.doctrees/textbooks.doctree and b/doc/LectureNotes/_build/.doctrees/textbooks.doctree differ
diff --git a/doc/LectureNotes/_build/html/.buildinfo b/doc/LectureNotes/_build/html/.buildinfo
index 3f46e6780..06fb2ea71 100644
--- a/doc/LectureNotes/_build/html/.buildinfo
+++ b/doc/LectureNotes/_build/html/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 2fd3d019b83b9c58018e90b52a9aa1b0
+config: f308db7c477ecb0b30693adc2f4b68f7
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/doc/LectureNotes/_build/html/_images/chapter10_39_1.png b/doc/LectureNotes/_build/html/_images/chapter10_39_1.png
index 91a4496c5..379a0198a 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter10_39_1.png and b/doc/LectureNotes/_build/html/_images/chapter10_39_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter10_59_1.png b/doc/LectureNotes/_build/html/_images/chapter10_59_1.png
index 6d1467029..44c9e3643 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter10_59_1.png and b/doc/LectureNotes/_build/html/_images/chapter10_59_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter10_59_2.png b/doc/LectureNotes/_build/html/_images/chapter10_59_2.png
index b7c47b451..8bd0f3142 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter10_59_2.png and b/doc/LectureNotes/_build/html/_images/chapter10_59_2.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter10_63_0.png b/doc/LectureNotes/_build/html/_images/chapter10_63_0.png
index 59f332230..245832279 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter10_63_0.png and b/doc/LectureNotes/_build/html/_images/chapter10_63_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter10_63_1.png b/doc/LectureNotes/_build/html/_images/chapter10_63_1.png
index 10b90707a..74f9c1c5c 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter10_63_1.png and b/doc/LectureNotes/_build/html/_images/chapter10_63_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter11_50_2.png b/doc/LectureNotes/_build/html/_images/chapter11_50_2.png
index 5742598bc..b28d86a02 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter11_50_2.png and b/doc/LectureNotes/_build/html/_images/chapter11_50_2.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter11_52_3.png b/doc/LectureNotes/_build/html/_images/chapter11_52_3.png
index 99f92bd8b..2b899f6a1 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter11_52_3.png and b/doc/LectureNotes/_build/html/_images/chapter11_52_3.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter11_58_3.png b/doc/LectureNotes/_build/html/_images/chapter11_58_3.png
index 6d89cdf1e..927a7199c 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter11_58_3.png and b/doc/LectureNotes/_build/html/_images/chapter11_58_3.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter11_66_3.png b/doc/LectureNotes/_build/html/_images/chapter11_66_3.png
index 6d89cdf1e..927a7199c 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter11_66_3.png and b/doc/LectureNotes/_build/html/_images/chapter11_66_3.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter11_66_4.png b/doc/LectureNotes/_build/html/_images/chapter11_66_4.png
index 4fdb738d2..27c5bfb18 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter11_66_4.png and b/doc/LectureNotes/_build/html/_images/chapter11_66_4.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter11_79_3.png b/doc/LectureNotes/_build/html/_images/chapter11_79_3.png
index 4f89c99e9..00efa2389 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter11_79_3.png and b/doc/LectureNotes/_build/html/_images/chapter11_79_3.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter11_91_3.png b/doc/LectureNotes/_build/html/_images/chapter11_91_3.png
index 4f89c99e9..00efa2389 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter11_91_3.png and b/doc/LectureNotes/_build/html/_images/chapter11_91_3.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter11_91_4.png b/doc/LectureNotes/_build/html/_images/chapter11_91_4.png
index 5d106940e..877808418 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter11_91_4.png and b/doc/LectureNotes/_build/html/_images/chapter11_91_4.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter12_35_0.png b/doc/LectureNotes/_build/html/_images/chapter12_35_0.png
index 282fbd25e..1d404b058 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter12_35_0.png and b/doc/LectureNotes/_build/html/_images/chapter12_35_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter12_51_0.png b/doc/LectureNotes/_build/html/_images/chapter12_51_0.png
index cd49564e7..dd32534b6 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter12_51_0.png and b/doc/LectureNotes/_build/html/_images/chapter12_51_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter12_67_1.png b/doc/LectureNotes/_build/html/_images/chapter12_67_1.png
index 91a4496c5..379a0198a 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter12_67_1.png and b/doc/LectureNotes/_build/html/_images/chapter12_67_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter13_3_1.png b/doc/LectureNotes/_build/html/_images/chapter13_3_1.png
new file mode 100644
index 000000000..5395f53a0
Binary files /dev/null and b/doc/LectureNotes/_build/html/_images/chapter13_3_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter1_11_0.png b/doc/LectureNotes/_build/html/_images/chapter1_11_0.png
index 6ec4891e5..42a65eb71 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter1_11_0.png and b/doc/LectureNotes/_build/html/_images/chapter1_11_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter1_13_1.png b/doc/LectureNotes/_build/html/_images/chapter1_13_1.png
index 9c18773c1..d4bff6811 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter1_13_1.png and b/doc/LectureNotes/_build/html/_images/chapter1_13_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter1_27_0.png b/doc/LectureNotes/_build/html/_images/chapter1_27_0.png
index a30513b46..3089d9f46 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter1_27_0.png and b/doc/LectureNotes/_build/html/_images/chapter1_27_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter1_3_0.png b/doc/LectureNotes/_build/html/_images/chapter1_3_0.png
index 7ee1932ad..793a4fd9d 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter1_3_0.png and b/doc/LectureNotes/_build/html/_images/chapter1_3_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter2_245_1.png b/doc/LectureNotes/_build/html/_images/chapter2_245_1.png
index d53053632..d8ec67fae 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter2_245_1.png and b/doc/LectureNotes/_build/html/_images/chapter2_245_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter2_247_1.png b/doc/LectureNotes/_build/html/_images/chapter2_247_1.png
index 78db82472..866b6addf 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter2_247_1.png and b/doc/LectureNotes/_build/html/_images/chapter2_247_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter2_249_1.png b/doc/LectureNotes/_build/html/_images/chapter2_249_1.png
index cc281a58f..cf8636c6a 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter2_249_1.png and b/doc/LectureNotes/_build/html/_images/chapter2_249_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_107_1.png b/doc/LectureNotes/_build/html/_images/chapter3_107_1.png
index 5de46e7ee..b19ce68ff 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_107_1.png and b/doc/LectureNotes/_build/html/_images/chapter3_107_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_115_1.png b/doc/LectureNotes/_build/html/_images/chapter3_115_1.png
index 57716b7b0..f0739f90b 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_115_1.png and b/doc/LectureNotes/_build/html/_images/chapter3_115_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_117_1.png b/doc/LectureNotes/_build/html/_images/chapter3_117_1.png
index 92506af14..777ddf65d 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_117_1.png and b/doc/LectureNotes/_build/html/_images/chapter3_117_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_148_1.png b/doc/LectureNotes/_build/html/_images/chapter3_148_1.png
index 0da8fb2fb..725c516ea 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_148_1.png and b/doc/LectureNotes/_build/html/_images/chapter3_148_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_166_1.png b/doc/LectureNotes/_build/html/_images/chapter3_166_1.png
index f4d12d97a..65fecb046 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_166_1.png and b/doc/LectureNotes/_build/html/_images/chapter3_166_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_169_1.png b/doc/LectureNotes/_build/html/_images/chapter3_169_1.png
index cdf0ad5dc..4734554a7 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_169_1.png and b/doc/LectureNotes/_build/html/_images/chapter3_169_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_173_1.png b/doc/LectureNotes/_build/html/_images/chapter3_173_1.png
index 54c39fda5..2bbd1309d 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_173_1.png and b/doc/LectureNotes/_build/html/_images/chapter3_173_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_175_13.png b/doc/LectureNotes/_build/html/_images/chapter3_175_13.png
index f4d2dc749..12c31bd32 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_175_13.png and b/doc/LectureNotes/_build/html/_images/chapter3_175_13.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_177_0.png b/doc/LectureNotes/_build/html/_images/chapter3_177_0.png
index 0a2220357..cb743e5e0 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_177_0.png and b/doc/LectureNotes/_build/html/_images/chapter3_177_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_181_1.png b/doc/LectureNotes/_build/html/_images/chapter3_181_1.png
index b83e84982..e8ce7f873 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_181_1.png and b/doc/LectureNotes/_build/html/_images/chapter3_181_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_47_0.png b/doc/LectureNotes/_build/html/_images/chapter3_47_0.png
index c2b3c6927..7c3e58057 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_47_0.png and b/doc/LectureNotes/_build/html/_images/chapter3_47_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_61_1.png b/doc/LectureNotes/_build/html/_images/chapter3_61_1.png
index f9d994e4b..c514bcc01 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_61_1.png and b/doc/LectureNotes/_build/html/_images/chapter3_61_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_62_3.png b/doc/LectureNotes/_build/html/_images/chapter3_62_3.png
new file mode 100644
index 000000000..b76706909
Binary files /dev/null and b/doc/LectureNotes/_build/html/_images/chapter3_62_3.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_64_1.png b/doc/LectureNotes/_build/html/_images/chapter3_64_1.png
index 51bed3706..3d8acee6a 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_64_1.png and b/doc/LectureNotes/_build/html/_images/chapter3_64_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_65_6.png b/doc/LectureNotes/_build/html/_images/chapter3_65_6.png
new file mode 100644
index 000000000..09f00ebf8
Binary files /dev/null and b/doc/LectureNotes/_build/html/_images/chapter3_65_6.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_71_0.png b/doc/LectureNotes/_build/html/_images/chapter3_71_0.png
index 505b245ce..29304c20b 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_71_0.png and b/doc/LectureNotes/_build/html/_images/chapter3_71_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter3_73_1.png b/doc/LectureNotes/_build/html/_images/chapter3_73_1.png
index dec62c9f9..a7d3b8edd 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter3_73_1.png and b/doc/LectureNotes/_build/html/_images/chapter3_73_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter4_13_0.png b/doc/LectureNotes/_build/html/_images/chapter4_13_0.png
index 44b37ff30..f3903fe23 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter4_13_0.png and b/doc/LectureNotes/_build/html/_images/chapter4_13_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter4_13_1.png b/doc/LectureNotes/_build/html/_images/chapter4_13_1.png
index 4176f89db..20fa7e789 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter4_13_1.png and b/doc/LectureNotes/_build/html/_images/chapter4_13_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter4_13_2.png b/doc/LectureNotes/_build/html/_images/chapter4_13_2.png
index 198de6994..6e50bbc94 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter4_13_2.png and b/doc/LectureNotes/_build/html/_images/chapter4_13_2.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter4_51_0.png b/doc/LectureNotes/_build/html/_images/chapter4_51_0.png
index c3b6498c5..6d4c264e5 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter4_51_0.png and b/doc/LectureNotes/_build/html/_images/chapter4_51_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter4_51_1.png b/doc/LectureNotes/_build/html/_images/chapter4_51_1.png
index a724a04f1..ef508fd2d 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter4_51_1.png and b/doc/LectureNotes/_build/html/_images/chapter4_51_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter4_5_1.png b/doc/LectureNotes/_build/html/_images/chapter4_5_1.png
index cee65bae9..e58ecca7e 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter4_5_1.png and b/doc/LectureNotes/_build/html/_images/chapter4_5_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter4_7_0.png b/doc/LectureNotes/_build/html/_images/chapter4_7_0.png
index c4668ff09..d0c25887d 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter4_7_0.png and b/doc/LectureNotes/_build/html/_images/chapter4_7_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter5_109_0.png b/doc/LectureNotes/_build/html/_images/chapter5_109_0.png
index b1023365e..569dd00ae 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter5_109_0.png and b/doc/LectureNotes/_build/html/_images/chapter5_109_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter5_129_0.png b/doc/LectureNotes/_build/html/_images/chapter5_129_0.png
index 3348a8227..e9ebfd7a9 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter5_129_0.png and b/doc/LectureNotes/_build/html/_images/chapter5_129_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter5_129_2.png b/doc/LectureNotes/_build/html/_images/chapter5_129_2.png
index aeb533770..a8256c580 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter5_129_2.png and b/doc/LectureNotes/_build/html/_images/chapter5_129_2.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter5_129_3.png b/doc/LectureNotes/_build/html/_images/chapter5_129_3.png
index 85dec16bb..96cd47c3e 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter5_129_3.png and b/doc/LectureNotes/_build/html/_images/chapter5_129_3.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter5_129_4.png b/doc/LectureNotes/_build/html/_images/chapter5_129_4.png
index 25457b8da..6055574a4 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter5_129_4.png and b/doc/LectureNotes/_build/html/_images/chapter5_129_4.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter5_129_6.png b/doc/LectureNotes/_build/html/_images/chapter5_129_6.png
index 63cefda04..af6b6fb2b 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter5_129_6.png and b/doc/LectureNotes/_build/html/_images/chapter5_129_6.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter5_1_1.png b/doc/LectureNotes/_build/html/_images/chapter5_1_1.png
index a323677c8..bcdce0fad 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter5_1_1.png and b/doc/LectureNotes/_build/html/_images/chapter5_1_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter6_1_1.png b/doc/LectureNotes/_build/html/_images/chapter6_1_1.png
index bc1b5ac0a..a0ff0d08b 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter6_1_1.png and b/doc/LectureNotes/_build/html/_images/chapter6_1_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter6_1_2.png b/doc/LectureNotes/_build/html/_images/chapter6_1_2.png
index 70faa0954..dae722ea5 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter6_1_2.png and b/doc/LectureNotes/_build/html/_images/chapter6_1_2.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter8_65_1.png b/doc/LectureNotes/_build/html/_images/chapter8_65_1.png
index ff5acf7c3..ca1e82024 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter8_65_1.png and b/doc/LectureNotes/_build/html/_images/chapter8_65_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter9_29_0.png b/doc/LectureNotes/_build/html/_images/chapter9_29_0.png
index 365106fcf..85d5833f1 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter9_29_0.png and b/doc/LectureNotes/_build/html/_images/chapter9_29_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter9_29_1.png b/doc/LectureNotes/_build/html/_images/chapter9_29_1.png
index 4e4f7be0e..1ff7a7cdf 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter9_29_1.png and b/doc/LectureNotes/_build/html/_images/chapter9_29_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter9_29_2.png b/doc/LectureNotes/_build/html/_images/chapter9_29_2.png
index eb25b37cc..2c15fba38 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter9_29_2.png and b/doc/LectureNotes/_build/html/_images/chapter9_29_2.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapter9_29_3.png b/doc/LectureNotes/_build/html/_images/chapter9_29_3.png
index 5596de430..9cba34795 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapter9_29_3.png and b/doc/LectureNotes/_build/html/_images/chapter9_29_3.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapteroptimization_123_1.png b/doc/LectureNotes/_build/html/_images/chapteroptimization_123_1.png
index fcf4c6806..e251f6bf2 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapteroptimization_123_1.png and b/doc/LectureNotes/_build/html/_images/chapteroptimization_123_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapteroptimization_132_1.png b/doc/LectureNotes/_build/html/_images/chapteroptimization_132_1.png
index bca109752..d17d05102 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapteroptimization_132_1.png and b/doc/LectureNotes/_build/html/_images/chapteroptimization_132_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapteroptimization_148_1.png b/doc/LectureNotes/_build/html/_images/chapteroptimization_148_1.png
index ac481f86e..080f91cdf 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapteroptimization_148_1.png and b/doc/LectureNotes/_build/html/_images/chapteroptimization_148_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapteroptimization_188_0.png b/doc/LectureNotes/_build/html/_images/chapteroptimization_188_0.png
index 1e983bdb8..8f75d66ca 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapteroptimization_188_0.png and b/doc/LectureNotes/_build/html/_images/chapteroptimization_188_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapteroptimization_61_2.png b/doc/LectureNotes/_build/html/_images/chapteroptimization_61_2.png
index 7d78856da..e41281b5a 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapteroptimization_61_2.png and b/doc/LectureNotes/_build/html/_images/chapteroptimization_61_2.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapteroptimization_63_0.png b/doc/LectureNotes/_build/html/_images/chapteroptimization_63_0.png
index b1441ecf4..9a11d2377 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapteroptimization_63_0.png and b/doc/LectureNotes/_build/html/_images/chapteroptimization_63_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/chapteroptimization_69_1.png b/doc/LectureNotes/_build/html/_images/chapteroptimization_69_1.png
index eeca55933..73667a769 100644
Binary files a/doc/LectureNotes/_build/html/_images/chapteroptimization_69_1.png and b/doc/LectureNotes/_build/html/_images/chapteroptimization_69_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/clustering_17_0.png b/doc/LectureNotes/_build/html/_images/clustering_17_0.png
index 1e6a8c796..ba746ef23 100644
Binary files a/doc/LectureNotes/_build/html/_images/clustering_17_0.png and b/doc/LectureNotes/_build/html/_images/clustering_17_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/clustering_20_0.png b/doc/LectureNotes/_build/html/_images/clustering_20_0.png
index be592e440..cd41a8c93 100644
Binary files a/doc/LectureNotes/_build/html/_images/clustering_20_0.png and b/doc/LectureNotes/_build/html/_images/clustering_20_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/clustering_24_0.png b/doc/LectureNotes/_build/html/_images/clustering_24_0.png
index e2dbae3dc..ca76b13fe 100644
Binary files a/doc/LectureNotes/_build/html/_images/clustering_24_0.png and b/doc/LectureNotes/_build/html/_images/clustering_24_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/statistics_178_0.png b/doc/LectureNotes/_build/html/_images/statistics_178_0.png
index c2be98233..a3f3840eb 100644
Binary files a/doc/LectureNotes/_build/html/_images/statistics_178_0.png and b/doc/LectureNotes/_build/html/_images/statistics_178_0.png differ
diff --git a/doc/LectureNotes/_build/html/_images/statistics_184_1.png b/doc/LectureNotes/_build/html/_images/statistics_184_1.png
index 9eb562e57..d57f773d6 100644
Binary files a/doc/LectureNotes/_build/html/_images/statistics_184_1.png and b/doc/LectureNotes/_build/html/_images/statistics_184_1.png differ
diff --git a/doc/LectureNotes/_build/html/_images/statistics_29_0.png b/doc/LectureNotes/_build/html/_images/statistics_29_0.png
index 2a75a0751..5adbf9cac 100644
Binary files a/doc/LectureNotes/_build/html/_images/statistics_29_0.png and b/doc/LectureNotes/_build/html/_images/statistics_29_0.png differ
diff --git a/doc/LectureNotes/_build/html/_sources/schedule.md b/doc/LectureNotes/_build/html/_sources/schedule.md
index 5bc748484..905af3cef 100644
--- a/doc/LectureNotes/_build/html/_sources/schedule.md
+++ b/doc/LectureNotes/_build/html/_sources/schedule.md
@@ -5,10 +5,10 @@ This course will be delivered in a hybrid mode, with online lectures and on site
1. Four lectures per week, Fall semester, 10 ECTS. The lectures are in person but will be recorded and linked to this site and the official University of Oslo website for the course;
2. Two hours of laboratory sessions for work on computational projects and exercises for each group. There will also be fully digital laboratory sessions for those who cannot attend;
-3. Three projects which are graded and count 1/3 each of the final grade. The deadlines for the projects are October 11 for project 1, November 15 for project 2 and December 13 for project 3.
+3. Three projects which are graded and count 1/3 each of the final grade. The deadlines for the projects are October 7 for project 1, November 11 for project 2 and December 9 for project 3.
4. A selected number of weekly assignments;
5. The course is part of the CS Master of Science program, but is open to other bachelor and Master of Science students at the University of Oslo;
-6. The course is offered as a FYS-MAT4155 (Master of Science level) and a FYS-MAT3155 (senior undergraduate) course;
+6. The course is offered as a FYS-STK4155 (Master of Science level) and a FYS-STK3155 (senior undergraduate) course;
7. Videos of teaching material are available via the links at https://compphysics.github.io/MachineLearning/doc/web/course.html;
8. Weekly emails with summary of activities will be mailed to all participants;
@@ -22,12 +22,12 @@ For the reading assignments we use the following abbreviations:
- HTF: Hastie, Tibshirani, and Friedman, The Elements of Statistical Learning
- AG: Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow
-### Week 34 August 23-27
+### Week 34 August 22-26
- Lab Wednesday: Introduction to software and repetition of Python Programming
- Lecture Thursday: Introduction to the course, what is Machine Learning and introduction to Linear Regression.
-- Video of Lecture August 26, 2021 at https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust26.mp4?vrtx=view-as-webpage
+- Video of Lecture August 25, 2022 at
- Lecture Friday: Basics of Linear Regression
-- Video of Lecture August 27, 2021 at https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust27.mp4?vrtx=view-as-webpage
+- Video of Lecture August 26, 2022 at
- Reading recommendations:
- Refresh linear algebra, GBC chapters 1 and 2.
@@ -35,12 +35,12 @@ For the reading assignments we use the following abbreviations:
- HTF chapters 2 and 3.
- See lecture notes for week 34 at https://compphysics.github.io/MachineLearning/doc/web/course.html
-### Week 35 August 30-September 3
+### Week 35 August 29-September 2
- Lab Wednesday: Work on exercises 1-3 for week 35
- Thursday: Review of ordinary Least Squares with applications and discussion of Ridge Regression and Singular Value Decomposition
-- Video of lecture Thursday at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureSeptember2.mp4?vrtx=view-as-webpage.
+- Video of lecture Thursday at
- Friday: Analysis of Ridge and Lasso Regression and links with Singular Value Decomposition
-- Video of lecture Friday at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureSeptember3.mp4?vrtx=view-as-webpage
+- Video of lecture Friday at
- Reading recommendations:
- See lecture notes for week 35 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
@@ -48,26 +48,25 @@ For the reading assignments we use the following abbreviations:
- CMB sections 1.1 and 3.1
-### Week 36 September 6-10
+### Week 36 September 5-9
- Lab Wednesday: Exercises 1 and 2 from week 36
- Lecture Thursday: Summary from last week on SVD, Statistics, probability theory and linear regression
-- Video of Lecture https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureSeptember9.mp4?vrtx=view-as-webpage
+- Video of Lecture
- Friday: Linear Regression and links with Statistics, Resampling methods and presentation of first project.
-- Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureSeptember10.mp4?vrtx=view-as-webpage
+- Video of Lecture
- Reading recommendations:
- Lectures on Regression for week 36 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
- Bishop 1.1, 1.2, 2.1, 2.2, 2.3 and 3.1
- Hastie et al chapter 3
-### Week 37 September 13-17
+### Week 37 September 12-16
- Lab Wednesday: Work on Project 1
- Lecture Thursday: Resampling methods, cross-validation and Bootstrap
- - Thursday September 16: Summary of Ridge and Lasso with examples and start resampling techniques
- - Video of Lecture, first part at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureSeptember16Firstpart.mp4?vrtx=view-as-webpage"
- - Video of Lecture, second part at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureSeptember16SecondPart.mp4?vrtx=view-as-webpage
+ - Thursday September: Summary of Ridge and Lasso with examples and start resampling techniques
+ - Video of Lecture
- Lecture Friday: More on Resampling methods and summary of linear regression
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureSeptember17.mp4?vrtx=view-as-webpage
+ - Video of Lecture
- Reading recommendations:
- Lectures on Resampling methods for week 37 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
- Bishop 1.3 (cross-validation) and 3.2 (bias-variance tradeoff)
@@ -75,42 +74,42 @@ For the reading assignments we use the following abbreviations:
- Goodfellow et al discuss some of these topics in sections 5.2-5.5.
-### Week 38 September 20-24
+### Week 38 September 19-23
- Lab Wednesday: Work on Project 1
- Lecture Thursday: Classification problems and Logistic Regression, from binary cases to several categories
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureSeptember23.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Lecture Friday: Logistic Regression and gradient optimization
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureSeptember24.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Reading recommendations:
- See lecture notes for week 38 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
- Bishop 4.1, 4.2 and 4.3. Not all the material is relevant or will be covered. Section 4.3 is the most relevant, but 4.1 and 4.2 give interesting background readings for logistic regression
- Hastie et al 4.1, 4.2 and 4.3 on logistic regression
- For a good discussion on gradient methods, see Goodfellow et al section 4.3-4.5 and chapter 8. We will come back to the latter chapter in our discussion of Neural networks as well.
-### Week 39 September 27- October 1
+### Week 39 September 26-30
- Lab Wednesday: Work on Project 1
- Lecture Thursday: Gradient Optimization methods
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureSeptember30.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Lecture Friday: Gradient methods
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureOctober1.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Reading recommendations:
- See lecture notes for week 39 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
- For a good discussion on gradient methods, see Goodfellow et al section 4.3-4.5 and chapter 8. We will come back to the latter chapter in our discussion of Neural networks as well.
-### Week 40 October 4-8
+### Week 40 October 3-7
- Lab Wednesday: Wrap up project 1
- Lecture Thursday: Stochastic gradient descent, automatic differentiation and start discussion of feed-forward Neural Network code for regression and classification
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureOctober7.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Lecture Friday: Deep Learning and Neural Networks: the back propagation algorithm
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureOctober8.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Reading recommendations:
- See lecture notes for week 40 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
- For neural networks we recommend Goodfellow et al chapters 6 and 7 and Bishop 5.1-5.4
- For stochastic gradient descent we recommend Goodfellow et al chapter 8
-### Week 41 October 11-15
+### Week 41 October 10-14
- Lab Wednesday: Work on project 2
- Lecture Thursday: Deep learning and Neural Networks, developing a code for Neural Networks
- Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureOctober14.mp4?vrtx=view-as-webpage
@@ -121,61 +120,61 @@ For the reading assignments we use the following abbreviations:
- For neural networks we recommend Goodfellow et al chapters 6 and 7. For CNNs, see Goodfellow et al chapter 9. chapter 11 and 12 on practicalities and applications
-### Week 42 October 18-22
+### Week 42 October 17-21
- Lab Wednesday: Work on project 2
- Lecture Thursday: Solving differential equations with neural networks and start Convolutional Neural Networks and classification problems
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureOctober21.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Lecture Friday: Convolutional Neural Networks and classification problems
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureOctober22.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Reading recommendations:
- See lecture notes for week 42 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
- For neural networks we recommend Goodfellow et al chapters 6 and 7. For CNNs, see Goodfellow et al chapter 9. See also chapter 11 and 12 on practicalities and applications
-### Week 43 October 25-29
+### Week 43 October 24-28
- Lab Wednesday: Work on project 2
- Lecture Thursday: Recurrent Neural Networks
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureOctober28.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Lecture Friday: Recurrent Neural Networks and time series and principal component analysis (PCA)
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureOctober29.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Reading recommendations:
- See lecture notes for week 43 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
- For RNNs, see Goodfellow et al chapter 10 and discussions in chapter 11 and 12 on practicalities and applications
- For PCA, see lecture notes chapter 11 and Geron's text chapter 8
-### Week 44 November 1-5
+### Week 44 October 31-November 4
- Lab Wednesday: Work on project 2
- Lecture Thursday: Summary on PCA and discussion of Clustering for unsupervised learning. Decision trees, classification and regression
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember4.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Lecture Friday: Decision trees, basic algorithms
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember5.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Reading recommendations:
- See lecture notes for week 44 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
- Hastie et al sections 9.1 and 9.2. Geron's text chapter 6 (Decision trees) and chapter 8 on PCA and Clustering
-### Week 45 November 8-12
-- Lab Wednesday: Work on project 2, project 3 available. Deadline project 2 is November 15.
+### Week 45 November 7-11
+- Lab Wednesday: Work on project 2, project 3 available.
- Lecture Thursday: Ensemble methods, bagging and random forests
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember11.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Lecture Friday: Boosting and gradient boosting
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember12.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Reading recommendations:
- See lecture notes for week 45 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
- Hastie et al chapter 10
-### Week 46 November 15-19
+### Week 46 November 14-18
- Lab Wednesday: Work on project 3
- Lecture Thursday: Support Vector machines
- Lecture Friday: Workshop on project 3
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureNovember19.mp4?vrtx=view-as-webpage
+ - Video of Lecture at
- Reading recommendations:
- See lecture notes for week 46 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
- Hastie et al chapter 12
-### Week 47 November 22-26
+### Week 47 November 21-25
- Lab Wednesday: Work on project 3
- Lecture Thursday: Support Vector Machines
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureNovember25.mp4?vrtx=view-as-webpage
+ - Video of Lecture
- Lecture Friday: Support Vector Machines and Summary of course
- - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember26.mp4?vrtx=view-as-webpage
+ - Video of Lecture
- Reading recommendations:
- See lecture notes for week 47 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
- Geron's chapter 5.
diff --git a/doc/LectureNotes/_build/html/_sources/teachers.md b/doc/LectureNotes/_build/html/_sources/teachers.md
index a1bb4f199..1a65c3772 100644
--- a/doc/LectureNotes/_build/html/_sources/teachers.md
+++ b/doc/LectureNotes/_build/html/_sources/teachers.md
@@ -9,13 +9,13 @@
* _Office hours_: *Anytime*! Feel free to send an email for planning. Both in person meetings or digital meetings are possible.
## Teaching Assistants Fall semester 2021
-* Øyvind Sigmundson Schøyen, oyvinssc@student.matnat.uio.no
-* Stian Bilek, stian.bilek@fys.uio.no
-* Linus Ekstrøm, linueks@gmail.com, linus.ekstrom@fys.uio.no
-* Nicholas Karlsen, nicholaskarlsen1102@gmail.com, nicholas.karlsen@fys.uio.no
-* Bendik Steinsvåg Dalen, b.s.dalen@fys.uio.no
-* Philip Karim Sørli Niane, p.k.s.niane@fys.uio.no
-
+* Bennosh Ashrafi, behnoosh.ashrafi@fys.uio.no
+* Frida Marie Engøy Westbye, f.m.e.westby@fys.uio.no
+* Ida Torkjellsdatter Storehaug, i.t.storehaug@fys.uio.no
+* Joao Guilherme Carvalho Inacio, joaogca@fys.uio.no
+* Sigurd Sørlie Rustad, s.s.rustad@fys.uio.no
+* Stian Dysthe Bilek stian.bilek@fys.uio.no
+* Øyvind Sigmundson Schøyen, oyvinssc@student.matnat.uio.no
## Grading
diff --git a/doc/LectureNotes/_build/html/_static/basic.css b/doc/LectureNotes/_build/html/_static/basic.css
index 10301e15e..18d05abeb 100644
--- a/doc/LectureNotes/_build/html/_static/basic.css
+++ b/doc/LectureNotes/_build/html/_static/basic.css
@@ -731,8 +731,9 @@ dl.glossary dt {
.classifier:before {
font-style: normal;
- margin: 0.5em;
+ margin: 0 0.5em;
content: ":";
+ display: inline-block;
}
abbr, acronym {
diff --git a/doc/LectureNotes/_build/html/_static/copy-button.svg b/doc/LectureNotes/_build/html/_static/copy-button.svg
index b888a20df..9c074dae5 100644
--- a/doc/LectureNotes/_build/html/_static/copy-button.svg
+++ b/doc/LectureNotes/_build/html/_static/copy-button.svg
@@ -1,5 +1,5 @@
-
+
-
-
+
+
diff --git a/doc/LectureNotes/_build/html/_static/copybutton.css b/doc/LectureNotes/_build/html/_static/copybutton.css
index 5d291490c..40eafe5fc 100644
--- a/doc/LectureNotes/_build/html/_static/copybutton.css
+++ b/doc/LectureNotes/_build/html/_static/copybutton.css
@@ -3,7 +3,7 @@ button.copybtn {
position: absolute;
display: flex;
top: .3em;
- right: .5em;
+ right: .3em;
width: 1.7em;
height: 1.7em;
opacity: 0;
@@ -13,17 +13,22 @@ button.copybtn {
border: none;
outline: none;
border-radius: 0.4em;
- border: #e1e1e1 1px solid;
- background-color: rgb(245, 245, 245);
+ /* The colors that GitHub uses */
+ border: #1b1f2426 1px solid;
+ background-color: #f6f8fa;
+ color: #57606a;
}
button.copybtn.success {
border-color: #22863a;
+ color: #22863a;
}
-button.copybtn img {
- width: 100%;
- padding: .2em;
+button.copybtn svg {
+ stroke: currentColor;
+ width: 1.5em;
+ height: 1.5em;
+ padding: 0.1em;
}
div.highlight {
@@ -79,3 +84,10 @@ div.highlight {
transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);
transition-delay: .5s;
}
+
+/* By default the copy button shouldn't show up when printing a page */
+@media print {
+ button.copybtn {
+ display: none;
+ }
+}
diff --git a/doc/LectureNotes/_build/html/_static/copybutton.js b/doc/LectureNotes/_build/html/_static/copybutton.js
index 482bda03c..40ac33108 100644
--- a/doc/LectureNotes/_build/html/_static/copybutton.js
+++ b/doc/LectureNotes/_build/html/_static/copybutton.js
@@ -35,6 +35,12 @@ const messages = {
'copy_to_clipboard': '复制到剪贴板',
'copy_success': '复制成功!',
'copy_failure': '复制失败',
+ },
+ 'it' : {
+ 'copy': 'Copiare',
+ 'copy_to_clipboard': 'Copiato negli appunti',
+ 'copy_success': 'Copiato!',
+ 'copy_failure': 'Errore durante la copia',
}
}
@@ -49,7 +55,25 @@ if (doc_url_root == '#') {
doc_url_root = '';
}
-const path_static = `${doc_url_root}_static/`;
+/**
+ * SVG files for our copy buttons
+ */
+let iconCheck = `
+ ${messages[locale]['copy_success']}
+
+
+ `
+
+// If the user specified their own SVG use that, otherwise use the default
+let iconCopy = ``;
+if (!iconCopy) {
+ iconCopy = `
+ ${messages[locale]['copy_to_clipboard']}
+
+
+
+ `
+}
/**
* Set up copy/paste for code blocks
@@ -88,9 +112,8 @@ const temporarilyChangeTooltip = (el, oldText, newText) => {
// Changes the copy button icon for two seconds, then changes it back
const temporarilyChangeIcon = (el) => {
- img = el.querySelector("img");
- img.setAttribute('src', `${path_static}check-solid.svg`)
- setTimeout(() => img.setAttribute('src', `${path_static}copy-button.svg`), 2000)
+ el.innerHTML = iconCheck;
+ setTimeout(() => {el.innerHTML = iconCopy}, 2000)
}
const addCopyButtonToCodeCells = () => {
@@ -109,7 +132,7 @@ const addCopyButtonToCodeCells = () => {
const clipboardButton = id =>
`
-
+ ${iconCopy}
`
codeCell.insertAdjacentHTML('afterend', clipboardButton(id))
})
diff --git a/doc/LectureNotes/_build/html/_static/css/blank.css b/doc/LectureNotes/_build/html/_static/css/blank.css
new file mode 100644
index 000000000..8a686ec75
--- /dev/null
+++ b/doc/LectureNotes/_build/html/_static/css/blank.css
@@ -0,0 +1,2 @@
+/* This file is intentionally left blank to override the stylesheet of the
+parent theme via theme.conf. The parent style we import directly in theme.css */
\ No newline at end of file
diff --git a/doc/LectureNotes/_build/html/_static/css/index.ff1ffe594081f20da1ef19478df9384b.css b/doc/LectureNotes/_build/html/_static/css/index.ff1ffe594081f20da1ef19478df9384b.css
new file mode 100644
index 000000000..9b1c5d792
--- /dev/null
+++ b/doc/LectureNotes/_build/html/_static/css/index.ff1ffe594081f20da1ef19478df9384b.css
@@ -0,0 +1,6 @@
+/*!
+ * Bootstrap v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:540px;--breakpoint-md:720px;--breakpoint-lg:960px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;line-height:1.5;color:#212529;text-align:left}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;background-color:transparent}a:hover{color:#0056b3}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer:before{content:"\2014\00A0"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:540px){.container{max-width:540px}}@media (min-width:720px){.container{max-width:720px}}@media (min-width:960px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1400px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:540px){.container,.container-sm{max-width:540px}}@media (min-width:720px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:960px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1400px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width:540px){.col-sm{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:720px){.col-md{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:960px){.col-lg{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media (max-width:539.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:719.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:959.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;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::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' 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(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' 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") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' 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(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' 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") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:540px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{display:flex;align-items:center;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;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;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success.focus,.btn-success:focus,.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info.focus,.btn-info:focus,.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light.focus,.btn-light:focus,.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{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 transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 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-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:540px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:720px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:960px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{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 transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#fff;border:1px solid #adb5bd}.custom-control-label:after,.custom-control-label:before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:""}.custom-control-label:after{background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .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){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + .75rem + 2px)}.custom-file-input{z-index:2;margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.5em + .75rem + 2px);font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;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}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;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}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;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}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{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{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;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;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat 50%;background-size:100% 100%}@media (max-width:539.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:540px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{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>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:719.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:720px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{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>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:959.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:960px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{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>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{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>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{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>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(0,0,0,0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255,255,255,0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;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(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;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(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;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(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:540px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:540px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{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-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{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-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:540px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb,.breadcrumb-item{display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;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}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.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:.875rem;line-height:1.5}.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:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;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){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:540px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:1rem;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{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:.75rem 1.25rem;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:#007bff;border-color:#007bff}.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}.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:540px){.list-group-horizontal-sm{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:720px){.list-group-horizontal-md{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:960px){.list-group-horizontal-lg{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}.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}}.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-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-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{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:flex;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:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:540px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media (min-width:960px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;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:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;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{top:0;left:0;z-index:1060;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;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:.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}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{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;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid;border-right:.25em solid transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.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:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.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}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!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}@media (min-width:540px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!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}}@media (min-width:720px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!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}}@media (min-width:960px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!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}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!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}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!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}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.85714%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.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-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!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}.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}.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}@media (min-width:540px){.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-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!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}.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}.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}}@media (min-width:720px){.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-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!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}.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}.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}}@media (min-width:960px){.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-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!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}.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}.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}}@media (min-width:1200px){.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-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!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}.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}.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}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:540px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:720px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:960px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{user-select:all!important}.user-select-auto{user-select:auto!important}.user-select-none{user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!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}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!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}.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}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:540px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:720px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:960px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:transparent}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:540px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:720px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:960px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:960px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}html{font-size:var(--pst-font-size-base);scroll-padding-top:calc(var(--pst-header-height) + 12px)}body{padding-top:calc(var(--pst-header-height) + 20px);background-color:#fff;font-family:var(--pst-font-family-base);font-weight:400;line-height:1.65;color:rgba(var(--pst-color-text-base),1)}p{margin-bottom:1.15rem;font-size:1em;color:rgba(var(--pst-color-paragraph),1)}p.rubric{border-bottom:1px solid #c9c9c9}a{color:rgba(var(--pst-color-link),1);text-decoration:none}a:hover{color:rgba(var(--pst-color-link-hover),1);text-decoration:underline}a.headerlink{color:rgba(var(--pst-color-headerlink),1);font-size:.8em;padding:0 4px;text-decoration:none}a.headerlink:hover{background-color:rgba(var(--pst-color-headerlink),1);color:rgba(var(--pst-color-headerlink-hover),1)}.heading-style,h1,h2,h3,h4,h5,h6{margin:2.75rem 0 1.05rem;font-family:var(--pst-font-family-heading);font-weight:400;line-height:1.15}h1{margin-top:0;font-size:var(--pst-font-size-h1);color:rgba(var(--pst-color-h1),1)}h2{font-size:var(--pst-font-size-h2);color:rgba(var(--pst-color-h2),1)}h3{font-size:var(--pst-font-size-h3);color:rgba(var(--pst-color-h3),1)}h4{font-size:var(--pst-font-size-h4);color:rgba(var(--pst-color-h4),1)}h5{font-size:var(--pst-font-size-h5);color:rgba(var(--pst-color-h5),1)}h6{font-size:var(--pst-font-size-h6);color:rgba(var(--pst-color-h6),1)}.text_small,small{font-size:var(--pst-font-size-milli)}hr{border:0;border-top:1px solid #e5e5e5}code,kbd,pre,samp{font-family:var(--pst-font-family-monospace)}code{color:rgba(var(--pst-color-inline-code),1)}pre{margin:1.5em 0;padding:10px;background-color:rgba(var(--pst-color-preformatted-background),1);color:rgba(var(--pst-color-preformatted-text),1);line-height:1.2em;border:1px solid #c9c9c9;border-radius:.2rem;box-shadow:1px 1px 1px #d8d8d8}dd{margin-top:3px;margin-bottom:10px;margin-left:30px}.navbar{position:fixed;min-height:var(--pst-header-height);width:100%;padding:0}.navbar .container-xl{height:100%}@media (min-width:960px){.navbar #navbar-end>.navbar-end-item{display:inline-block}}.navbar-brand{position:relative;height:var(--pst-header-height);width:auto;padding:.5rem 0}.navbar-brand img{max-width:100%;height:100%;width:auto}.navbar-light{background:#fff!important;box-shadow:0 .125rem .25rem 0 rgba(0,0,0,.11)}.navbar-light .navbar-nav li a.nav-link{padding:0 .5rem;color:rgba(var(--pst-color-navbar-link),1)}.navbar-light .navbar-nav li a.nav-link:hover{color:rgba(var(--pst-color-navbar-link-hover),1)}.navbar-light .navbar-nav>.active>.nav-link{font-weight:600;color:rgba(var(--pst-color-navbar-link-active),1)}.navbar-header a{padding:0 15px}.admonition,div.admonition{margin:1.5625em auto;padding:0 .6rem .8rem;overflow:hidden;page-break-inside:avoid;border-left:.2rem solid;border-left-color:rgba(var(--pst-color-admonition-default),1);border-bottom-color:rgba(var(--pst-color-admonition-default),1);border-right-color:rgba(var(--pst-color-admonition-default),1);border-top-color:rgba(var(--pst-color-admonition-default),1);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);transition:color .25s,background-color .25s,border-color .25s}.admonition :last-child,div.admonition :last-child{margin-bottom:0}.admonition p.admonition-title~*,div.admonition p.admonition-title~*{padding:0 1.4rem}.admonition>ol,.admonition>ul,div.admonition>ol,div.admonition>ul{margin-left:1em}.admonition>.admonition-title,div.admonition>.admonition-title{position:relative;margin:0 -.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(var(--pst-color-admonition-default),.1)}.admonition>.admonition-title:before,div.admonition>.admonition-title:before{position:absolute;left:.6rem;width:1rem;height:1rem;color:rgba(var(--pst-color-admonition-default),1);font-family:Font Awesome\ 5 Free;font-weight:900;content:var(--pst-icon-admonition-default)}.admonition>.admonition-title+*,div.admonition>.admonition-title+*{margin-top:.4em}.admonition.attention,div.admonition.attention{border-color:rgba(var(--pst-color-admonition-attention),1)}.admonition.attention>.admonition-title,div.admonition.attention>.admonition-title{background-color:rgba(var(--pst-color-admonition-attention),.1)}.admonition.attention>.admonition-title:before,div.admonition.attention>.admonition-title:before{color:rgba(var(--pst-color-admonition-attention),1);content:var(--pst-icon-admonition-attention)}.admonition.caution,div.admonition.caution{border-color:rgba(var(--pst-color-admonition-caution),1)}.admonition.caution>.admonition-title,div.admonition.caution>.admonition-title{background-color:rgba(var(--pst-color-admonition-caution),.1)}.admonition.caution>.admonition-title:before,div.admonition.caution>.admonition-title:before{color:rgba(var(--pst-color-admonition-caution),1);content:var(--pst-icon-admonition-caution)}.admonition.warning,div.admonition.warning{border-color:rgba(var(--pst-color-admonition-warning),1)}.admonition.warning>.admonition-title,div.admonition.warning>.admonition-title{background-color:rgba(var(--pst-color-admonition-warning),.1)}.admonition.warning>.admonition-title:before,div.admonition.warning>.admonition-title:before{color:rgba(var(--pst-color-admonition-warning),1);content:var(--pst-icon-admonition-warning)}.admonition.danger,div.admonition.danger{border-color:rgba(var(--pst-color-admonition-danger),1)}.admonition.danger>.admonition-title,div.admonition.danger>.admonition-title{background-color:rgba(var(--pst-color-admonition-danger),.1)}.admonition.danger>.admonition-title:before,div.admonition.danger>.admonition-title:before{color:rgba(var(--pst-color-admonition-danger),1);content:var(--pst-icon-admonition-danger)}.admonition.error,div.admonition.error{border-color:rgba(var(--pst-color-admonition-error),1)}.admonition.error>.admonition-title,div.admonition.error>.admonition-title{background-color:rgba(var(--pst-color-admonition-error),.1)}.admonition.error>.admonition-title:before,div.admonition.error>.admonition-title:before{color:rgba(var(--pst-color-admonition-error),1);content:var(--pst-icon-admonition-error)}.admonition.hint,div.admonition.hint{border-color:rgba(var(--pst-color-admonition-hint),1)}.admonition.hint>.admonition-title,div.admonition.hint>.admonition-title{background-color:rgba(var(--pst-color-admonition-hint),.1)}.admonition.hint>.admonition-title:before,div.admonition.hint>.admonition-title:before{color:rgba(var(--pst-color-admonition-hint),1);content:var(--pst-icon-admonition-hint)}.admonition.tip,div.admonition.tip{border-color:rgba(var(--pst-color-admonition-tip),1)}.admonition.tip>.admonition-title,div.admonition.tip>.admonition-title{background-color:rgba(var(--pst-color-admonition-tip),.1)}.admonition.tip>.admonition-title:before,div.admonition.tip>.admonition-title:before{color:rgba(var(--pst-color-admonition-tip),1);content:var(--pst-icon-admonition-tip)}.admonition.important,div.admonition.important{border-color:rgba(var(--pst-color-admonition-important),1)}.admonition.important>.admonition-title,div.admonition.important>.admonition-title{background-color:rgba(var(--pst-color-admonition-important),.1)}.admonition.important>.admonition-title:before,div.admonition.important>.admonition-title:before{color:rgba(var(--pst-color-admonition-important),1);content:var(--pst-icon-admonition-important)}.admonition.note,div.admonition.note{border-color:rgba(var(--pst-color-admonition-note),1)}.admonition.note>.admonition-title,div.admonition.note>.admonition-title{background-color:rgba(var(--pst-color-admonition-note),.1)}.admonition.note>.admonition-title:before,div.admonition.note>.admonition-title:before{color:rgba(var(--pst-color-admonition-note),1);content:var(--pst-icon-admonition-note)}table.field-list{border-collapse:separate;border-spacing:10px;margin-left:1px}table.field-list th.field-name{padding:1px 8px 1px 5px;white-space:nowrap;background-color:#eee}table.field-list td.field-body p{font-style:italic}table.field-list td.field-body p>strong{font-style:normal}table.field-list td.field-body blockquote{border-left:none;margin:0 0 .3em;padding-left:30px}.table.autosummary td:first-child{white-space:nowrap}.sig{font-family:var(--pst-font-family-monospace)}.sig-inline.c-texpr,.sig-inline.cpp-texpr{font-family:unset}.sig.c .k,.sig.c .kt,.sig.c .m,.sig.c .s,.sig.c .sc,.sig.cpp .k,.sig.cpp .kt,.sig.cpp .m,.sig.cpp .s,.sig.cpp .sc{color:rgba(var(--pst-color-text-base),1)}.sig-name{color:rgba(var(--pst-color-inline-code),1)}blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5}dt.label>span.brackets:not(:only-child):before{content:"["}dt.label>span.brackets:not(:only-child):after{content:"]"}a.footnote-reference{vertical-align:super;font-size:small}div.deprecated{margin-bottom:10px;margin-top:10px;padding:7px;background-color:#f3e5e5;border:1px solid #eed3d7;border-radius:.5rem}div.deprecated p{color:#b94a48;display:inline}.topic{background-color:#eee}.seealso dd{margin-top:0;margin-bottom:0}.viewcode-back{font-family:var(--pst-font-family-base)}.viewcode-block:target{background-color:#f4debf;border-top:1px solid #ac9;border-bottom:1px solid #ac9}span.guilabel{border:1px solid #7fbbe3;background:#e7f2fa;font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}footer{width:100%;border-top:1px solid #ccc;padding:10px}footer .footer-item p{margin-bottom:0}.bd-search{position:relative;padding:1rem 15px;margin-right:-15px;margin-left:-15px}.bd-search .icon{position:absolute;color:#a4a6a7;left:25px;top:25px}.bd-search input{border-radius:0;border:0;border-bottom:1px solid #e5e5e5;padding-left:35px}.bd-toc{-ms-flex-order:2;order:2;height:calc(100vh - 2rem);overflow-y:auto}@supports (position:-webkit-sticky) or (position:sticky){.bd-toc{position:-webkit-sticky;position:sticky;top:calc(var(--pst-header-height) + 20px);height:calc(100vh - 5rem);overflow-y:auto}}.bd-toc .onthispage{color:#a4a6a7}.section-nav{padding-left:0;border-left:1px solid #eee;border-bottom:none}.section-nav ul{padding-left:1rem}.toc-entry,.toc-entry a{display:block}.toc-entry a{padding:.125rem 1.5rem;color:rgba(var(--pst-color-toc-link),1)}@media (min-width:1200px){.toc-entry a{padding-right:0}}.toc-entry a:hover{color:rgba(var(--pst-color-toc-link-hover),1);text-decoration:none}.bd-sidebar{padding-top:1em}@media (min-width:720px){.bd-sidebar{border-right:1px solid rgba(0,0,0,.1)}@supports (position:-webkit-sticky) or (position:sticky){.bd-sidebar{position:-webkit-sticky;position:sticky;top:calc(var(--pst-header-height) + 20px);z-index:1000;height:calc(100vh - var(--pst-header-height) - 20px)}}}.bd-sidebar.no-sidebar{border-right:0}.bd-links{padding-top:1rem;padding-bottom:1rem;margin-right:-15px;margin-left:-15px}@media (min-width:720px){.bd-links{display:block}@supports (position:-webkit-sticky) or (position:sticky){.bd-links{max-height:calc(100vh - 11rem);overflow-y:auto}}}.bd-sidenav{display:none}.bd-content{padding-top:20px}.bd-content .section{max-width:100%}.bd-content .section table{display:block;overflow:auto}.bd-toc-link{display:block;padding:.25rem 1.5rem;font-weight:600;color:rgba(0,0,0,.65)}.bd-toc-link:hover{color:rgba(0,0,0,.85);text-decoration:none}.bd-toc-item.active{margin-bottom:1rem}.bd-toc-item.active:not(:first-child){margin-top:1rem}.bd-toc-item.active>.bd-toc-link{color:rgba(0,0,0,.85)}.bd-toc-item.active>.bd-toc-link:hover{background-color:transparent}.bd-toc-item.active>.bd-sidenav{display:block}nav.bd-links p.caption{font-size:var(--pst-sidebar-caption-font-size);text-transform:uppercase;font-weight:700;position:relative;margin-top:1.25em;margin-bottom:.5em;padding:0 1.5rem;color:rgba(var(--pst-color-sidebar-caption),1)}nav.bd-links p.caption:first-child{margin-top:0}.bd-sidebar .nav{font-size:var(--pst-sidebar-font-size)}.bd-sidebar .nav ul{list-style:none;padding:0 0 0 1.5rem}.bd-sidebar .nav li>a{display:block;padding:.25rem 1.5rem;color:rgba(var(--pst-color-sidebar-link),1)}.bd-sidebar .nav li>a:hover{color:rgba(var(--pst-color-sidebar-link-hover),1);text-decoration:none;background-color:transparent}.bd-sidebar .nav li>a.reference.external:after{font-family:Font Awesome\ 5 Free;font-weight:900;content:"\f35d";font-size:.75em;margin-left:.3em}.bd-sidebar .nav .active:hover>a,.bd-sidebar .nav .active>a{font-weight:600;color:rgba(var(--pst-color-sidebar-link-active),1)}.toc-h2{font-size:.85rem}.toc-h3{font-size:.75rem}.toc-h4{font-size:.65rem}.toc-entry>.nav-link.active{font-weight:600;color:#130654;color:rgba(var(--pst-color-toc-link-active),1);background-color:transparent;border-left:2px solid rgba(var(--pst-color-toc-link-active),1)}.nav-link:hover{border-style:none}#navbar-main-elements li.nav-item i{font-size:.7rem;padding-left:2px;vertical-align:middle}.bd-toc .nav .nav{display:none}.bd-toc .nav .nav.visible,.bd-toc .nav>.active>ul{display:block}.prev-next-area{margin:20px 0}.prev-next-area p{margin:0 .3em;line-height:1.3em}.prev-next-area i{font-size:1.2em}.prev-next-area a{display:flex;align-items:center;border:none;padding:10px;max-width:45%;overflow-x:hidden;color:rgba(0,0,0,.65);text-decoration:none}.prev-next-area a p.prev-next-title{color:rgba(var(--pst-color-link),1);font-weight:600;font-size:1.1em}.prev-next-area a:hover p.prev-next-title{text-decoration:underline}.prev-next-area a .prev-next-info{flex-direction:column;margin:0 .5em}.prev-next-area a .prev-next-info .prev-next-subtitle{text-transform:capitalize}.prev-next-area a.left-prev{float:left}.prev-next-area a.right-next{float:right}.prev-next-area a.right-next div.prev-next-info{text-align:right}.alert{padding-bottom:0}.alert-info a{color:#e83e8c}#navbar-icon-links i.fa,#navbar-icon-links i.fab,#navbar-icon-links i.far,#navbar-icon-links i.fas{vertical-align:middle;font-style:normal;font-size:1.5rem;line-height:1.25}#navbar-icon-links i.fa-github-square:before{color:#333}#navbar-icon-links i.fa-twitter-square:before{color:#55acee}#navbar-icon-links i.fa-gitlab:before{color:#548}#navbar-icon-links i.fa-bitbucket:before{color:#0052cc}.tocsection{border-left:1px solid #eee;padding:.3rem 1.5rem}.tocsection i{padding-right:.5rem}.editthispage{padding-top:2rem}.editthispage a{color:var(--pst-color-sidebar-link-active)}.xr-wrap[hidden]{display:block!important}.toctree-checkbox{position:absolute;display:none}.toctree-checkbox~ul{display:none}.toctree-checkbox~label i{transform:rotate(0deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label i{transform:rotate(180deg)}.bd-sidebar li{position:relative}.bd-sidebar label{position:absolute;top:0;right:0;height:30px;width:30px;cursor:pointer;display:flex;justify-content:center;align-items:center}.bd-sidebar label:hover{background:rgba(var(--pst-color-sidebar-expander-background-hover),1)}.bd-sidebar label i{display:inline-block;font-size:.75rem;text-align:center}.bd-sidebar label i:hover{color:rgba(var(--pst-color-sidebar-link-hover),1)}.bd-sidebar li.has-children>.reference{padding-right:30px}div.doctest>div.highlight span.gp,span.linenos,table.highlighttable td.linenos{user-select:none;-webkit-user-select:text;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.docutils.container{padding-left:unset;padding-right:unset}
\ No newline at end of file
diff --git a/doc/LectureNotes/_build/html/_static/css/theme.css b/doc/LectureNotes/_build/html/_static/css/theme.css
index 3f6e79dab..2e03fe372 100644
--- a/doc/LectureNotes/_build/html/_static/css/theme.css
+++ b/doc/LectureNotes/_build/html/_static/css/theme.css
@@ -1,3 +1,6 @@
+/* Provided by the Sphinx base theme template at build time */
+@import "../basic.css";
+
:root {
/*****************************************************************************
* Theme config
diff --git a/doc/LectureNotes/_build/html/_static/js/index.be7d3bbb2ef33a8344ce.js b/doc/LectureNotes/_build/html/_static/js/index.be7d3bbb2ef33a8344ce.js
new file mode 100644
index 000000000..b71f7fcc2
--- /dev/null
+++ b/doc/LectureNotes/_build/html/_static/js/index.be7d3bbb2ef33a8344ce.js
@@ -0,0 +1,32 @@
+!function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=2)}([function(t,e){t.exports=jQuery},function(t,e,n){"use strict";n.r(e),function(t){
+/**!
+ * @fileOverview Kickass library to create and place poppers near their reference elements.
+ * @version 1.16.1
+ * @license
+ * Copyright (c) 2016 Federico Zivolo and contributors
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+var n="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,i=function(){for(var t=["Edge","Trident","Firefox"],e=0;e=0)return 1;return 0}();var o=n&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),i))}};function r(t){return t&&"[object Function]"==={}.toString.call(t)}function s(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function a(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function l(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=s(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:l(a(t))}function c(t){return t&&t.referenceNode?t.referenceNode:t}var u=n&&!(!window.MSInputMethodContext||!document.documentMode),h=n&&/MSIE 10/.test(navigator.userAgent);function f(t){return 11===t?u:10===t?h:u||h}function d(t){if(!t)return document.documentElement;for(var e=f(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===s(n,"position")?d(n):n:t?t.ownerDocument.documentElement:document.documentElement}function p(t){return null!==t.parentNode?p(t.parentNode):t}function m(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s,a,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&d(s.firstElementChild)!==s?d(l):l;var c=p(t);return c.host?m(c.host,e):m(t,p(e).host)}function g(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function v(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=g(e,"top"),o=g(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function _(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+i+"Width"])}function b(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],f(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function y(t){var e=t.body,n=t.documentElement,i=f(10)&&getComputedStyle(n);return{height:b("Height",e,n,i),width:b("Width",e,n,i)}}var w=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},E=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=f(10),o="HTML"===e.nodeName,r=D(t),a=D(e),c=l(t),u=s(e),h=parseFloat(u.borderTopWidth),d=parseFloat(u.borderLeftWidth);n&&o&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var p=S({top:r.top-a.top-h,left:r.left-a.left-d,width:r.width,height:r.height});if(p.marginTop=0,p.marginLeft=0,!i&&o){var m=parseFloat(u.marginTop),g=parseFloat(u.marginLeft);p.top-=h-m,p.bottom-=h-m,p.left-=d-g,p.right-=d-g,p.marginTop=m,p.marginLeft=g}return(i&&!n?e.contains(c):e===c&&"BODY"!==c.nodeName)&&(p=v(p,e)),p}function k(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=N(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:g(n),a=e?0:g(n,"left"),l={top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r};return S(l)}function O(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===s(t,"position"))return!0;var n=a(t);return!!n&&O(n)}function A(t){if(!t||!t.parentElement||f())return document.documentElement;for(var e=t.parentElement;e&&"none"===s(e,"transform");)e=e.parentElement;return e||document.documentElement}function I(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?A(t):m(t,c(e));if("viewport"===i)r=k(s,o);else{var u=void 0;"scrollParent"===i?"BODY"===(u=l(a(e))).nodeName&&(u=t.ownerDocument.documentElement):u="window"===i?t.ownerDocument.documentElement:i;var h=N(u,s,o);if("HTML"!==u.nodeName||O(s))r=h;else{var f=y(t.ownerDocument),d=f.height,p=f.width;r.top+=h.top-h.marginTop,r.bottom=d+h.top,r.left+=h.left-h.marginLeft,r.right=p+h.left}}var g="number"==typeof(n=n||0);return r.left+=g?n:n.left||0,r.top+=g?n:n.top||0,r.right-=g?n:n.right||0,r.bottom-=g?n:n.bottom||0,r}function x(t){return t.width*t.height}function j(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=I(n,i,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map((function(t){return C({key:t},a[t],{area:x(a[t])})})).sort((function(t,e){return e.area-t.area})),c=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),u=c.length>0?c[0].key:l[0].key,h=t.split("-")[1];return u+(h?"-"+h:"")}function L(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?A(e):m(e,c(n));return N(n,o,i)}function P(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function F(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function R(t,e,n){n=n.split("-")[0];var i=P(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[F(a)],o}function M(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function B(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=M(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&r(n)&&(e.offsets.popper=S(e.offsets.popper),e.offsets.reference=S(e.offsets.reference),e=n(e,t))})),e}function H(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=j(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=R(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=B(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function q(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function Q(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=Z.indexOf(t),i=Z.slice(n+1).concat(Z.slice(0,n));return e?i.reverse():i}var et="flip",nt="clockwise",it="counterclockwise";function ot(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map((function(t){return t.trim()})),a=s.indexOf(M(s,(function(t){return-1!==t.search(/,|\s/)})));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map((function(t,i){var o=(1===i?!r:r)?"height":"width",s=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return S(a)[e]/100*r}if("vh"===s||"vw"===s){return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r}return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){X(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var rt={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",u={start:T({},l,r[l]),end:T({},l,r[l]+r[c]-s[c])};t.offsets.popper=C({},s,u[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=X(+n)?[+n,0]:ot(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||d(t.instance.popper);t.instance.reference===n&&(n=d(n));var i=Q("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[i];o.top="",o.left="",o[i]="";var l=I(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=s,o[i]=a,e.boundaries=l;var c=e.priority,u=t.offsets.popper,h={primary:function(t){var n=u[t];return u[t]l[t]&&!e.escapeWithReference&&(i=Math.min(u[n],l[t]-("right"===t?u.width:u.height))),T({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";u=C({},u,h[e](t))})),t.offsets.popper=u,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!G(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,a=r.popper,l=r.reference,c=-1!==["left","right"].indexOf(o),u=c?"height":"width",h=c?"Top":"Left",f=h.toLowerCase(),d=c?"left":"top",p=c?"bottom":"right",m=P(i)[u];l[p]-ma[p]&&(t.offsets.popper[f]+=l[f]+m-a[p]),t.offsets.popper=S(t.offsets.popper);var g=l[f]+l[u]/2-m/2,v=s(t.instance.popper),_=parseFloat(v["margin"+h]),b=parseFloat(v["border"+h+"Width"]),y=g-t.offsets.popper[f]-_-b;return y=Math.max(Math.min(a[u]-m,y),0),t.arrowElement=i,t.offsets.arrow=(T(n={},f,Math.round(y)),T(n,d,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(q(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=I(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=F(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case et:s=[i,o];break;case nt:s=tt(i);break;case it:s=tt(i,!0);break;default:s=e.behavior}return s.forEach((function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],o=F(i);var c=t.offsets.popper,u=t.offsets.reference,h=Math.floor,f="left"===i&&h(c.right)>h(u.left)||"right"===i&&h(c.left)h(u.top)||"bottom"===i&&h(c.top)h(n.right),m=h(c.top)h(n.bottom),v="left"===i&&d||"right"===i&&p||"top"===i&&m||"bottom"===i&&g,_=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(_&&"start"===r&&d||_&&"end"===r&&p||!_&&"start"===r&&m||!_&&"end"===r&&g),y=!!e.flipVariationsByContent&&(_&&"start"===r&&p||_&&"end"===r&&d||!_&&"start"===r&&g||!_&&"end"===r&&m),w=b||y;(f||v||w)&&(t.flipped=!0,(f||v)&&(i=s[l+1]),w&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=C({},t.offsets.popper,R(t.instance.popper,t.offsets.reference,t.placement)),t=B(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=F(e),t.offsets.popper=S(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!G(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=M(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};w(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=o(this.update.bind(this)),this.options=C({},t.Defaults,s),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(C({},t.Defaults.modifiers,s.modifiers)).forEach((function(e){i.options.modifiers[e]=C({},t.Defaults.modifiers[e]||{},s.modifiers?s.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return C({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&r(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var a=this.options.eventsEnabled;a&&this.enableEventListeners(),this.state.eventsEnabled=a}return E(t,[{key:"update",value:function(){return H.call(this)}},{key:"destroy",value:function(){return W.call(this)}},{key:"enableEventListeners",value:function(){return Y.call(this)}},{key:"disableEventListeners",value:function(){return z.call(this)}}]),t}();st.Utils=("undefined"!=typeof window?window:t).PopperUtils,st.placements=J,st.Defaults=rt,e.default=st}.call(this,n(4))},function(t,e,n){t.exports=n(5)},function(t,e,n){
+/*!
+ * Bootstrap v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+!function(t,e,n){"use strict";function i(t,e){for(var n=0;n=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};c.jQueryDetection(),e.fn.emulateTransitionEnd=l,e.event.special[c.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var u="alert",h=e.fn[u],f=function(){function t(t){this._element=t}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},n.dispose=function(){e.removeData(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){var n=c.getSelectorFromElement(t),i=!1;return n&&(i=document.querySelector(n)),i||(i=e(t).closest(".alert")[0]),i},n._triggerCloseEvent=function(t){var n=e.Event("close.bs.alert");return e(t).trigger(n),n},n._removeElement=function(t){var n=this;if(e(t).removeClass("show"),e(t).hasClass("fade")){var i=c.getTransitionDurationFromElement(t);e(t).one(c.TRANSITION_END,(function(e){return n._destroyElement(t,e)})).emulateTransitionEnd(i)}else this._destroyElement(t)},n._destroyElement=function(t){e(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.alert");o||(o=new t(this),i.data("bs.alert",o)),"close"===n&&o[n](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',f._handleDismiss(new f)),e.fn[u]=f._jQueryInterface,e.fn[u].Constructor=f,e.fn[u].noConflict=function(){return e.fn[u]=h,f._jQueryInterface};var d=e.fn.button,p=function(){function t(t){this._element=t}var n=t.prototype;return n.toggle=function(){var t=!0,n=!0,i=e(this._element).closest('[data-toggle="buttons"]')[0];if(i){var o=this._element.querySelector('input:not([type="hidden"])');if(o){if("radio"===o.type)if(o.checked&&this._element.classList.contains("active"))t=!1;else{var r=i.querySelector(".active");r&&e(r).removeClass("active")}t&&("checkbox"!==o.type&&"radio"!==o.type||(o.checked=!this._element.classList.contains("active")),e(o).trigger("change")),o.focus(),n=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(n&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&e(this._element).toggleClass("active"))},n.dispose=function(){e.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.button");i||(i=new t(this),e(this).data("bs.button",i)),"toggle"===n&&i[n]()}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var n=t.target,i=n;if(e(n).hasClass("btn")||(n=e(n).closest(".btn")[0]),!n||n.hasAttribute("disabled")||n.classList.contains("disabled"))t.preventDefault();else{var o=n.querySelector('input:not([type="hidden"])');if(o&&(o.hasAttribute("disabled")||o.classList.contains("disabled")))return void t.preventDefault();"LABEL"===i.tagName&&o&&"checkbox"===o.type&&t.preventDefault(),p._jQueryInterface.call(e(n),"toggle")}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var n=e(t.target).closest(".btn")[0];e(n).toggleClass("focus",/^focus(in)?$/.test(t.type))})),e(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var n=t.prototype;return n.next=function(){this._isSliding||this._slide("next")},n.nextWhenVisible=function(){!document.hidden&&e(this._element).is(":visible")&&"hidden"!==e(this._element).css("visibility")&&this.next()},n.prev=function(){this._isSliding||this._slide("prev")},n.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(c.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(t){var n=this;this._activeElement=this._element.querySelector(".active.carousel-item");var i=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)e(this._element).one("slid.bs.carousel",(function(){return n.to(t)}));else{if(i===t)return this.pause(),void this.cycle();var o=t>i?"next":"prev";this._slide(o,this._items[t])}},n.dispose=function(){e(this._element).off(g),e.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(t){return t=a(a({},_),t),c.typeCheckConfig(m,t,b),t},n._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},n._addEventListeners=function(){var t=this;this._config.keyboard&&e(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&e(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var n=function(e){t._pointerEvent&&y[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},i=function(e){t._pointerEvent&&y[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};e(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(e(this._element).on("pointerdown.bs.carousel",(function(t){return n(t)})),e(this._element).on("pointerup.bs.carousel",(function(t){return i(t)})),this._element.classList.add("pointer-event")):(e(this._element).on("touchstart.bs.carousel",(function(t){return n(t)})),e(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),e(this._element).on("touchend.bs.carousel",(function(t){return i(t)})))}},n._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},n._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},n._triggerSlideEvent=function(t,n){var i=this._getItemIndex(t),o=this._getItemIndex(this._element.querySelector(".active.carousel-item")),r=e.Event("slide.bs.carousel",{relatedTarget:t,direction:n,from:o,to:i});return e(this._element).trigger(r),r},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var n=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));e(n).removeClass("active");var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&e(i).addClass("active")}},n._slide=function(t,n){var i,o,r,s=this,a=this._element.querySelector(".active.carousel-item"),l=this._getItemIndex(a),u=n||a&&this._getItemByDirection(t,a),h=this._getItemIndex(u),f=Boolean(this._interval);if("next"===t?(i="carousel-item-left",o="carousel-item-next",r="left"):(i="carousel-item-right",o="carousel-item-prev",r="right"),u&&e(u).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(u,r).isDefaultPrevented()&&a&&u){this._isSliding=!0,f&&this.pause(),this._setActiveIndicatorElement(u);var d=e.Event("slid.bs.carousel",{relatedTarget:u,direction:r,from:l,to:h});if(e(this._element).hasClass("slide")){e(u).addClass(o),c.reflow(u),e(a).addClass(i),e(u).addClass(i);var p=parseInt(u.getAttribute("data-interval"),10);p?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=p):this._config.interval=this._config.defaultInterval||this._config.interval;var m=c.getTransitionDurationFromElement(a);e(a).one(c.TRANSITION_END,(function(){e(u).removeClass(i+" "+o).addClass("active"),e(a).removeClass("active "+o+" "+i),s._isSliding=!1,setTimeout((function(){return e(s._element).trigger(d)}),0)})).emulateTransitionEnd(m)}else e(a).removeClass("active"),e(u).addClass("active"),this._isSliding=!1,e(this._element).trigger(d);f&&this.cycle()}},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.carousel"),o=a(a({},_),e(this).data());"object"==typeof n&&(o=a(a({},o),n));var r="string"==typeof n?n:o.slide;if(i||(i=new t(this,o),e(this).data("bs.carousel",i)),"number"==typeof n)i.to(n);else if("string"==typeof r){if(void 0===i[r])throw new TypeError('No method named "'+r+'"');i[r]()}else o.interval&&o.ride&&(i.pause(),i.cycle())}))},t._dataApiClickHandler=function(n){var i=c.getSelectorFromElement(this);if(i){var o=e(i)[0];if(o&&e(o).hasClass("carousel")){var r=a(a({},e(o).data()),e(this).data()),s=this.getAttribute("data-slide-to");s&&(r.interval=!1),t._jQueryInterface.call(e(o),r),s&&e(o).data("bs.carousel").to(s),n.preventDefault()}}},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return _}}]),t}();e(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",w._dataApiClickHandler),e(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),n=0,i=t.length;n0&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var n=t.prototype;return n.toggle=function(){e(this._element).hasClass("show")?this.hide():this.show()},n.show=function(){var n,i,o=this;if(!(this._isTransitioning||e(this._element).hasClass("show")||(this._parent&&0===(n=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof o._config.parent?t.getAttribute("data-parent")===o._config.parent:t.classList.contains("collapse")}))).length&&(n=null),n&&(i=e(n).not(this._selector).data("bs.collapse"))&&i._isTransitioning))){var r=e.Event("show.bs.collapse");if(e(this._element).trigger(r),!r.isDefaultPrevented()){n&&(t._jQueryInterface.call(e(n).not(this._selector),"hide"),i||e(n).data("bs.collapse",null));var s=this._getDimension();e(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[s]=0,this._triggerArray.length&&e(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var a="scroll"+(s[0].toUpperCase()+s.slice(1)),l=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,(function(){e(o._element).removeClass("collapsing").addClass("collapse show"),o._element.style[s]="",o.setTransitioning(!1),e(o._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(l),this._element.style[s]=this._element[a]+"px"}}},n.hide=function(){var t=this;if(!this._isTransitioning&&e(this._element).hasClass("show")){var n=e.Event("hide.bs.collapse");if(e(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",c.reflow(this._element),e(this._element).addClass("collapsing").removeClass("collapse show");var o=this._triggerArray.length;if(o>0)for(var r=0;r0},i._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=a(a({},e.offsets),t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},i._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),a(a({},t),this._config.popperConfig)},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.dropdown");if(i||(i=new t(this,"object"==typeof n?n:null),e(this).data("bs.dropdown",i)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},t._clearMenus=function(n){if(!n||3!==n.which&&("keyup"!==n.type||9===n.which))for(var i=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),o=0,r=i.length;o0&&s--,40===n.which&&sdocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:M,popperConfig:null},K={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"},$=function(){function t(t,e){if(void 0===n)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var i=t.prototype;return i.enable=function(){this._isEnabled=!0},i.disable=function(){this._isEnabled=!1},i.toggleEnabled=function(){this._isEnabled=!this._isEnabled},i.toggle=function(t){if(this._isEnabled)if(t){var n=this.constructor.DATA_KEY,i=e(t.currentTarget).data(n);i||(i=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(e(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},i.dispose=function(){clearTimeout(this._timeout),e.removeData(this.element,this.constructor.DATA_KEY),e(this.element).off(this.constructor.EVENT_KEY),e(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&e(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},i.show=function(){var t=this;if("none"===e(this.element).css("display"))throw new Error("Please use show on visible elements");var i=e.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){e(this.element).trigger(i);var o=c.findShadowRoot(this.element),r=e.contains(null!==o?o:this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!r)return;var s=this.getTipElement(),a=c.getUID(this.constructor.NAME);s.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&e(s).addClass("fade");var l="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,u=this._getAttachment(l);this.addAttachmentClass(u);var h=this._getContainer();e(s).data(this.constructor.DATA_KEY,this),e.contains(this.element.ownerDocument.documentElement,this.tip)||e(s).appendTo(h),e(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,s,this._getPopperConfig(u)),e(s).addClass("show"),"ontouchstart"in document.documentElement&&e(document.body).children().on("mouseover",null,e.noop);var f=function(){t.config.animation&&t._fixTransition();var n=t._hoverState;t._hoverState=null,e(t.element).trigger(t.constructor.Event.SHOWN),"out"===n&&t._leave(null,t)};if(e(this.tip).hasClass("fade")){var d=c.getTransitionDurationFromElement(this.tip);e(this.tip).one(c.TRANSITION_END,f).emulateTransitionEnd(d)}else f()}},i.hide=function(t){var n=this,i=this.getTipElement(),o=e.Event(this.constructor.Event.HIDE),r=function(){"show"!==n._hoverState&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),e(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()};if(e(this.element).trigger(o),!o.isDefaultPrevented()){if(e(i).removeClass("show"),"ontouchstart"in document.documentElement&&e(document.body).children().off("mouseover",null,e.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,e(this.tip).hasClass("fade")){var s=c.getTransitionDurationFromElement(i);e(i).one(c.TRANSITION_END,r).emulateTransitionEnd(s)}else r();this._hoverState=""}},i.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},i.isWithContent=function(){return Boolean(this.getTitle())},i.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-tooltip-"+t)},i.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},i.setContent=function(){var t=this.getTipElement();this.setElementContent(e(t.querySelectorAll(".tooltip-inner")),this.getTitle()),e(t).removeClass("fade show")},i.setElementContent=function(t,n){"object"!=typeof n||!n.nodeType&&!n.jquery?this.config.html?(this.config.sanitize&&(n=q(n,this.config.whiteList,this.config.sanitizeFn)),t.html(n)):t.text(n):this.config.html?e(n).parent().is(t)||t.empty().append(n):t.text(e(n).text())},i.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},i._getPopperConfig=function(t){var e=this;return a(a({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),this.config.popperConfig)},i._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=a(a({},e.offsets),t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},i._getContainer=function(){return!1===this.config.container?document.body:c.isElement(this.config.container)?e(this.config.container):e(document).find(this.config.container)},i._getAttachment=function(t){return z[t.toUpperCase()]},i._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(n){if("click"===n)e(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==n){var i="hover"===n?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o="hover"===n?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;e(t.element).on(i,t.config.selector,(function(e){return t._enter(e)})).on(o,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},e(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=a(a({},this.config),{},{trigger:"manual",selector:""}):this._fixTitle()},i._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},i._enter=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e(n.getTipElement()).hasClass("show")||"show"===n._hoverState?n._hoverState="show":(clearTimeout(n._timeout),n._hoverState="show",n.config.delay&&n.config.delay.show?n._timeout=setTimeout((function(){"show"===n._hoverState&&n.show()}),n.config.delay.show):n.show())},i._leave=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState="out",n.config.delay&&n.config.delay.hide?n._timeout=setTimeout((function(){"out"===n._hoverState&&n.hide()}),n.config.delay.hide):n.hide())},i._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},i._getConfig=function(t){var n=e(this.element).data();return Object.keys(n).forEach((function(t){-1!==V.indexOf(t)&&delete n[t]})),"number"==typeof(t=a(a(a({},this.constructor.Default),n),"object"==typeof t&&t?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()),c.typeCheckConfig(Q,t,this.constructor.DefaultType),t.sanitize&&(t.template=q(t.template,t.whiteList,t.sanitizeFn)),t},i._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},i._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(U);null!==n&&n.length&&t.removeClass(n.join(""))},i._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},i._fixTransition=function(){var t=this.getTipElement(),n=this.config.animation;null===t.getAttribute("x-placement")&&(e(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.tooltip"),o="object"==typeof n&&n;if((i||!/dispose|hide/.test(n))&&(i||(i=new t(this,o),e(this).data("bs.tooltip",i)),"string"==typeof n)){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return X}},{key:"NAME",get:function(){return Q}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return K}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Y}}]),t}();e.fn[Q]=$._jQueryInterface,e.fn[Q].Constructor=$,e.fn[Q].noConflict=function(){return e.fn[Q]=W,$._jQueryInterface};var G="popover",J=e.fn[G],Z=new RegExp("(^|\\s)bs-popover\\S+","g"),tt=a(a({},$.Default),{},{placement:"right",trigger:"click",content:"",template:''}),et=a(a({},$.DefaultType),{},{content:"(string|element|function)"}),nt={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"},it=function(t){var n,i;function r(){return t.apply(this,arguments)||this}i=t,(n=r).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var s=r.prototype;return s.isWithContent=function(){return this.getTitle()||this._getContent()},s.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-popover-"+t)},s.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},s.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(t.find(".popover-body"),n),t.removeClass("fade show")},s._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},s._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(Z);null!==n&&n.length>0&&t.removeClass(n.join(""))},r._jQueryInterface=function(t){return this.each((function(){var n=e(this).data("bs.popover"),i="object"==typeof t?t:null;if((n||!/dispose|hide/.test(t))&&(n||(n=new r(this,i),e(this).data("bs.popover",n)),"string"==typeof t)){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},o(r,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return tt}},{key:"NAME",get:function(){return G}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return nt}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return et}}]),r}($);e.fn[G]=it._jQueryInterface,e.fn[G].Constructor=it,e.fn[G].noConflict=function(){return e.fn[G]=J,it._jQueryInterface};var ot="scrollspy",rt=e.fn[ot],st={offset:10,method:"auto",target:""},at={offset:"number",method:"string",target:"(string|element)"},lt=function(){function t(t,n){var i=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(n),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,e(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return i._process(t)})),this.refresh(),this._process()}var n=t.prototype;return n.refresh=function(){var t=this,n=this._scrollElement===this._scrollElement.window?"offset":"position",i="auto"===this._config.method?n:this._config.method,o="position"===i?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var n,r=c.getSelectorFromElement(t);if(r&&(n=document.querySelector(r)),n){var s=n.getBoundingClientRect();if(s.width||s.height)return[e(n)[i]().top+o,r]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},n.dispose=function(){e.removeData(this._element,"bs.scrollspy"),e(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(t){if("string"!=typeof(t=a(a({},st),"object"==typeof t&&t?t:{})).target&&c.isElement(t.target)){var n=e(t.target).attr("id");n||(n=c.getUID(ot),e(t.target).attr("id",n)),t.target="#"+n}return c.typeCheckConfig(ot,t,at),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;)this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t li > .active":".active";i=(i=e.makeArray(e(o).find(s)))[i.length-1]}var a=e.Event("hide.bs.tab",{relatedTarget:this._element}),l=e.Event("show.bs.tab",{relatedTarget:i});if(i&&e(i).trigger(a),e(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){r&&(n=document.querySelector(r)),this._activate(this._element,o);var u=function(){var n=e.Event("hidden.bs.tab",{relatedTarget:t._element}),o=e.Event("shown.bs.tab",{relatedTarget:i});e(i).trigger(n),e(t._element).trigger(o)};n?this._activate(n,n.parentNode,u):u()}}},n.dispose=function(){e.removeData(this._element,"bs.tab"),this._element=null},n._activate=function(t,n,i){var o=this,r=(!n||"UL"!==n.nodeName&&"OL"!==n.nodeName?e(n).children(".active"):e(n).find("> li > .active"))[0],s=i&&r&&e(r).hasClass("fade"),a=function(){return o._transitionComplete(t,r,i)};if(r&&s){var l=c.getTransitionDurationFromElement(r);e(r).removeClass("show").one(c.TRANSITION_END,a).emulateTransitionEnd(l)}else a()},n._transitionComplete=function(t,n,i){if(n){e(n).removeClass("active");var o=e(n.parentNode).find("> .dropdown-menu .active")[0];o&&e(o).removeClass("active"),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(e(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),c.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&e(t.parentNode).hasClass("dropdown-menu")){var r=e(t).closest(".dropdown")[0];if(r){var s=[].slice.call(r.querySelectorAll(".dropdown-toggle"));e(s).addClass("active")}t.setAttribute("aria-expanded",!0)}i&&i()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.tab");if(o||(o=new t(this),i.data("bs.tab",o)),"string"==typeof n){if(void 0===o[n])throw new TypeError('No method named "'+n+'"');o[n]()}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ut._jQueryInterface.call(e(this),"show")})),e.fn.tab=ut._jQueryInterface,e.fn.tab.Constructor=ut,e.fn.tab.noConflict=function(){return e.fn.tab=ct,ut._jQueryInterface};var ht=e.fn.toast,ft={animation:"boolean",autohide:"boolean",delay:"number"},dt={animation:!0,autohide:!0,delay:500},pt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var n=t.prototype;return n.show=function(){var t=this,n=e.Event("show.bs.toast");if(e(this._element).trigger(n),!n.isDefaultPrevented()){this._config.animation&&this._element.classList.add("fade");var i=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),e(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),c.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var o=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,i).emulateTransitionEnd(o)}else i()}},n.hide=function(){if(this._element.classList.contains("show")){var t=e.Event("hide.bs.toast");e(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),e(this._element).off("click.dismiss.bs.toast"),e.removeData(this._element,"bs.toast"),this._element=null,this._config=null},n._getConfig=function(t){return t=a(a(a({},dt),e(this._element).data()),"object"==typeof t&&t?t:{}),c.typeCheckConfig("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;e(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},n._close=function(){var t=this,n=function(){t._element.classList.add("hide"),e(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var i=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,n).emulateTransitionEnd(i)}else n()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.toast");if(o||(o=new t(this,"object"==typeof n&&n),i.data("bs.toast",o)),"string"==typeof n){if(void 0===o[n])throw new TypeError('No method named "'+n+'"');o[n](this)}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"DefaultType",get:function(){return ft}},{key:"Default",get:function(){return dt}}]),t}();e.fn.toast=pt._jQueryInterface,e.fn.toast.Constructor=pt,e.fn.toast.noConflict=function(){return e.fn.toast=ht,pt._jQueryInterface},t.Alert=f,t.Button=p,t.Carousel=w,t.Collapse=D,t.Dropdown=x,t.Modal=F,t.Popover=it,t.Scrollspy=lt,t.Tab=ut,t.Toast=pt,t.Tooltip=$,t.Util=c,Object.defineProperty(t,"__esModule",{value:!0})}(e,n(0),n(1))},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";n.r(e);n(0),n(3),n.p;$(document).ready(()=>{!function(){var t=document.getElementById("bd-docs-nav");let e=parseInt(sessionStorage.getItem("sidebar-scroll-top"),10);if(isNaN(e)){var n,i=t.querySelectorAll(".active"),o=0;for(n=i.length-1;n>0;n--){var r=i[n];void 0!==r&&(o+=r.offsetTop)}o-=t.offsetTop,void 0!==r&&o>.5*t.clientHeight&&(t.scrollTop=o-.2*t.clientHeight)}else t.scrollTop=e;window.addEventListener("beforeunload",()=>{sessionStorage.setItem("sidebar-scroll-top",t.scrollTop)})}(),$(window).on("activate.bs.scrollspy",(function(){document.querySelectorAll("#bd-toc-nav a").forEach(t=>{t.parentElement.classList.remove("active")}),document.querySelectorAll("#bd-toc-nav a.active").forEach(t=>{t.parentElement.classList.add("active")})}))})}]);
\ No newline at end of file
diff --git a/doc/LectureNotes/_build/html/_static/searchtools.js b/doc/LectureNotes/_build/html/_static/searchtools.js
index 58ff35c43..002e9c4a2 100644
--- a/doc/LectureNotes/_build/html/_static/searchtools.js
+++ b/doc/LectureNotes/_build/html/_static/searchtools.js
@@ -328,7 +328,9 @@ var Search = {
var results = [];
for (var prefix in objects) {
- for (var name in objects[prefix]) {
+ for (var iMatch = 0; iMatch != objects[prefix].length; ++iMatch) {
+ var match = objects[prefix][iMatch];
+ var name = match[4];
var fullname = (prefix ? prefix + '.' : '') + name;
var fullnameLower = fullname.toLowerCase()
if (fullnameLower.indexOf(object) > -1) {
@@ -342,7 +344,6 @@ var Search = {
} else if (parts[parts.length - 1].indexOf(object) > -1) {
score += Scorer.objPartialMatch;
}
- var match = objects[prefix][name];
var objname = objnames[match[1]][2];
var title = titles[match[0]];
// If more than one term searched for, we require other words to be
diff --git a/doc/LectureNotes/_build/html/_static/sphinx-book-theme.css b/doc/LectureNotes/_build/html/_static/sphinx-book-theme.css
index b836961a1..13c614980 100644
--- a/doc/LectureNotes/_build/html/_static/sphinx-book-theme.css
+++ b/doc/LectureNotes/_build/html/_static/sphinx-book-theme.css
@@ -2,4 +2,4 @@
* BSD 3-Clause License
* Copyright (c) 2020, EBP
* All rights reserved.
- */:root{--pst-font-size-base: none;--pst-color-primary: 87, 154, 202;--pst-color-admonition-note: var(--pst-color-primary);--pst-color-admonition-default: var(--pst-color-primary);--pst-color-info: 255, 193, 7;--pst-color-admonition-tip: var(--pst-color-info);--pst-color-admonition-hint: var(--pst-color-info);--pst-color-admonition-important: var(--pst-color-info);--pst-color-warning: 245, 162, 82;--pst-color-danger: 230, 101, 129;--pst-color-admonition-warning: var(--pst-color-danger);--pst-color-link: 0, 113, 188}body{padding-top:0px !important}body img{max-width:100%}code{font-size:87.5% !important}pre{border-radius:.4em}dt:target,span.highlighted{background-color:#fbe54e}main.bd-content{padding-top:3em !important;padding-bottom:0px !important}main.bd-content #main-content{padding-top:1.5em}main.bd-content #main-content a.headerlink{opacity:0;margin-left:.2em}main.bd-content #main-content a.headerlink:hover{background-color:transparent;color:rgba(var(--pst-color-link), 1);opacity:1 !important}main.bd-content #main-content a,main.bd-content #main-content a:visited{color:rgba(var(--pst-color-link), 1)}main.bd-content #main-content h1,main.bd-content #main-content h2,main.bd-content #main-content h3,main.bd-content #main-content h4,main.bd-content #main-content h5{color:black}main.bd-content #main-content h1:hover a.headerlink,main.bd-content #main-content h2:hover a.headerlink,main.bd-content #main-content h3:hover a.headerlink,main.bd-content #main-content h4:hover a.headerlink,main.bd-content #main-content h5:hover a.headerlink{opacity:.5}main.bd-content #main-content h1 a.toc-backref,main.bd-content #main-content h2 a.toc-backref,main.bd-content #main-content h3 a.toc-backref,main.bd-content #main-content h4 a.toc-backref,main.bd-content #main-content h5 a.toc-backref{color:inherit}main.bd-content #main-content>div>div>div.section,main.bd-content #main-content .prev-next-bottom{padding-right:1em}main.bd-content #main-content .prev-next-bottom{overflow:auto;margin-top:3em;margin-bottom:1em;padding:0}main.bd-content #main-content .prev-next-bottom .right-next,main.bd-content #main-content .prev-next-bottom .left-prev{border:none;display:flex;align-items:center}main.bd-content #main-content .prev-next-bottom .right-next .prevnext-info,main.bd-content #main-content .prev-next-bottom .left-prev .prevnext-info{flex-direction:column}main.bd-content #main-content .prev-next-bottom .right-next p,main.bd-content #main-content .prev-next-bottom .left-prev p{margin:0;line-height:1.3em}main.bd-content #main-content .prev-next-bottom .right-next .prevnext-label,main.bd-content #main-content .prev-next-bottom .left-prev .prevnext-label{color:#5a5a5a}main.bd-content #main-content .prev-next-bottom .right-next .prevnext-title,main.bd-content #main-content .prev-next-bottom .left-prev .prevnext-title{font-size:1.1em;color:rgba(var(--pst-color-link), 1);font-weight:500}main.bd-content #main-content .prev-next-bottom .right-next::after,main.bd-content #main-content .prev-next-bottom .left-prev::after{content:none}main.bd-content #main-content .prev-next-bottom .left-prev i{padding-right:.75rem}main.bd-content #main-content .prev-next-bottom .left-prev::before{content:none}main.bd-content #main-content .prev-next-bottom .right-next .prevnext-info{text-align:right}main.bd-content #main-content .prev-next-bottom .right-next i{padding-left:.75rem}main.bd-content #main-content div.section{overflow:visible !important}main.bd-content #main-content div.section ul p,main.bd-content #main-content div.section ol p{margin-bottom:0}main.bd-content #main-content span.eqno{position:absolute;right:.5em;top:50%;transform:translate(0, -50%);font-size:1.2em}main.bd-content #main-content div.math{overflow-x:auto;position:relative}main.bd-content #main-content p~div.math{margin-top:-1.15rem}main.bd-content #main-content img.align-center{margin-left:auto;margin-right:auto;display:block}main.bd-content #main-content img.align-left{clear:left;float:left;margin-right:1em}main.bd-content #main-content img.align-right{clear:right;float:right;margin-left:1em}main.bd-content #main-content div.figure{width:100%;margin-bottom:1em;text-align:center}main.bd-content #main-content div.figure.align-left{text-align:left}main.bd-content #main-content div.figure.align-left p.caption{margin-left:0}main.bd-content #main-content div.figure.align-right{text-align:right}main.bd-content #main-content div.figure.align-right p.caption{margin-right:0}main.bd-content #main-content div.figure p.caption{margin:.5em 10%}main.bd-content #main-content div.figure.margin p.caption,main.bd-content #main-content div.figure.margin-caption p.caption{margin:.5em 0}main.bd-content #main-content div.figure.margin-caption p.caption{text-align:left}main.bd-content #main-content div.figure span.caption-number{font-weight:bold}main.bd-content #main-content div.figure span{font-size:.9rem}main.bd-content #main-content div.contents{padding:1em}main.bd-content #main-content div.contents p.topic-title{font-size:1.5em;padding:.5em 0 0 1em}main.bd-content #main-content p.centered{text-align:center}main.bd-content #main-content div.sphinx-tabs>div.sphinx-menu{padding:0}main.bd-content #main-content div.sphinx-tabs>div.sphinx-menu>a.item{width:auto;margin:0px 0px -1px 0px}main.bd-content #main-content span.brackets:before,main.bd-content #main-content a.brackets:before{content:"["}main.bd-content #main-content span.brackets:after,main.bd-content #main-content a.brackets:after{content:"]"}main.bd-content #main-content .footnote-reference,main.bd-content #main-content a.bibtex.internal{font-size:1em}main.bd-content #main-content dl.simple dd,main.bd-content #main-content dl.field-list dd{margin-left:1.5em}main.bd-content #main-content dl.simple dd:not(:last-child),main.bd-content #main-content dl.field-list dd:not(:last-child){margin-bottom:0px}main.bd-content #main-content dl.simple dd:not(:last-child) p:last-child,main.bd-content #main-content dl.field-list dd:not(:last-child) p:last-child{margin-bottom:0px}main.bd-content #main-content dl.glossary dd{margin-left:1.5em}main.bd-content #main-content dl.footnote span.fn-backref{font-size:1em;padding-left:.1em}main.bd-content #main-content dl.footnote dd{font-size:.9em;margin-left:3em}main.bd-content #main-content dl.citation{margin-left:3em}main.bd-content #main-content dl.footnote dt.label{float:left}main.bd-content #main-content dl.footnote dd p{padding-left:1.5em}main.bd-content #main-content dl.module,main.bd-content #main-content dl.class,main.bd-content #main-content dl.exception,main.bd-content #main-content dl.function,main.bd-content #main-content dl.decorator,main.bd-content #main-content dl.data,main.bd-content #main-content dl.method,main.bd-content #main-content dl.attribute{margin-bottom:24px}main.bd-content #main-content dl.module dt,main.bd-content #main-content dl.class dt,main.bd-content #main-content dl.exception dt,main.bd-content #main-content dl.function dt,main.bd-content #main-content dl.decorator dt,main.bd-content #main-content dl.data dt,main.bd-content #main-content dl.method dt,main.bd-content #main-content dl.attribute dt{font-weight:bold}main.bd-content #main-content dl.module dt .headerlink,main.bd-content #main-content dl.class dt .headerlink,main.bd-content #main-content dl.exception dt .headerlink,main.bd-content #main-content dl.function dt .headerlink,main.bd-content #main-content dl.decorator dt .headerlink,main.bd-content #main-content dl.data dt .headerlink,main.bd-content #main-content dl.method dt .headerlink,main.bd-content #main-content dl.attribute dt .headerlink{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:inherit;visibility:hidden;font-size:14px}main.bd-content #main-content dl.module dt .headerlink:before,main.bd-content #main-content dl.class dt .headerlink:before,main.bd-content #main-content dl.exception dt .headerlink:before,main.bd-content #main-content dl.function dt .headerlink:before,main.bd-content #main-content dl.decorator dt .headerlink:before,main.bd-content #main-content dl.data dt .headerlink:before,main.bd-content #main-content dl.method dt .headerlink:before,main.bd-content #main-content dl.attribute dt .headerlink:before{-webkit-font-smoothing:antialiased;font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}main.bd-content #main-content dl.module dt .headerlink:after,main.bd-content #main-content dl.class dt .headerlink:after,main.bd-content #main-content dl.exception dt .headerlink:after,main.bd-content #main-content dl.function dt .headerlink:after,main.bd-content #main-content dl.decorator dt .headerlink:after,main.bd-content #main-content dl.data dt .headerlink:after,main.bd-content #main-content dl.method dt .headerlink:after,main.bd-content #main-content dl.attribute dt .headerlink:after{content:"";font-family:FontAwesome}main.bd-content #main-content dl.module dt .fa-pull-left.headerlink,main.bd-content #main-content dl.class dt .fa-pull-left.headerlink,main.bd-content #main-content dl.exception dt .fa-pull-left.headerlink,main.bd-content #main-content dl.function dt .fa-pull-left.headerlink,main.bd-content #main-content dl.decorator dt .fa-pull-left.headerlink,main.bd-content #main-content dl.data dt .fa-pull-left.headerlink,main.bd-content #main-content dl.method dt .fa-pull-left.headerlink,main.bd-content #main-content dl.attribute dt .fa-pull-left.headerlink{margin-right:.3em}main.bd-content #main-content dl.module dt .fa-pull-right.headerlink,main.bd-content #main-content dl.class dt .fa-pull-right.headerlink,main.bd-content #main-content dl.exception dt .fa-pull-right.headerlink,main.bd-content #main-content dl.function dt .fa-pull-right.headerlink,main.bd-content #main-content dl.decorator dt .fa-pull-right.headerlink,main.bd-content #main-content dl.data dt .fa-pull-right.headerlink,main.bd-content #main-content dl.method dt .fa-pull-right.headerlink,main.bd-content #main-content dl.attribute dt .fa-pull-right.headerlink{margin-left:.3em}main.bd-content #main-content dl.module dt .pull-left.headerlink,main.bd-content #main-content dl.class dt .pull-left.headerlink,main.bd-content #main-content dl.exception dt .pull-left.headerlink,main.bd-content #main-content dl.function dt .pull-left.headerlink,main.bd-content #main-content dl.decorator dt .pull-left.headerlink,main.bd-content #main-content dl.data dt .pull-left.headerlink,main.bd-content #main-content dl.method dt .pull-left.headerlink,main.bd-content #main-content dl.attribute dt .pull-left.headerlink{margin-right:.3em}main.bd-content #main-content dl.module dt .pull-right.headerlink,main.bd-content #main-content dl.class dt .pull-right.headerlink,main.bd-content #main-content dl.exception dt .pull-right.headerlink,main.bd-content #main-content dl.function dt .pull-right.headerlink,main.bd-content #main-content dl.decorator dt .pull-right.headerlink,main.bd-content #main-content dl.data dt .pull-right.headerlink,main.bd-content #main-content dl.method dt .pull-right.headerlink,main.bd-content #main-content dl.attribute dt .pull-right.headerlink{margin-left:.3em}main.bd-content #main-content dl.module dt a .headerlink,main.bd-content #main-content dl.class dt a .headerlink,main.bd-content #main-content dl.exception dt a .headerlink,main.bd-content #main-content dl.function dt a .headerlink,main.bd-content #main-content dl.decorator dt a .headerlink,main.bd-content #main-content dl.data dt a .headerlink,main.bd-content #main-content dl.method dt a .headerlink,main.bd-content #main-content dl.attribute dt a .headerlink{display:inline-block;text-decoration:inherit}main.bd-content #main-content dl.module dt .btn .headerlink,main.bd-content #main-content dl.class dt .btn .headerlink,main.bd-content #main-content dl.exception dt .btn .headerlink,main.bd-content #main-content dl.function dt .btn .headerlink,main.bd-content #main-content dl.decorator dt .btn .headerlink,main.bd-content #main-content dl.data dt .btn .headerlink,main.bd-content #main-content dl.method dt .btn .headerlink,main.bd-content #main-content dl.attribute dt .btn .headerlink{display:inline}main.bd-content #main-content dl.module dt .btn .fa-large.headerlink,main.bd-content #main-content dl.class dt .btn .fa-large.headerlink,main.bd-content #main-content dl.exception dt .btn .fa-large.headerlink,main.bd-content #main-content dl.function dt .btn .fa-large.headerlink,main.bd-content #main-content dl.decorator dt .btn .fa-large.headerlink,main.bd-content #main-content dl.data dt .btn .fa-large.headerlink,main.bd-content #main-content dl.method dt .btn .fa-large.headerlink,main.bd-content #main-content dl.attribute dt .btn .fa-large.headerlink{line-height:.9em}main.bd-content #main-content dl.module dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.class dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.exception dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.function dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.decorator dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.data dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.method dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.attribute dt .btn .fa-spin.headerlink{display:inline-block}main.bd-content #main-content dl.module dt .nav .headerlink,main.bd-content #main-content dl.class dt .nav .headerlink,main.bd-content #main-content dl.exception dt .nav .headerlink,main.bd-content #main-content dl.function dt .nav .headerlink,main.bd-content #main-content dl.decorator dt .nav .headerlink,main.bd-content #main-content dl.data dt .nav .headerlink,main.bd-content #main-content dl.method dt .nav .headerlink,main.bd-content #main-content dl.attribute dt .nav .headerlink{display:inline}main.bd-content #main-content dl.module dt .nav .fa-large.headerlink,main.bd-content #main-content dl.class dt .nav .fa-large.headerlink,main.bd-content #main-content dl.exception dt .nav .fa-large.headerlink,main.bd-content #main-content dl.function dt .nav .fa-large.headerlink,main.bd-content #main-content dl.decorator dt .nav .fa-large.headerlink,main.bd-content #main-content dl.data dt .nav .fa-large.headerlink,main.bd-content #main-content dl.method dt .nav .fa-large.headerlink,main.bd-content #main-content dl.attribute dt .nav .fa-large.headerlink{line-height:.9em}main.bd-content #main-content dl.module dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.class dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.exception dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.function dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.decorator dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.data dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.method dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.attribute dt .nav .fa-spin.headerlink{display:inline-block}main.bd-content #main-content dl.module dt .btn.headerlink:before,main.bd-content #main-content dl.class dt .btn.headerlink:before,main.bd-content #main-content dl.exception dt .btn.headerlink:before,main.bd-content #main-content dl.function dt .btn.headerlink:before,main.bd-content #main-content dl.decorator dt .btn.headerlink:before,main.bd-content #main-content dl.data dt .btn.headerlink:before,main.bd-content #main-content dl.method dt .btn.headerlink:before,main.bd-content #main-content dl.attribute dt .btn.headerlink:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}main.bd-content #main-content dl.module dt .btn.headerlink:hover:before,main.bd-content #main-content dl.class dt .btn.headerlink:hover:before,main.bd-content #main-content dl.exception dt .btn.headerlink:hover:before,main.bd-content #main-content dl.function dt .btn.headerlink:hover:before,main.bd-content #main-content dl.decorator dt .btn.headerlink:hover:before,main.bd-content #main-content dl.data dt .btn.headerlink:hover:before,main.bd-content #main-content dl.method dt .btn.headerlink:hover:before,main.bd-content #main-content dl.attribute dt .btn.headerlink:hover:before{opacity:1}main.bd-content #main-content dl.module dt .btn-mini .headerlink:before,main.bd-content #main-content dl.class dt .btn-mini .headerlink:before,main.bd-content #main-content dl.exception dt .btn-mini .headerlink:before,main.bd-content #main-content dl.function dt .btn-mini .headerlink:before,main.bd-content #main-content dl.decorator dt .btn-mini .headerlink:before,main.bd-content #main-content dl.data dt .btn-mini .headerlink:before,main.bd-content #main-content dl.method dt .btn-mini .headerlink:before,main.bd-content #main-content dl.attribute dt .btn-mini .headerlink:before{font-size:14px;vertical-align:-15%}main.bd-content #main-content dl.module dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.class dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.exception dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.function dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.decorator dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.data dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.method dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.attribute dt .rst-versions .rst-current-version .headerlink{color:#fcfcfc}main.bd-content #main-content dl.module dt:hover .headerlink:after,main.bd-content #main-content dl.class dt:hover .headerlink:after,main.bd-content #main-content dl.exception dt:hover .headerlink:after,main.bd-content #main-content dl.function dt:hover .headerlink:after,main.bd-content #main-content dl.decorator dt:hover .headerlink:after,main.bd-content #main-content dl.data dt:hover .headerlink:after,main.bd-content #main-content dl.method dt:hover .headerlink:after,main.bd-content #main-content dl.attribute dt:hover .headerlink:after{visibility:visible}main.bd-content #main-content dl.module p,main.bd-content #main-content dl.class p,main.bd-content #main-content dl.exception p,main.bd-content #main-content dl.function p,main.bd-content #main-content dl.decorator p,main.bd-content #main-content dl.data p,main.bd-content #main-content dl.method p,main.bd-content #main-content dl.attribute p{margin-bottom:12px !important}main.bd-content #main-content dl.module table,main.bd-content #main-content dl.class table,main.bd-content #main-content dl.exception table,main.bd-content #main-content dl.function table,main.bd-content #main-content dl.decorator table,main.bd-content #main-content dl.data table,main.bd-content #main-content dl.method table,main.bd-content #main-content dl.attribute table{margin-bottom:12px !important}main.bd-content #main-content dl.module ul,main.bd-content #main-content dl.class ul,main.bd-content #main-content dl.exception ul,main.bd-content #main-content dl.function ul,main.bd-content #main-content dl.decorator ul,main.bd-content #main-content dl.data ul,main.bd-content #main-content dl.method ul,main.bd-content #main-content dl.attribute ul{margin-bottom:12px !important}main.bd-content #main-content dl.module ol,main.bd-content #main-content dl.class ol,main.bd-content #main-content dl.exception ol,main.bd-content #main-content dl.function ol,main.bd-content #main-content dl.decorator ol,main.bd-content #main-content dl.data ol,main.bd-content #main-content dl.method ol,main.bd-content #main-content dl.attribute ol{margin-bottom:12px !important}main.bd-content #main-content dl.module dd,main.bd-content #main-content dl.class dd,main.bd-content #main-content dl.exception dd,main.bd-content #main-content dl.function dd,main.bd-content #main-content dl.decorator dd,main.bd-content #main-content dl.data dd,main.bd-content #main-content dl.method dd,main.bd-content #main-content dl.attribute dd{margin:0 0 12px 24px}main.bd-content #main-content dl.module:not(.docutils),main.bd-content #main-content dl.class:not(.docutils),main.bd-content #main-content dl.exception:not(.docutils),main.bd-content #main-content dl.function:not(.docutils),main.bd-content #main-content dl.decorator:not(.docutils),main.bd-content #main-content dl.data:not(.docutils),main.bd-content #main-content dl.method:not(.docutils),main.bd-content #main-content dl.attribute:not(.docutils){margin-bottom:24px}main.bd-content #main-content dl.module:not(.docutils) dt,main.bd-content #main-content dl.class:not(.docutils) dt,main.bd-content #main-content dl.exception:not(.docutils) dt,main.bd-content #main-content dl.function:not(.docutils) dt,main.bd-content #main-content dl.decorator:not(.docutils) dt,main.bd-content #main-content dl.data:not(.docutils) dt,main.bd-content #main-content dl.method:not(.docutils) dt,main.bd-content #main-content dl.attribute:not(.docutils) dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}main.bd-content #main-content dl.module:not(.docutils) dt:before,main.bd-content #main-content dl.class:not(.docutils) dt:before,main.bd-content #main-content dl.exception:not(.docutils) dt:before,main.bd-content #main-content dl.function:not(.docutils) dt:before,main.bd-content #main-content dl.decorator:not(.docutils) dt:before,main.bd-content #main-content dl.data:not(.docutils) dt:before,main.bd-content #main-content dl.method:not(.docutils) dt:before,main.bd-content #main-content dl.attribute:not(.docutils) dt:before{color:#6ab0de}main.bd-content #main-content dl.module:not(.docutils) dt .headerlink,main.bd-content #main-content dl.class:not(.docutils) dt .headerlink,main.bd-content #main-content dl.exception:not(.docutils) dt .headerlink,main.bd-content #main-content dl.function:not(.docutils) dt .headerlink,main.bd-content #main-content dl.decorator:not(.docutils) dt .headerlink,main.bd-content #main-content dl.data:not(.docutils) dt .headerlink,main.bd-content #main-content dl.method:not(.docutils) dt .headerlink,main.bd-content #main-content dl.attribute:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}main.bd-content #main-content dl.module:not(.docutils) dt:first-child,main.bd-content #main-content dl.class:not(.docutils) dt:first-child,main.bd-content #main-content dl.exception:not(.docutils) dt:first-child,main.bd-content #main-content dl.function:not(.docutils) dt:first-child,main.bd-content #main-content dl.decorator:not(.docutils) dt:first-child,main.bd-content #main-content dl.data:not(.docutils) dt:first-child,main.bd-content #main-content dl.method:not(.docutils) dt:first-child,main.bd-content #main-content dl.attribute:not(.docutils) dt:first-child{margin-top:0}main.bd-content #main-content dl.module:not(.docutils) dl dt,main.bd-content #main-content dl.class:not(.docutils) dl dt,main.bd-content #main-content dl.exception:not(.docutils) dl dt,main.bd-content #main-content dl.function:not(.docutils) dl dt,main.bd-content #main-content dl.decorator:not(.docutils) dl dt,main.bd-content #main-content dl.data:not(.docutils) dl dt,main.bd-content #main-content dl.method:not(.docutils) dl dt,main.bd-content #main-content dl.attribute:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:#555}main.bd-content #main-content dl.module:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.class:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.exception:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.function:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.decorator:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.data:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.method:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.attribute:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}main.bd-content #main-content dl.module:not(.docutils) tt,main.bd-content #main-content dl.class:not(.docutils) tt,main.bd-content #main-content dl.exception:not(.docutils) tt,main.bd-content #main-content dl.function:not(.docutils) tt,main.bd-content #main-content dl.decorator:not(.docutils) tt,main.bd-content #main-content dl.data:not(.docutils) tt,main.bd-content #main-content dl.method:not(.docutils) tt,main.bd-content #main-content dl.attribute:not(.docutils) tt{font-weight:bold;font-weight:bold}main.bd-content #main-content dl.module:not(.docutils) code,main.bd-content #main-content dl.class:not(.docutils) code,main.bd-content #main-content dl.exception:not(.docutils) code,main.bd-content #main-content dl.function:not(.docutils) code,main.bd-content #main-content dl.decorator:not(.docutils) code,main.bd-content #main-content dl.data:not(.docutils) code,main.bd-content #main-content dl.method:not(.docutils) code,main.bd-content #main-content dl.attribute:not(.docutils) code{font-weight:bold}main.bd-content #main-content dl.module:not(.docutils) tt.descname,main.bd-content #main-content dl.class:not(.docutils) tt.descname,main.bd-content #main-content dl.exception:not(.docutils) tt.descname,main.bd-content #main-content dl.function:not(.docutils) tt.descname,main.bd-content #main-content dl.decorator:not(.docutils) tt.descname,main.bd-content #main-content dl.data:not(.docutils) tt.descname,main.bd-content #main-content dl.method:not(.docutils) tt.descname,main.bd-content #main-content dl.attribute:not(.docutils) tt.descname{background-color:transparent;background-color:transparent;border:none;border:none;padding:0;padding:0;font-size:100% !important;font-size:100% !important;font-weight:bold;font-weight:bold}main.bd-content #main-content dl.module:not(.docutils) tt.descclassname,main.bd-content #main-content dl.class:not(.docutils) tt.descclassname,main.bd-content #main-content dl.exception:not(.docutils) tt.descclassname,main.bd-content #main-content dl.function:not(.docutils) tt.descclassname,main.bd-content #main-content dl.decorator:not(.docutils) tt.descclassname,main.bd-content #main-content dl.data:not(.docutils) tt.descclassname,main.bd-content #main-content dl.method:not(.docutils) tt.descclassname,main.bd-content #main-content dl.attribute:not(.docutils) tt.descclassname{background-color:transparent;background-color:transparent;border:none;border:none;padding:0;padding:0;font-size:100% !important;font-size:100% !important}main.bd-content #main-content dl.module:not(.docutils) code.descname,main.bd-content #main-content dl.class:not(.docutils) code.descname,main.bd-content #main-content dl.exception:not(.docutils) code.descname,main.bd-content #main-content dl.function:not(.docutils) code.descname,main.bd-content #main-content dl.decorator:not(.docutils) code.descname,main.bd-content #main-content dl.data:not(.docutils) code.descname,main.bd-content #main-content dl.method:not(.docutils) code.descname,main.bd-content #main-content dl.attribute:not(.docutils) code.descname{background-color:transparent;border:none;padding:0;font-size:100% !important;font-weight:bold}main.bd-content #main-content dl.module:not(.docutils) code.descclassname,main.bd-content #main-content dl.class:not(.docutils) code.descclassname,main.bd-content #main-content dl.exception:not(.docutils) code.descclassname,main.bd-content #main-content dl.function:not(.docutils) code.descclassname,main.bd-content #main-content dl.decorator:not(.docutils) code.descclassname,main.bd-content #main-content dl.data:not(.docutils) code.descclassname,main.bd-content #main-content dl.method:not(.docutils) code.descclassname,main.bd-content #main-content dl.attribute:not(.docutils) code.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}main.bd-content #main-content dl.module:not(.docutils) .optional,main.bd-content #main-content dl.class:not(.docutils) .optional,main.bd-content #main-content dl.exception:not(.docutils) .optional,main.bd-content #main-content dl.function:not(.docutils) .optional,main.bd-content #main-content dl.decorator:not(.docutils) .optional,main.bd-content #main-content dl.data:not(.docutils) .optional,main.bd-content #main-content dl.method:not(.docutils) .optional,main.bd-content #main-content dl.attribute:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}main.bd-content #main-content dl.module:not(.docutils) .property,main.bd-content #main-content dl.class:not(.docutils) .property,main.bd-content #main-content dl.exception:not(.docutils) .property,main.bd-content #main-content dl.function:not(.docutils) .property,main.bd-content #main-content dl.decorator:not(.docutils) .property,main.bd-content #main-content dl.data:not(.docutils) .property,main.bd-content #main-content dl.method:not(.docutils) .property,main.bd-content #main-content dl.attribute:not(.docutils) .property{display:inline-block;padding-right:8px}main.bd-content #main-content dl.module .viewcode-link,main.bd-content #main-content dl.class .viewcode-link,main.bd-content #main-content dl.exception .viewcode-link,main.bd-content #main-content dl.function .viewcode-link,main.bd-content #main-content dl.decorator .viewcode-link,main.bd-content #main-content dl.data .viewcode-link,main.bd-content #main-content dl.method .viewcode-link,main.bd-content #main-content dl.attribute .viewcode-link{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}div.cell div.cell_output{padding-right:0}div.cell.tag_output_scroll div.cell_output,div.cell.tag_scroll-output div.cell_output{max-height:24em;overflow-y:auto}div.cell.tag_scroll-input div.cell_input{max-height:24em;overflow-y:auto}.highlighttable .linenos{vertical-align:baseline}.toggle.admonition button.toggle-button{top:0.5em !important}.admonition{border-radius:.4em;box-shadow:0 0.2rem 0.5rem rgba(0,0,0,0.05),0 0 0.0625rem rgba(0,0,0,0.1)}.admonition.seealso{border-color:#28a745}.admonition.seealso .admonition-title{background-color:rgba(40,167,70,0.1)}.admonition.seealso .admonition-title:before{color:#28a745;content:"\f064"}button.toggle-button-hidden:before{bottom:0.2em !important}div.sidebar,div.margin,div.margin-caption p.caption,.cell.tag_popout,.cell.tag_margin{width:40%;float:right;border-left:1px #a4a6a7 solid;margin-left:0.5em;padding:.2em 0 .2em 1em}div.sidebar p,div.margin p,div.margin-caption p.caption p,.cell.tag_popout p,.cell.tag_margin p{margin-bottom:0}div.sidebar p.sidebar-title,div.margin p.sidebar-title,div.margin-caption p.caption p.sidebar-title,.cell.tag_popout p.sidebar-title,.cell.tag_margin p.sidebar-title{font-weight:bold;font-size:1.2em}@media (min-width: 768px){div.cell.tag_popout,div.cell.tag_margin,div.margin,div.margin-caption p.caption{border:none;clear:right;width:31% !important;margin:0 -35% 0 0 !important;padding:0 !important;font-size:0.9rem;line-height:1.3;vertical-align:baseline;position:relative}div.cell.tag_popout p,div.cell.tag_margin p,div.margin p,div.margin-caption p.caption p{margin-bottom:.5em}div.cell.tag_popout p.sidebar-title,div.cell.tag_margin p.sidebar-title,div.margin p.sidebar-title,div.margin-caption p.caption p.sidebar-title{font-size:1em}div.cell.tag_margin .cell_output{padding-left:0}div.sidebar:not(.margin){width:60%;margin-left:1.5em;margin-right:-28%}}@media (min-width: 768px){div.cell.tag_full-width,div.cell.tag_full_width,div.full_width,div.full-width{width:134% !important}}blockquote{margin:1em;padding:.2em 1.5em;border-left:4px solid #ccc}blockquote.pull-quote,blockquote.epigraph,blockquote.highlights{font-size:1.25em;border-left:none}blockquote div>p{margin-bottom:.5em}blockquote div>p+p.attribution{font-style:normal;font-size:.9em;text-align:right;color:#6c757d;padding-right:2em}div.highlight{background:none;margin-bottom:1em}div.cell div.highlight{margin-bottom:0em}.thebelab-cell{border:none !important;margin-right:.5em !important}.thebelab-cell .thebelab-input{padding-left:10px !important}.cell.docutils.container{padding-right:0px !important}button.thebe-launch-button{height:2.5em;font-size:1em}div.tableofcontents-wrapper p.caption{font-weight:600 !important;margin-bottom:0em !important}.cm-s-default{font-family:var(--jp-code-font-family);font-size:var(--jp-code-font-size);line-height:var(--jp-code-line-height)}.CodeMirror-focused{background-color:var(--jp-cell-editor-active-background) !important;border:var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);margin:-1px}.topbar,.topbar-contents,.topbar-main{height:3em}.topbar{background-color:white;transition:left .2s}.scrolled .topbar{box-shadow:0 6px 6px -6px rgba(0,0,0,0.3)}.topbar .topbar-main{padding-top:0.25rem;padding-bottom:0.25rem;padding-right:0}.topbar .topbar-main>button,.topbar .topbar-main>div,.topbar .topbar-main>a{float:left;height:100%}.topbar .topbar-main button.topbarbtn{margin:0 .1em;background-color:white;color:#5a5a5a;border:none;padding-top:.1rem;padding-bottom:.1rem;font-size:1.4em}.topbar .topbar-main button.topbarbtn i.fab{vertical-align:baseline;line-height:1}.topbar .topbar-main div.dropdown-buttons-trigger,.topbar .topbar-main a.edit-button,.topbar .topbar-main a.full-screen-button{float:right}.bd-topbar-whitespace{width:275px;flex:auto;transition:flex 0.2s ease 0s}@media (max-width: 768px){.bd-topbar-whitespace{border-bottom:1px solid transparent}.bd-topbar-whitespace.show,.bd-topbar-whitespace.collapsing,body.scrolled .bd-topbar-whitespace{border-color:rgba(0,0,0,0.1);position:absolute;bottom:0;width:100%;display:block}}span.topbar-button-text{margin-left:0.4em}@media (max-width: 768px){span.topbar-button-text{display:none}}div.dropdown-buttons-trigger div.dropdown-buttons{display:none;position:absolute;max-width:130px;margin-top:.2em;z-index:1000;transform:translate(-60%)}div.dropdown-buttons-trigger div.dropdown-buttons.sourcebuttons .topbarbtn i{padding-right:6px;margin-left:-5px;font-size:.9em !important}div.dropdown-buttons-trigger div.dropdown-buttons button.topbarbtn{padding-top:.35rem;padding-bottom:.35rem;min-width:120px !important;border:1px white solid !important;background-color:#5a5a5a;color:white;font-size:1em}div.dropdown-buttons-trigger:hover div.dropdown-buttons{display:block}a.dropdown-buttons i{margin-right:.5em}button.topbarbtn img{height:1.15em;padding-right:6px;margin-left:-5px}#navbar-toggler{position:relative;margin-right:1em;margin-left:.5em;color:#5a5a5a}#navbar-toggler i{transition:opacity .3s, transform .3s;position:absolute;top:16%;left:0;display:block;font-size:1.2em}#navbar-toggler i.fa-bars{opacity:0;transform:rotate(180deg) scale(0.5)}#navbar-toggler i.fa-arrow-left,#navbar-toggler i.fa-arrow-up{opacity:1}#navbar-toggler.collapsed i.fa-bars{opacity:1;transform:rotate(0) scale(1)}#navbar-toggler.collapsed i.fa-arrow-left,#navbar-toggler.collapsed i.fa-arrow-up{opacity:0;transform:rotate(-180deg) scale(0.5)}@media (max-width: 768px){#navbar-toggler i.fa-arrow-up{display:none}}@media (min-width: 768px){#navbar-toggler i.fa-arrow-up{display:none}#navbar-toggler i.fa-arrow-left{display:inherit}}@media (min-width: 768px){.bd-topbar-whitespace{max-width:275px}}.bd-toc{padding:0px !important;right:-1em;z-index:999;height:auto}.bd-toc div.onthispage,.bd-toc .toc-entry a{color:#5a5a5a}.bd-toc nav{opacity:0;max-height:0;transition:opacity 0.2s ease, max-height .7s ease;overflow-y:hidden;background:white;scrollbar-width:thin}.bd-toc nav::-webkit-scrollbar{width:5px}.bd-toc nav::-webkit-scrollbar{background:#f1f1f1}.bd-toc nav::-webkit-scrollbar-thumb{background:#c1c1c1}.bd-toc nav::-webkit-scrollbar-thumb:hover{background:#a0a0a0}@media (min-width: 992px){.bd-toc nav:not(:hover){-ms-overflow-style:none}.bd-toc nav:not(:hover)::-webkit-scrollbar{background:#FFFFFF}.bd-toc nav:not(:hover)::-webkit-scrollbar-thumb{background:#FFFFFF}}.bd-toc nav a:hover,.bd-toc nav li.active>a.active{color:rgba(var(--pst-color-link), 1)}.bd-toc nav li.active>a.active{border-left:2px solid rgba(var(--pst-color-link), 1)}.bd-toc nav>.nav{border-left:1px solid #eee}.bd-toc nav>.nav .nav{border-left:none}.bd-toc:hover nav,.bd-toc.show nav{max-height:90vh;opacity:1;overflow-y:auto}.bd-toc:hover .tocsection:after,.bd-toc.show .tocsection:after{opacity:0}.bd-toc .tocsection{padding:.5rem 0 .5rem 1rem !important}.bd-toc .tocsection:after{content:"\f107";font-family:"Font Awesome 5 Free";font-weight:900;padding-left:.5em;transition:opacity .3s ease}.bd-toc .toc-entry a{padding:.125rem 1rem !important}.bd-toc div.editthispage{display:none}#site-navigation{height:100vh !important;width:275px;flex:auto;top:0px !important;margin-left:0;overflow-y:auto;background:white;transition:margin-left .2s ease 0s, opacity .2s ease 0s, visibility .2s ease 0s;z-index:2000 !important;scrollbar-width:thin}#site-navigation.collapse{visibility:hidden;margin-left:-275px;opacity:0;display:block}#site-navigation.collapse.show{visibility:visible;margin-left:0;opacity:1}#site-navigation::-webkit-scrollbar{width:5px}#site-navigation::-webkit-scrollbar{background:#f1f1f1}#site-navigation::-webkit-scrollbar-thumb{background:#c1c1c1}#site-navigation::-webkit-scrollbar-thumb:hover{background:#a0a0a0}@media (min-width: 992px){#site-navigation:not(:hover){-ms-overflow-style:none}#site-navigation:not(:hover)::-webkit-scrollbar{background:#FFFFFF}#site-navigation:not(:hover)::-webkit-scrollbar-thumb{background:#FFFFFF}}@media (max-width: 768px){#site-navigation{position:fixed;margin-top:3em;border-right:1px solid rgba(0,0,0,0.1)}#site-navigation.single-page{display:none}}#site-navigation nav ul.nav li a,#site-navigation nav ul.nav ul li a{color:#5a5a5a}#site-navigation nav ul.nav a:hover,#site-navigation nav ul.nav li.active>a,#site-navigation nav ul.nav li.active>a:hover{color:rgba(var(--pst-color-link), 1)}#site-navigation h1.site-logo{margin:.5em 0 0 0;font-size:1.1em;color:black;text-align:center}#site-navigation div.navbar_extra_footer{text-align:center;font-size:.9em;color:#5a5a5a;margin-bottom:3em}#site-navigation.single-page{border-right:0}@media (min-width: 768px){div.navbar-brand-box{padding-top:2em}}div.navbar-brand-box a.navbar-brand{width:100%;height:auto}div.navbar-brand-box a.navbar-brand img{display:block;height:auto;width:auto;max-height:10vh;max-width:100%;margin:0 auto}@media (min-width: 768px){div.navbar-brand-box a.navbar-brand img{max-height:15vh !important}}nav.bd-links{margin-left:0px;overflow-y:visible;max-height:none}nav.bd-links p.caption,nav.bd-links .toctree-l1 a{padding-left:0em}@media (min-width: 768px){.bd-sidebar{max-width:275px}}footer{padding-left:0}footer>div.container{padding-left:0}ul.ablog-archive{padding-left:0px}ul.postlist{padding-left:0}ul.postlist>li>p:first-child{font-size:1.5em}ul.postlist li+li{margin-top:2em}ul.postlist li>p>a{font-style:normal;font-size:1.3em}div.bd-sidebar h2{font-size:1.5em}div.bd-sidebar h3{font-size:1.4em}div.bd-sidebar>ul{list-style:none;padding-left:0}@media print{.tag_popout,div.margin{float:right;clear:right;width:50%;margin-right:-56%;margin-top:0;margin-bottom:0;padding-right:1em;font-size:0.9rem;line-height:1.3;vertical-align:baseline;position:relative;border-left:none;padding-left:0}.bd-content div#main-content>div{flex:0 0 75%;max-width:75%}h1,h2,h3,h4{break-after:avoid}table{break-inside:avoid}pre{word-wrap:break-word}a.copybtn,a.headerlink{display:none}.tag-fullwidth{width:145%;clear:both}div.toggle-hidden{visibility:inherit;opacity:1;height:auto}button.toggle-button{display:none}blockquote.epigraph{border:none}div.container{min-width:50% !important}div.bd-sidebar,div.prev-next-bottom{display:none}div.topbar{height:0;padding:0;position:inherit}div.topbar div.topbar-main{opacity:0}div.topbar div.bd-toc{flex:0 0 25%;max-width:25%;height:auto !important}div.topbar div.bd-toc nav,div.topbar div.bd-toc nav>ul.nav,div.topbar div.bd-toc nav>ul.nav>li>ul.nav{opacity:1;display:block}div.topbar div.bd-toc .nav-link.active{font-weight:inherit;color:inherit;background-color:inherit;border-left:inherit}}
+ */:root{--pst-font-size-base: none;--pst-color-primary: 87, 154, 202;--pst-color-admonition-note: var(--pst-color-primary);--pst-color-admonition-default: var(--pst-color-primary);--pst-color-info: 255, 193, 7;--pst-color-admonition-tip: var(--pst-color-info);--pst-color-admonition-hint: var(--pst-color-info);--pst-color-admonition-important: var(--pst-color-info);--pst-color-warning: 245, 162, 82;--pst-color-danger: 230, 101, 129;--pst-color-admonition-warning: var(--pst-color-danger);--pst-color-link: 0, 113, 188}body{padding-top:0px !important}body img{max-width:100%}code{font-size:87.5% !important}pre{border-radius:.4em}pre,div[class*="highlight-"]{clear:none}dt:target,span.highlighted{background-color:#fbe54e}.onlyprint{display:none}main.bd-content{padding-top:3em !important;padding-bottom:0px !important}main.bd-content #main-content,main.bd-content #print-main-content{padding-top:1.5em}main.bd-content #main-content a.headerlink,main.bd-content #print-main-content a.headerlink{opacity:0;margin-left:.2em}main.bd-content #main-content a.headerlink:hover,main.bd-content #print-main-content a.headerlink:hover{background-color:transparent;color:rgba(var(--pst-color-link), 1);opacity:1 !important}main.bd-content #main-content a,main.bd-content #main-content a:visited,main.bd-content #print-main-content a,main.bd-content #print-main-content a:visited{color:rgba(var(--pst-color-link), 1)}main.bd-content #main-content h1,main.bd-content #main-content h2,main.bd-content #main-content h3,main.bd-content #main-content h4,main.bd-content #main-content h5,main.bd-content #print-main-content h1,main.bd-content #print-main-content h2,main.bd-content #print-main-content h3,main.bd-content #print-main-content h4,main.bd-content #print-main-content h5{color:black}main.bd-content #main-content h1:hover a.headerlink,main.bd-content #main-content h2:hover a.headerlink,main.bd-content #main-content h3:hover a.headerlink,main.bd-content #main-content h4:hover a.headerlink,main.bd-content #main-content h5:hover a.headerlink,main.bd-content #print-main-content h1:hover a.headerlink,main.bd-content #print-main-content h2:hover a.headerlink,main.bd-content #print-main-content h3:hover a.headerlink,main.bd-content #print-main-content h4:hover a.headerlink,main.bd-content #print-main-content h5:hover a.headerlink{opacity:.5}main.bd-content #main-content h1 a.toc-backref,main.bd-content #main-content h2 a.toc-backref,main.bd-content #main-content h3 a.toc-backref,main.bd-content #main-content h4 a.toc-backref,main.bd-content #main-content h5 a.toc-backref,main.bd-content #print-main-content h1 a.toc-backref,main.bd-content #print-main-content h2 a.toc-backref,main.bd-content #print-main-content h3 a.toc-backref,main.bd-content #print-main-content h4 a.toc-backref,main.bd-content #print-main-content h5 a.toc-backref{color:inherit}main.bd-content #main-content>div>div>div.section,main.bd-content #main-content .prev-next-bottom,main.bd-content #print-main-content>div>div>div.section,main.bd-content #print-main-content .prev-next-bottom{padding-right:1em}main.bd-content #main-content .prev-next-bottom,main.bd-content #print-main-content .prev-next-bottom{overflow:auto;margin-top:3em;margin-bottom:1em;padding:0}main.bd-content #main-content .prev-next-bottom .right-next,main.bd-content #main-content .prev-next-bottom .left-prev,main.bd-content #print-main-content .prev-next-bottom .right-next,main.bd-content #print-main-content .prev-next-bottom .left-prev{border:none;display:flex;align-items:center}main.bd-content #main-content .prev-next-bottom .right-next .prevnext-info,main.bd-content #main-content .prev-next-bottom .left-prev .prevnext-info,main.bd-content #print-main-content .prev-next-bottom .right-next .prevnext-info,main.bd-content #print-main-content .prev-next-bottom .left-prev .prevnext-info{flex-direction:column}main.bd-content #main-content .prev-next-bottom .right-next p,main.bd-content #main-content .prev-next-bottom .left-prev p,main.bd-content #print-main-content .prev-next-bottom .right-next p,main.bd-content #print-main-content .prev-next-bottom .left-prev p{margin:0;line-height:1.3em}main.bd-content #main-content .prev-next-bottom .right-next .prevnext-label,main.bd-content #main-content .prev-next-bottom .left-prev .prevnext-label,main.bd-content #print-main-content .prev-next-bottom .right-next .prevnext-label,main.bd-content #print-main-content .prev-next-bottom .left-prev .prevnext-label{color:#5a5a5a}main.bd-content #main-content .prev-next-bottom .right-next .prevnext-title,main.bd-content #main-content .prev-next-bottom .left-prev .prevnext-title,main.bd-content #print-main-content .prev-next-bottom .right-next .prevnext-title,main.bd-content #print-main-content .prev-next-bottom .left-prev .prevnext-title{font-size:1.1em;color:rgba(var(--pst-color-link), 1);font-weight:500}main.bd-content #main-content .prev-next-bottom .right-next::after,main.bd-content #main-content .prev-next-bottom .left-prev::after,main.bd-content #print-main-content .prev-next-bottom .right-next::after,main.bd-content #print-main-content .prev-next-bottom .left-prev::after{content:none}main.bd-content #main-content .prev-next-bottom .left-prev i,main.bd-content #print-main-content .prev-next-bottom .left-prev i{padding-right:.75rem}main.bd-content #main-content .prev-next-bottom .left-prev::before,main.bd-content #print-main-content .prev-next-bottom .left-prev::before{content:none}main.bd-content #main-content .prev-next-bottom .right-next .prevnext-info,main.bd-content #print-main-content .prev-next-bottom .right-next .prevnext-info{text-align:right}main.bd-content #main-content .prev-next-bottom .right-next i,main.bd-content #print-main-content .prev-next-bottom .right-next i{padding-left:.75rem}main.bd-content #main-content div.section,main.bd-content #print-main-content div.section{overflow:visible !important}main.bd-content #main-content div.section ul p,main.bd-content #main-content div.section ol p,main.bd-content #print-main-content div.section ul p,main.bd-content #print-main-content div.section ol p{margin-bottom:0}main.bd-content #main-content span.eqno,main.bd-content #print-main-content span.eqno{position:absolute;right:1em;top:50%;transform:translate(0, -50%);font-size:1.2em}main.bd-content #main-content div.math,main.bd-content #print-main-content div.math{overflow-x:auto;position:relative}main.bd-content #main-content p~div.math,main.bd-content #print-main-content p~div.math{margin-top:-1.15rem}main.bd-content #main-content img.align-center,main.bd-content #print-main-content img.align-center{margin-left:auto;margin-right:auto;display:block}main.bd-content #main-content img.align-left,main.bd-content #print-main-content img.align-left{clear:left;float:left;margin-right:1em}main.bd-content #main-content img.align-right,main.bd-content #print-main-content img.align-right{clear:right;float:right;margin-left:1em}main.bd-content #main-content div.figure,main.bd-content #print-main-content div.figure{width:100%;margin-bottom:1em;text-align:center}main.bd-content #main-content div.figure.align-left,main.bd-content #print-main-content div.figure.align-left{text-align:left}main.bd-content #main-content div.figure.align-left p.caption,main.bd-content #print-main-content div.figure.align-left p.caption{margin-left:0}main.bd-content #main-content div.figure.align-right,main.bd-content #print-main-content div.figure.align-right{text-align:right}main.bd-content #main-content div.figure.align-right p.caption,main.bd-content #print-main-content div.figure.align-right p.caption{margin-right:0}main.bd-content #main-content div.figure p.caption,main.bd-content #print-main-content div.figure p.caption{margin:.5em 10%}main.bd-content #main-content div.figure.margin p.caption,main.bd-content #main-content div.figure.margin-caption p.caption,main.bd-content #print-main-content div.figure.margin p.caption,main.bd-content #print-main-content div.figure.margin-caption p.caption{margin:.5em 0}main.bd-content #main-content div.figure.margin-caption p.caption,main.bd-content #print-main-content div.figure.margin-caption p.caption{text-align:left}main.bd-content #main-content div.figure span.caption-number,main.bd-content #print-main-content div.figure span.caption-number{font-weight:bold}main.bd-content #main-content div.figure span,main.bd-content #print-main-content div.figure span{font-size:.9rem}main.bd-content #main-content div.contents,main.bd-content #print-main-content div.contents{padding:1em}main.bd-content #main-content div.contents p.topic-title,main.bd-content #print-main-content div.contents p.topic-title{font-size:1.5em;padding:.5em 0 0 1em}main.bd-content #main-content p.centered,main.bd-content #print-main-content p.centered{text-align:center}main.bd-content #main-content div.sphinx-tabs>div.sphinx-menu,main.bd-content #print-main-content div.sphinx-tabs>div.sphinx-menu{padding:0}main.bd-content #main-content div.sphinx-tabs>div.sphinx-menu>a.item,main.bd-content #print-main-content div.sphinx-tabs>div.sphinx-menu>a.item{width:auto;margin:0px 0px -1px 0px}main.bd-content #main-content .footnote-reference,main.bd-content #main-content a.bibtex.internal,main.bd-content #print-main-content .footnote-reference,main.bd-content #print-main-content a.bibtex.internal{font-size:1em}main.bd-content #main-content dl.simple dd,main.bd-content #main-content dl.field-list dd,main.bd-content #print-main-content dl.simple dd,main.bd-content #print-main-content dl.field-list dd{margin-left:1.5em}main.bd-content #main-content dl.simple dd:not(:last-child),main.bd-content #main-content dl.field-list dd:not(:last-child),main.bd-content #print-main-content dl.simple dd:not(:last-child),main.bd-content #print-main-content dl.field-list dd:not(:last-child){margin-bottom:0px}main.bd-content #main-content dl.simple dd:not(:last-child) p:last-child,main.bd-content #main-content dl.field-list dd:not(:last-child) p:last-child,main.bd-content #print-main-content dl.simple dd:not(:last-child) p:last-child,main.bd-content #print-main-content dl.field-list dd:not(:last-child) p:last-child{margin-bottom:0px}main.bd-content #main-content dl.glossary dd,main.bd-content #print-main-content dl.glossary dd{margin-left:1.5em}main.bd-content #main-content dl.footnote span.fn-backref,main.bd-content #print-main-content dl.footnote span.fn-backref{font-size:1em;padding-left:.1em}main.bd-content #main-content dl.footnote dd,main.bd-content #print-main-content dl.footnote dd{font-size:.9em;margin-left:3em}main.bd-content #main-content dl.module,main.bd-content #main-content dl.class,main.bd-content #main-content dl.exception,main.bd-content #main-content dl.function,main.bd-content #main-content dl.decorator,main.bd-content #main-content dl.data,main.bd-content #main-content dl.method,main.bd-content #main-content dl.attribute,main.bd-content #print-main-content dl.module,main.bd-content #print-main-content dl.class,main.bd-content #print-main-content dl.exception,main.bd-content #print-main-content dl.function,main.bd-content #print-main-content dl.decorator,main.bd-content #print-main-content dl.data,main.bd-content #print-main-content dl.method,main.bd-content #print-main-content dl.attribute{margin-bottom:24px}main.bd-content #main-content dl.module dt,main.bd-content #main-content dl.class dt,main.bd-content #main-content dl.exception dt,main.bd-content #main-content dl.function dt,main.bd-content #main-content dl.decorator dt,main.bd-content #main-content dl.data dt,main.bd-content #main-content dl.method dt,main.bd-content #main-content dl.attribute dt,main.bd-content #print-main-content dl.module dt,main.bd-content #print-main-content dl.class dt,main.bd-content #print-main-content dl.exception dt,main.bd-content #print-main-content dl.function dt,main.bd-content #print-main-content dl.decorator dt,main.bd-content #print-main-content dl.data dt,main.bd-content #print-main-content dl.method dt,main.bd-content #print-main-content dl.attribute dt{font-weight:bold}main.bd-content #main-content dl.module dt .headerlink,main.bd-content #main-content dl.class dt .headerlink,main.bd-content #main-content dl.exception dt .headerlink,main.bd-content #main-content dl.function dt .headerlink,main.bd-content #main-content dl.decorator dt .headerlink,main.bd-content #main-content dl.data dt .headerlink,main.bd-content #main-content dl.method dt .headerlink,main.bd-content #main-content dl.attribute dt .headerlink,main.bd-content #print-main-content dl.module dt .headerlink,main.bd-content #print-main-content dl.class dt .headerlink,main.bd-content #print-main-content dl.exception dt .headerlink,main.bd-content #print-main-content dl.function dt .headerlink,main.bd-content #print-main-content dl.decorator dt .headerlink,main.bd-content #print-main-content dl.data dt .headerlink,main.bd-content #print-main-content dl.method dt .headerlink,main.bd-content #print-main-content dl.attribute dt .headerlink{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:inherit;visibility:hidden;font-size:14px}main.bd-content #main-content dl.module dt .headerlink:before,main.bd-content #main-content dl.class dt .headerlink:before,main.bd-content #main-content dl.exception dt .headerlink:before,main.bd-content #main-content dl.function dt .headerlink:before,main.bd-content #main-content dl.decorator dt .headerlink:before,main.bd-content #main-content dl.data dt .headerlink:before,main.bd-content #main-content dl.method dt .headerlink:before,main.bd-content #main-content dl.attribute dt .headerlink:before,main.bd-content #print-main-content dl.module dt .headerlink:before,main.bd-content #print-main-content dl.class dt .headerlink:before,main.bd-content #print-main-content dl.exception dt .headerlink:before,main.bd-content #print-main-content dl.function dt .headerlink:before,main.bd-content #print-main-content dl.decorator dt .headerlink:before,main.bd-content #print-main-content dl.data dt .headerlink:before,main.bd-content #print-main-content dl.method dt .headerlink:before,main.bd-content #print-main-content dl.attribute dt .headerlink:before{-webkit-font-smoothing:antialiased;font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}main.bd-content #main-content dl.module dt .headerlink:after,main.bd-content #main-content dl.class dt .headerlink:after,main.bd-content #main-content dl.exception dt .headerlink:after,main.bd-content #main-content dl.function dt .headerlink:after,main.bd-content #main-content dl.decorator dt .headerlink:after,main.bd-content #main-content dl.data dt .headerlink:after,main.bd-content #main-content dl.method dt .headerlink:after,main.bd-content #main-content dl.attribute dt .headerlink:after,main.bd-content #print-main-content dl.module dt .headerlink:after,main.bd-content #print-main-content dl.class dt .headerlink:after,main.bd-content #print-main-content dl.exception dt .headerlink:after,main.bd-content #print-main-content dl.function dt .headerlink:after,main.bd-content #print-main-content dl.decorator dt .headerlink:after,main.bd-content #print-main-content dl.data dt .headerlink:after,main.bd-content #print-main-content dl.method dt .headerlink:after,main.bd-content #print-main-content dl.attribute dt .headerlink:after{content:"";font-family:FontAwesome}main.bd-content #main-content dl.module dt .fa-pull-left.headerlink,main.bd-content #main-content dl.class dt .fa-pull-left.headerlink,main.bd-content #main-content dl.exception dt .fa-pull-left.headerlink,main.bd-content #main-content dl.function dt .fa-pull-left.headerlink,main.bd-content #main-content dl.decorator dt .fa-pull-left.headerlink,main.bd-content #main-content dl.data dt .fa-pull-left.headerlink,main.bd-content #main-content dl.method dt .fa-pull-left.headerlink,main.bd-content #main-content dl.attribute dt .fa-pull-left.headerlink,main.bd-content #print-main-content dl.module dt .fa-pull-left.headerlink,main.bd-content #print-main-content dl.class dt .fa-pull-left.headerlink,main.bd-content #print-main-content dl.exception dt .fa-pull-left.headerlink,main.bd-content #print-main-content dl.function dt .fa-pull-left.headerlink,main.bd-content #print-main-content dl.decorator dt .fa-pull-left.headerlink,main.bd-content #print-main-content dl.data dt .fa-pull-left.headerlink,main.bd-content #print-main-content dl.method dt .fa-pull-left.headerlink,main.bd-content #print-main-content dl.attribute dt .fa-pull-left.headerlink{margin-right:.3em}main.bd-content #main-content dl.module dt .fa-pull-right.headerlink,main.bd-content #main-content dl.class dt .fa-pull-right.headerlink,main.bd-content #main-content dl.exception dt .fa-pull-right.headerlink,main.bd-content #main-content dl.function dt .fa-pull-right.headerlink,main.bd-content #main-content dl.decorator dt .fa-pull-right.headerlink,main.bd-content #main-content dl.data dt .fa-pull-right.headerlink,main.bd-content #main-content dl.method dt .fa-pull-right.headerlink,main.bd-content #main-content dl.attribute dt .fa-pull-right.headerlink,main.bd-content #print-main-content dl.module dt .fa-pull-right.headerlink,main.bd-content #print-main-content dl.class dt .fa-pull-right.headerlink,main.bd-content #print-main-content dl.exception dt .fa-pull-right.headerlink,main.bd-content #print-main-content dl.function dt .fa-pull-right.headerlink,main.bd-content #print-main-content dl.decorator dt .fa-pull-right.headerlink,main.bd-content #print-main-content dl.data dt .fa-pull-right.headerlink,main.bd-content #print-main-content dl.method dt .fa-pull-right.headerlink,main.bd-content #print-main-content dl.attribute dt .fa-pull-right.headerlink{margin-left:.3em}main.bd-content #main-content dl.module dt .pull-left.headerlink,main.bd-content #main-content dl.class dt .pull-left.headerlink,main.bd-content #main-content dl.exception dt .pull-left.headerlink,main.bd-content #main-content dl.function dt .pull-left.headerlink,main.bd-content #main-content dl.decorator dt .pull-left.headerlink,main.bd-content #main-content dl.data dt .pull-left.headerlink,main.bd-content #main-content dl.method dt .pull-left.headerlink,main.bd-content #main-content dl.attribute dt .pull-left.headerlink,main.bd-content #print-main-content dl.module dt .pull-left.headerlink,main.bd-content #print-main-content dl.class dt .pull-left.headerlink,main.bd-content #print-main-content dl.exception dt .pull-left.headerlink,main.bd-content #print-main-content dl.function dt .pull-left.headerlink,main.bd-content #print-main-content dl.decorator dt .pull-left.headerlink,main.bd-content #print-main-content dl.data dt .pull-left.headerlink,main.bd-content #print-main-content dl.method dt .pull-left.headerlink,main.bd-content #print-main-content dl.attribute dt .pull-left.headerlink{margin-right:.3em}main.bd-content #main-content dl.module dt .pull-right.headerlink,main.bd-content #main-content dl.class dt .pull-right.headerlink,main.bd-content #main-content dl.exception dt .pull-right.headerlink,main.bd-content #main-content dl.function dt .pull-right.headerlink,main.bd-content #main-content dl.decorator dt .pull-right.headerlink,main.bd-content #main-content dl.data dt .pull-right.headerlink,main.bd-content #main-content dl.method dt .pull-right.headerlink,main.bd-content #main-content dl.attribute dt .pull-right.headerlink,main.bd-content #print-main-content dl.module dt .pull-right.headerlink,main.bd-content #print-main-content dl.class dt .pull-right.headerlink,main.bd-content #print-main-content dl.exception dt .pull-right.headerlink,main.bd-content #print-main-content dl.function dt .pull-right.headerlink,main.bd-content #print-main-content dl.decorator dt .pull-right.headerlink,main.bd-content #print-main-content dl.data dt .pull-right.headerlink,main.bd-content #print-main-content dl.method dt .pull-right.headerlink,main.bd-content #print-main-content dl.attribute dt .pull-right.headerlink{margin-left:.3em}main.bd-content #main-content dl.module dt a .headerlink,main.bd-content #main-content dl.class dt a .headerlink,main.bd-content #main-content dl.exception dt a .headerlink,main.bd-content #main-content dl.function dt a .headerlink,main.bd-content #main-content dl.decorator dt a .headerlink,main.bd-content #main-content dl.data dt a .headerlink,main.bd-content #main-content dl.method dt a .headerlink,main.bd-content #main-content dl.attribute dt a .headerlink,main.bd-content #print-main-content dl.module dt a .headerlink,main.bd-content #print-main-content dl.class dt a .headerlink,main.bd-content #print-main-content dl.exception dt a .headerlink,main.bd-content #print-main-content dl.function dt a .headerlink,main.bd-content #print-main-content dl.decorator dt a .headerlink,main.bd-content #print-main-content dl.data dt a .headerlink,main.bd-content #print-main-content dl.method dt a .headerlink,main.bd-content #print-main-content dl.attribute dt a .headerlink{display:inline-block;text-decoration:inherit}main.bd-content #main-content dl.module dt .btn .headerlink,main.bd-content #main-content dl.class dt .btn .headerlink,main.bd-content #main-content dl.exception dt .btn .headerlink,main.bd-content #main-content dl.function dt .btn .headerlink,main.bd-content #main-content dl.decorator dt .btn .headerlink,main.bd-content #main-content dl.data dt .btn .headerlink,main.bd-content #main-content dl.method dt .btn .headerlink,main.bd-content #main-content dl.attribute dt .btn .headerlink,main.bd-content #print-main-content dl.module dt .btn .headerlink,main.bd-content #print-main-content dl.class dt .btn .headerlink,main.bd-content #print-main-content dl.exception dt .btn .headerlink,main.bd-content #print-main-content dl.function dt .btn .headerlink,main.bd-content #print-main-content dl.decorator dt .btn .headerlink,main.bd-content #print-main-content dl.data dt .btn .headerlink,main.bd-content #print-main-content dl.method dt .btn .headerlink,main.bd-content #print-main-content dl.attribute dt .btn .headerlink{display:inline}main.bd-content #main-content dl.module dt .btn .fa-large.headerlink,main.bd-content #main-content dl.class dt .btn .fa-large.headerlink,main.bd-content #main-content dl.exception dt .btn .fa-large.headerlink,main.bd-content #main-content dl.function dt .btn .fa-large.headerlink,main.bd-content #main-content dl.decorator dt .btn .fa-large.headerlink,main.bd-content #main-content dl.data dt .btn .fa-large.headerlink,main.bd-content #main-content dl.method dt .btn .fa-large.headerlink,main.bd-content #main-content dl.attribute dt .btn .fa-large.headerlink,main.bd-content #print-main-content dl.module dt .btn .fa-large.headerlink,main.bd-content #print-main-content dl.class dt .btn .fa-large.headerlink,main.bd-content #print-main-content dl.exception dt .btn .fa-large.headerlink,main.bd-content #print-main-content dl.function dt .btn .fa-large.headerlink,main.bd-content #print-main-content dl.decorator dt .btn .fa-large.headerlink,main.bd-content #print-main-content dl.data dt .btn .fa-large.headerlink,main.bd-content #print-main-content dl.method dt .btn .fa-large.headerlink,main.bd-content #print-main-content dl.attribute dt .btn .fa-large.headerlink{line-height:.9em}main.bd-content #main-content dl.module dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.class dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.exception dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.function dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.decorator dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.data dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.method dt .btn .fa-spin.headerlink,main.bd-content #main-content dl.attribute dt .btn .fa-spin.headerlink,main.bd-content #print-main-content dl.module dt .btn .fa-spin.headerlink,main.bd-content #print-main-content dl.class dt .btn .fa-spin.headerlink,main.bd-content #print-main-content dl.exception dt .btn .fa-spin.headerlink,main.bd-content #print-main-content dl.function dt .btn .fa-spin.headerlink,main.bd-content #print-main-content dl.decorator dt .btn .fa-spin.headerlink,main.bd-content #print-main-content dl.data dt .btn .fa-spin.headerlink,main.bd-content #print-main-content dl.method dt .btn .fa-spin.headerlink,main.bd-content #print-main-content dl.attribute dt .btn .fa-spin.headerlink{display:inline-block}main.bd-content #main-content dl.module dt .nav .headerlink,main.bd-content #main-content dl.class dt .nav .headerlink,main.bd-content #main-content dl.exception dt .nav .headerlink,main.bd-content #main-content dl.function dt .nav .headerlink,main.bd-content #main-content dl.decorator dt .nav .headerlink,main.bd-content #main-content dl.data dt .nav .headerlink,main.bd-content #main-content dl.method dt .nav .headerlink,main.bd-content #main-content dl.attribute dt .nav .headerlink,main.bd-content #print-main-content dl.module dt .nav .headerlink,main.bd-content #print-main-content dl.class dt .nav .headerlink,main.bd-content #print-main-content dl.exception dt .nav .headerlink,main.bd-content #print-main-content dl.function dt .nav .headerlink,main.bd-content #print-main-content dl.decorator dt .nav .headerlink,main.bd-content #print-main-content dl.data dt .nav .headerlink,main.bd-content #print-main-content dl.method dt .nav .headerlink,main.bd-content #print-main-content dl.attribute dt .nav .headerlink{display:inline}main.bd-content #main-content dl.module dt .nav .fa-large.headerlink,main.bd-content #main-content dl.class dt .nav .fa-large.headerlink,main.bd-content #main-content dl.exception dt .nav .fa-large.headerlink,main.bd-content #main-content dl.function dt .nav .fa-large.headerlink,main.bd-content #main-content dl.decorator dt .nav .fa-large.headerlink,main.bd-content #main-content dl.data dt .nav .fa-large.headerlink,main.bd-content #main-content dl.method dt .nav .fa-large.headerlink,main.bd-content #main-content dl.attribute dt .nav .fa-large.headerlink,main.bd-content #print-main-content dl.module dt .nav .fa-large.headerlink,main.bd-content #print-main-content dl.class dt .nav .fa-large.headerlink,main.bd-content #print-main-content dl.exception dt .nav .fa-large.headerlink,main.bd-content #print-main-content dl.function dt .nav .fa-large.headerlink,main.bd-content #print-main-content dl.decorator dt .nav .fa-large.headerlink,main.bd-content #print-main-content dl.data dt .nav .fa-large.headerlink,main.bd-content #print-main-content dl.method dt .nav .fa-large.headerlink,main.bd-content #print-main-content dl.attribute dt .nav .fa-large.headerlink{line-height:.9em}main.bd-content #main-content dl.module dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.class dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.exception dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.function dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.decorator dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.data dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.method dt .nav .fa-spin.headerlink,main.bd-content #main-content dl.attribute dt .nav .fa-spin.headerlink,main.bd-content #print-main-content dl.module dt .nav .fa-spin.headerlink,main.bd-content #print-main-content dl.class dt .nav .fa-spin.headerlink,main.bd-content #print-main-content dl.exception dt .nav .fa-spin.headerlink,main.bd-content #print-main-content dl.function dt .nav .fa-spin.headerlink,main.bd-content #print-main-content dl.decorator dt .nav .fa-spin.headerlink,main.bd-content #print-main-content dl.data dt .nav .fa-spin.headerlink,main.bd-content #print-main-content dl.method dt .nav .fa-spin.headerlink,main.bd-content #print-main-content dl.attribute dt .nav .fa-spin.headerlink{display:inline-block}main.bd-content #main-content dl.module dt .btn.headerlink:before,main.bd-content #main-content dl.class dt .btn.headerlink:before,main.bd-content #main-content dl.exception dt .btn.headerlink:before,main.bd-content #main-content dl.function dt .btn.headerlink:before,main.bd-content #main-content dl.decorator dt .btn.headerlink:before,main.bd-content #main-content dl.data dt .btn.headerlink:before,main.bd-content #main-content dl.method dt .btn.headerlink:before,main.bd-content #main-content dl.attribute dt .btn.headerlink:before,main.bd-content #print-main-content dl.module dt .btn.headerlink:before,main.bd-content #print-main-content dl.class dt .btn.headerlink:before,main.bd-content #print-main-content dl.exception dt .btn.headerlink:before,main.bd-content #print-main-content dl.function dt .btn.headerlink:before,main.bd-content #print-main-content dl.decorator dt .btn.headerlink:before,main.bd-content #print-main-content dl.data dt .btn.headerlink:before,main.bd-content #print-main-content dl.method dt .btn.headerlink:before,main.bd-content #print-main-content dl.attribute dt .btn.headerlink:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}main.bd-content #main-content dl.module dt .btn.headerlink:hover:before,main.bd-content #main-content dl.class dt .btn.headerlink:hover:before,main.bd-content #main-content dl.exception dt .btn.headerlink:hover:before,main.bd-content #main-content dl.function dt .btn.headerlink:hover:before,main.bd-content #main-content dl.decorator dt .btn.headerlink:hover:before,main.bd-content #main-content dl.data dt .btn.headerlink:hover:before,main.bd-content #main-content dl.method dt .btn.headerlink:hover:before,main.bd-content #main-content dl.attribute dt .btn.headerlink:hover:before,main.bd-content #print-main-content dl.module dt .btn.headerlink:hover:before,main.bd-content #print-main-content dl.class dt .btn.headerlink:hover:before,main.bd-content #print-main-content dl.exception dt .btn.headerlink:hover:before,main.bd-content #print-main-content dl.function dt .btn.headerlink:hover:before,main.bd-content #print-main-content dl.decorator dt .btn.headerlink:hover:before,main.bd-content #print-main-content dl.data dt .btn.headerlink:hover:before,main.bd-content #print-main-content dl.method dt .btn.headerlink:hover:before,main.bd-content #print-main-content dl.attribute dt .btn.headerlink:hover:before{opacity:1}main.bd-content #main-content dl.module dt .btn-mini .headerlink:before,main.bd-content #main-content dl.class dt .btn-mini .headerlink:before,main.bd-content #main-content dl.exception dt .btn-mini .headerlink:before,main.bd-content #main-content dl.function dt .btn-mini .headerlink:before,main.bd-content #main-content dl.decorator dt .btn-mini .headerlink:before,main.bd-content #main-content dl.data dt .btn-mini .headerlink:before,main.bd-content #main-content dl.method dt .btn-mini .headerlink:before,main.bd-content #main-content dl.attribute dt .btn-mini .headerlink:before,main.bd-content #print-main-content dl.module dt .btn-mini .headerlink:before,main.bd-content #print-main-content dl.class dt .btn-mini .headerlink:before,main.bd-content #print-main-content dl.exception dt .btn-mini .headerlink:before,main.bd-content #print-main-content dl.function dt .btn-mini .headerlink:before,main.bd-content #print-main-content dl.decorator dt .btn-mini .headerlink:before,main.bd-content #print-main-content dl.data dt .btn-mini .headerlink:before,main.bd-content #print-main-content dl.method dt .btn-mini .headerlink:before,main.bd-content #print-main-content dl.attribute dt .btn-mini .headerlink:before{font-size:14px;vertical-align:-15%}main.bd-content #main-content dl.module dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.class dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.exception dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.function dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.decorator dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.data dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.method dt .rst-versions .rst-current-version .headerlink,main.bd-content #main-content dl.attribute dt .rst-versions .rst-current-version .headerlink,main.bd-content #print-main-content dl.module dt .rst-versions .rst-current-version .headerlink,main.bd-content #print-main-content dl.class dt .rst-versions .rst-current-version .headerlink,main.bd-content #print-main-content dl.exception dt .rst-versions .rst-current-version .headerlink,main.bd-content #print-main-content dl.function dt .rst-versions .rst-current-version .headerlink,main.bd-content #print-main-content dl.decorator dt .rst-versions .rst-current-version .headerlink,main.bd-content #print-main-content dl.data dt .rst-versions .rst-current-version .headerlink,main.bd-content #print-main-content dl.method dt .rst-versions .rst-current-version .headerlink,main.bd-content #print-main-content dl.attribute dt .rst-versions .rst-current-version .headerlink{color:#fcfcfc}main.bd-content #main-content dl.module dt:hover .headerlink:after,main.bd-content #main-content dl.class dt:hover .headerlink:after,main.bd-content #main-content dl.exception dt:hover .headerlink:after,main.bd-content #main-content dl.function dt:hover .headerlink:after,main.bd-content #main-content dl.decorator dt:hover .headerlink:after,main.bd-content #main-content dl.data dt:hover .headerlink:after,main.bd-content #main-content dl.method dt:hover .headerlink:after,main.bd-content #main-content dl.attribute dt:hover .headerlink:after,main.bd-content #print-main-content dl.module dt:hover .headerlink:after,main.bd-content #print-main-content dl.class dt:hover .headerlink:after,main.bd-content #print-main-content dl.exception dt:hover .headerlink:after,main.bd-content #print-main-content dl.function dt:hover .headerlink:after,main.bd-content #print-main-content dl.decorator dt:hover .headerlink:after,main.bd-content #print-main-content dl.data dt:hover .headerlink:after,main.bd-content #print-main-content dl.method dt:hover .headerlink:after,main.bd-content #print-main-content dl.attribute dt:hover .headerlink:after{visibility:visible}main.bd-content #main-content dl.module p,main.bd-content #main-content dl.class p,main.bd-content #main-content dl.exception p,main.bd-content #main-content dl.function p,main.bd-content #main-content dl.decorator p,main.bd-content #main-content dl.data p,main.bd-content #main-content dl.method p,main.bd-content #main-content dl.attribute p,main.bd-content #print-main-content dl.module p,main.bd-content #print-main-content dl.class p,main.bd-content #print-main-content dl.exception p,main.bd-content #print-main-content dl.function p,main.bd-content #print-main-content dl.decorator p,main.bd-content #print-main-content dl.data p,main.bd-content #print-main-content dl.method p,main.bd-content #print-main-content dl.attribute p{margin-bottom:12px !important}main.bd-content #main-content dl.module table,main.bd-content #main-content dl.class table,main.bd-content #main-content dl.exception table,main.bd-content #main-content dl.function table,main.bd-content #main-content dl.decorator table,main.bd-content #main-content dl.data table,main.bd-content #main-content dl.method table,main.bd-content #main-content dl.attribute table,main.bd-content #print-main-content dl.module table,main.bd-content #print-main-content dl.class table,main.bd-content #print-main-content dl.exception table,main.bd-content #print-main-content dl.function table,main.bd-content #print-main-content dl.decorator table,main.bd-content #print-main-content dl.data table,main.bd-content #print-main-content dl.method table,main.bd-content #print-main-content dl.attribute table{margin-bottom:12px !important}main.bd-content #main-content dl.module ul,main.bd-content #main-content dl.class ul,main.bd-content #main-content dl.exception ul,main.bd-content #main-content dl.function ul,main.bd-content #main-content dl.decorator ul,main.bd-content #main-content dl.data ul,main.bd-content #main-content dl.method ul,main.bd-content #main-content dl.attribute ul,main.bd-content #print-main-content dl.module ul,main.bd-content #print-main-content dl.class ul,main.bd-content #print-main-content dl.exception ul,main.bd-content #print-main-content dl.function ul,main.bd-content #print-main-content dl.decorator ul,main.bd-content #print-main-content dl.data ul,main.bd-content #print-main-content dl.method ul,main.bd-content #print-main-content dl.attribute ul{margin-bottom:12px !important}main.bd-content #main-content dl.module ol,main.bd-content #main-content dl.class ol,main.bd-content #main-content dl.exception ol,main.bd-content #main-content dl.function ol,main.bd-content #main-content dl.decorator ol,main.bd-content #main-content dl.data ol,main.bd-content #main-content dl.method ol,main.bd-content #main-content dl.attribute ol,main.bd-content #print-main-content dl.module ol,main.bd-content #print-main-content dl.class ol,main.bd-content #print-main-content dl.exception ol,main.bd-content #print-main-content dl.function ol,main.bd-content #print-main-content dl.decorator ol,main.bd-content #print-main-content dl.data ol,main.bd-content #print-main-content dl.method ol,main.bd-content #print-main-content dl.attribute ol{margin-bottom:12px !important}main.bd-content #main-content dl.module dd,main.bd-content #main-content dl.class dd,main.bd-content #main-content dl.exception dd,main.bd-content #main-content dl.function dd,main.bd-content #main-content dl.decorator dd,main.bd-content #main-content dl.data dd,main.bd-content #main-content dl.method dd,main.bd-content #main-content dl.attribute dd,main.bd-content #print-main-content dl.module dd,main.bd-content #print-main-content dl.class dd,main.bd-content #print-main-content dl.exception dd,main.bd-content #print-main-content dl.function dd,main.bd-content #print-main-content dl.decorator dd,main.bd-content #print-main-content dl.data dd,main.bd-content #print-main-content dl.method dd,main.bd-content #print-main-content dl.attribute dd{margin:0 0 12px 24px}main.bd-content #main-content dl.module:not(.docutils),main.bd-content #main-content dl.class:not(.docutils),main.bd-content #main-content dl.exception:not(.docutils),main.bd-content #main-content dl.function:not(.docutils),main.bd-content #main-content dl.decorator:not(.docutils),main.bd-content #main-content dl.data:not(.docutils),main.bd-content #main-content dl.method:not(.docutils),main.bd-content #main-content dl.attribute:not(.docutils),main.bd-content #print-main-content dl.module:not(.docutils),main.bd-content #print-main-content dl.class:not(.docutils),main.bd-content #print-main-content dl.exception:not(.docutils),main.bd-content #print-main-content dl.function:not(.docutils),main.bd-content #print-main-content dl.decorator:not(.docutils),main.bd-content #print-main-content dl.data:not(.docutils),main.bd-content #print-main-content dl.method:not(.docutils),main.bd-content #print-main-content dl.attribute:not(.docutils){margin-bottom:24px}main.bd-content #main-content dl.module:not(.docutils) dt,main.bd-content #main-content dl.class:not(.docutils) dt,main.bd-content #main-content dl.exception:not(.docutils) dt,main.bd-content #main-content dl.function:not(.docutils) dt,main.bd-content #main-content dl.decorator:not(.docutils) dt,main.bd-content #main-content dl.data:not(.docutils) dt,main.bd-content #main-content dl.method:not(.docutils) dt,main.bd-content #main-content dl.attribute:not(.docutils) dt,main.bd-content #print-main-content dl.module:not(.docutils) dt,main.bd-content #print-main-content dl.class:not(.docutils) dt,main.bd-content #print-main-content dl.exception:not(.docutils) dt,main.bd-content #print-main-content dl.function:not(.docutils) dt,main.bd-content #print-main-content dl.decorator:not(.docutils) dt,main.bd-content #print-main-content dl.data:not(.docutils) dt,main.bd-content #print-main-content dl.method:not(.docutils) dt,main.bd-content #print-main-content dl.attribute:not(.docutils) dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}main.bd-content #main-content dl.module:not(.docutils) dt:before,main.bd-content #main-content dl.class:not(.docutils) dt:before,main.bd-content #main-content dl.exception:not(.docutils) dt:before,main.bd-content #main-content dl.function:not(.docutils) dt:before,main.bd-content #main-content dl.decorator:not(.docutils) dt:before,main.bd-content #main-content dl.data:not(.docutils) dt:before,main.bd-content #main-content dl.method:not(.docutils) dt:before,main.bd-content #main-content dl.attribute:not(.docutils) dt:before,main.bd-content #print-main-content dl.module:not(.docutils) dt:before,main.bd-content #print-main-content dl.class:not(.docutils) dt:before,main.bd-content #print-main-content dl.exception:not(.docutils) dt:before,main.bd-content #print-main-content dl.function:not(.docutils) dt:before,main.bd-content #print-main-content dl.decorator:not(.docutils) dt:before,main.bd-content #print-main-content dl.data:not(.docutils) dt:before,main.bd-content #print-main-content dl.method:not(.docutils) dt:before,main.bd-content #print-main-content dl.attribute:not(.docutils) dt:before{color:#6ab0de}main.bd-content #main-content dl.module:not(.docutils) dt .headerlink,main.bd-content #main-content dl.class:not(.docutils) dt .headerlink,main.bd-content #main-content dl.exception:not(.docutils) dt .headerlink,main.bd-content #main-content dl.function:not(.docutils) dt .headerlink,main.bd-content #main-content dl.decorator:not(.docutils) dt .headerlink,main.bd-content #main-content dl.data:not(.docutils) dt .headerlink,main.bd-content #main-content dl.method:not(.docutils) dt .headerlink,main.bd-content #main-content dl.attribute:not(.docutils) dt .headerlink,main.bd-content #print-main-content dl.module:not(.docutils) dt .headerlink,main.bd-content #print-main-content dl.class:not(.docutils) dt .headerlink,main.bd-content #print-main-content dl.exception:not(.docutils) dt .headerlink,main.bd-content #print-main-content dl.function:not(.docutils) dt .headerlink,main.bd-content #print-main-content dl.decorator:not(.docutils) dt .headerlink,main.bd-content #print-main-content dl.data:not(.docutils) dt .headerlink,main.bd-content #print-main-content dl.method:not(.docutils) dt .headerlink,main.bd-content #print-main-content dl.attribute:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}main.bd-content #main-content dl.module:not(.docutils) dt:first-child,main.bd-content #main-content dl.class:not(.docutils) dt:first-child,main.bd-content #main-content dl.exception:not(.docutils) dt:first-child,main.bd-content #main-content dl.function:not(.docutils) dt:first-child,main.bd-content #main-content dl.decorator:not(.docutils) dt:first-child,main.bd-content #main-content dl.data:not(.docutils) dt:first-child,main.bd-content #main-content dl.method:not(.docutils) dt:first-child,main.bd-content #main-content dl.attribute:not(.docutils) dt:first-child,main.bd-content #print-main-content dl.module:not(.docutils) dt:first-child,main.bd-content #print-main-content dl.class:not(.docutils) dt:first-child,main.bd-content #print-main-content dl.exception:not(.docutils) dt:first-child,main.bd-content #print-main-content dl.function:not(.docutils) dt:first-child,main.bd-content #print-main-content dl.decorator:not(.docutils) dt:first-child,main.bd-content #print-main-content dl.data:not(.docutils) dt:first-child,main.bd-content #print-main-content dl.method:not(.docutils) dt:first-child,main.bd-content #print-main-content dl.attribute:not(.docutils) dt:first-child{margin-top:0}main.bd-content #main-content dl.module:not(.docutils) dl dt,main.bd-content #main-content dl.class:not(.docutils) dl dt,main.bd-content #main-content dl.exception:not(.docutils) dl dt,main.bd-content #main-content dl.function:not(.docutils) dl dt,main.bd-content #main-content dl.decorator:not(.docutils) dl dt,main.bd-content #main-content dl.data:not(.docutils) dl dt,main.bd-content #main-content dl.method:not(.docutils) dl dt,main.bd-content #main-content dl.attribute:not(.docutils) dl dt,main.bd-content #print-main-content dl.module:not(.docutils) dl dt,main.bd-content #print-main-content dl.class:not(.docutils) dl dt,main.bd-content #print-main-content dl.exception:not(.docutils) dl dt,main.bd-content #print-main-content dl.function:not(.docutils) dl dt,main.bd-content #print-main-content dl.decorator:not(.docutils) dl dt,main.bd-content #print-main-content dl.data:not(.docutils) dl dt,main.bd-content #print-main-content dl.method:not(.docutils) dl dt,main.bd-content #print-main-content dl.attribute:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:#555}main.bd-content #main-content dl.module:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.class:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.exception:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.function:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.decorator:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.data:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.method:not(.docutils) dl dt .headerlink,main.bd-content #main-content dl.attribute:not(.docutils) dl dt .headerlink,main.bd-content #print-main-content dl.module:not(.docutils) dl dt .headerlink,main.bd-content #print-main-content dl.class:not(.docutils) dl dt .headerlink,main.bd-content #print-main-content dl.exception:not(.docutils) dl dt .headerlink,main.bd-content #print-main-content dl.function:not(.docutils) dl dt .headerlink,main.bd-content #print-main-content dl.decorator:not(.docutils) dl dt .headerlink,main.bd-content #print-main-content dl.data:not(.docutils) dl dt .headerlink,main.bd-content #print-main-content dl.method:not(.docutils) dl dt .headerlink,main.bd-content #print-main-content dl.attribute:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}main.bd-content #main-content dl.module:not(.docutils) tt,main.bd-content #main-content dl.class:not(.docutils) tt,main.bd-content #main-content dl.exception:not(.docutils) tt,main.bd-content #main-content dl.function:not(.docutils) tt,main.bd-content #main-content dl.decorator:not(.docutils) tt,main.bd-content #main-content dl.data:not(.docutils) tt,main.bd-content #main-content dl.method:not(.docutils) tt,main.bd-content #main-content dl.attribute:not(.docutils) tt,main.bd-content #print-main-content dl.module:not(.docutils) tt,main.bd-content #print-main-content dl.class:not(.docutils) tt,main.bd-content #print-main-content dl.exception:not(.docutils) tt,main.bd-content #print-main-content dl.function:not(.docutils) tt,main.bd-content #print-main-content dl.decorator:not(.docutils) tt,main.bd-content #print-main-content dl.data:not(.docutils) tt,main.bd-content #print-main-content dl.method:not(.docutils) tt,main.bd-content #print-main-content dl.attribute:not(.docutils) tt{font-weight:bold;font-weight:bold}main.bd-content #main-content dl.module:not(.docutils) code,main.bd-content #main-content dl.class:not(.docutils) code,main.bd-content #main-content dl.exception:not(.docutils) code,main.bd-content #main-content dl.function:not(.docutils) code,main.bd-content #main-content dl.decorator:not(.docutils) code,main.bd-content #main-content dl.data:not(.docutils) code,main.bd-content #main-content dl.method:not(.docutils) code,main.bd-content #main-content dl.attribute:not(.docutils) code,main.bd-content #print-main-content dl.module:not(.docutils) code,main.bd-content #print-main-content dl.class:not(.docutils) code,main.bd-content #print-main-content dl.exception:not(.docutils) code,main.bd-content #print-main-content dl.function:not(.docutils) code,main.bd-content #print-main-content dl.decorator:not(.docutils) code,main.bd-content #print-main-content dl.data:not(.docutils) code,main.bd-content #print-main-content dl.method:not(.docutils) code,main.bd-content #print-main-content dl.attribute:not(.docutils) code{font-weight:bold}main.bd-content #main-content dl.module:not(.docutils) tt.descname,main.bd-content #main-content dl.class:not(.docutils) tt.descname,main.bd-content #main-content dl.exception:not(.docutils) tt.descname,main.bd-content #main-content dl.function:not(.docutils) tt.descname,main.bd-content #main-content dl.decorator:not(.docutils) tt.descname,main.bd-content #main-content dl.data:not(.docutils) tt.descname,main.bd-content #main-content dl.method:not(.docutils) tt.descname,main.bd-content #main-content dl.attribute:not(.docutils) tt.descname,main.bd-content #print-main-content dl.module:not(.docutils) tt.descname,main.bd-content #print-main-content dl.class:not(.docutils) tt.descname,main.bd-content #print-main-content dl.exception:not(.docutils) tt.descname,main.bd-content #print-main-content dl.function:not(.docutils) tt.descname,main.bd-content #print-main-content dl.decorator:not(.docutils) tt.descname,main.bd-content #print-main-content dl.data:not(.docutils) tt.descname,main.bd-content #print-main-content dl.method:not(.docutils) tt.descname,main.bd-content #print-main-content dl.attribute:not(.docutils) tt.descname{background-color:transparent;background-color:transparent;border:none;border:none;padding:0;padding:0;font-size:100% !important;font-size:100% !important;font-weight:bold;font-weight:bold}main.bd-content #main-content dl.module:not(.docutils) tt.descclassname,main.bd-content #main-content dl.class:not(.docutils) tt.descclassname,main.bd-content #main-content dl.exception:not(.docutils) tt.descclassname,main.bd-content #main-content dl.function:not(.docutils) tt.descclassname,main.bd-content #main-content dl.decorator:not(.docutils) tt.descclassname,main.bd-content #main-content dl.data:not(.docutils) tt.descclassname,main.bd-content #main-content dl.method:not(.docutils) tt.descclassname,main.bd-content #main-content dl.attribute:not(.docutils) tt.descclassname,main.bd-content #print-main-content dl.module:not(.docutils) tt.descclassname,main.bd-content #print-main-content dl.class:not(.docutils) tt.descclassname,main.bd-content #print-main-content dl.exception:not(.docutils) tt.descclassname,main.bd-content #print-main-content dl.function:not(.docutils) tt.descclassname,main.bd-content #print-main-content dl.decorator:not(.docutils) tt.descclassname,main.bd-content #print-main-content dl.data:not(.docutils) tt.descclassname,main.bd-content #print-main-content dl.method:not(.docutils) tt.descclassname,main.bd-content #print-main-content dl.attribute:not(.docutils) tt.descclassname{background-color:transparent;background-color:transparent;border:none;border:none;padding:0;padding:0;font-size:100% !important;font-size:100% !important}main.bd-content #main-content dl.module:not(.docutils) code.descname,main.bd-content #main-content dl.class:not(.docutils) code.descname,main.bd-content #main-content dl.exception:not(.docutils) code.descname,main.bd-content #main-content dl.function:not(.docutils) code.descname,main.bd-content #main-content dl.decorator:not(.docutils) code.descname,main.bd-content #main-content dl.data:not(.docutils) code.descname,main.bd-content #main-content dl.method:not(.docutils) code.descname,main.bd-content #main-content dl.attribute:not(.docutils) code.descname,main.bd-content #print-main-content dl.module:not(.docutils) code.descname,main.bd-content #print-main-content dl.class:not(.docutils) code.descname,main.bd-content #print-main-content dl.exception:not(.docutils) code.descname,main.bd-content #print-main-content dl.function:not(.docutils) code.descname,main.bd-content #print-main-content dl.decorator:not(.docutils) code.descname,main.bd-content #print-main-content dl.data:not(.docutils) code.descname,main.bd-content #print-main-content dl.method:not(.docutils) code.descname,main.bd-content #print-main-content dl.attribute:not(.docutils) code.descname{background-color:transparent;border:none;padding:0;font-size:100% !important;font-weight:bold}main.bd-content #main-content dl.module:not(.docutils) code.descclassname,main.bd-content #main-content dl.class:not(.docutils) code.descclassname,main.bd-content #main-content dl.exception:not(.docutils) code.descclassname,main.bd-content #main-content dl.function:not(.docutils) code.descclassname,main.bd-content #main-content dl.decorator:not(.docutils) code.descclassname,main.bd-content #main-content dl.data:not(.docutils) code.descclassname,main.bd-content #main-content dl.method:not(.docutils) code.descclassname,main.bd-content #main-content dl.attribute:not(.docutils) code.descclassname,main.bd-content #print-main-content dl.module:not(.docutils) code.descclassname,main.bd-content #print-main-content dl.class:not(.docutils) code.descclassname,main.bd-content #print-main-content dl.exception:not(.docutils) code.descclassname,main.bd-content #print-main-content dl.function:not(.docutils) code.descclassname,main.bd-content #print-main-content dl.decorator:not(.docutils) code.descclassname,main.bd-content #print-main-content dl.data:not(.docutils) code.descclassname,main.bd-content #print-main-content dl.method:not(.docutils) code.descclassname,main.bd-content #print-main-content dl.attribute:not(.docutils) code.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}main.bd-content #main-content dl.module:not(.docutils) .optional,main.bd-content #main-content dl.class:not(.docutils) .optional,main.bd-content #main-content dl.exception:not(.docutils) .optional,main.bd-content #main-content dl.function:not(.docutils) .optional,main.bd-content #main-content dl.decorator:not(.docutils) .optional,main.bd-content #main-content dl.data:not(.docutils) .optional,main.bd-content #main-content dl.method:not(.docutils) .optional,main.bd-content #main-content dl.attribute:not(.docutils) .optional,main.bd-content #print-main-content dl.module:not(.docutils) .optional,main.bd-content #print-main-content dl.class:not(.docutils) .optional,main.bd-content #print-main-content dl.exception:not(.docutils) .optional,main.bd-content #print-main-content dl.function:not(.docutils) .optional,main.bd-content #print-main-content dl.decorator:not(.docutils) .optional,main.bd-content #print-main-content dl.data:not(.docutils) .optional,main.bd-content #print-main-content dl.method:not(.docutils) .optional,main.bd-content #print-main-content dl.attribute:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}main.bd-content #main-content dl.module:not(.docutils) .property,main.bd-content #main-content dl.class:not(.docutils) .property,main.bd-content #main-content dl.exception:not(.docutils) .property,main.bd-content #main-content dl.function:not(.docutils) .property,main.bd-content #main-content dl.decorator:not(.docutils) .property,main.bd-content #main-content dl.data:not(.docutils) .property,main.bd-content #main-content dl.method:not(.docutils) .property,main.bd-content #main-content dl.attribute:not(.docutils) .property,main.bd-content #print-main-content dl.module:not(.docutils) .property,main.bd-content #print-main-content dl.class:not(.docutils) .property,main.bd-content #print-main-content dl.exception:not(.docutils) .property,main.bd-content #print-main-content dl.function:not(.docutils) .property,main.bd-content #print-main-content dl.decorator:not(.docutils) .property,main.bd-content #print-main-content dl.data:not(.docutils) .property,main.bd-content #print-main-content dl.method:not(.docutils) .property,main.bd-content #print-main-content dl.attribute:not(.docutils) .property{display:inline-block;padding-right:8px}main.bd-content #main-content dl.module .viewcode-link,main.bd-content #main-content dl.class .viewcode-link,main.bd-content #main-content dl.exception .viewcode-link,main.bd-content #main-content dl.function .viewcode-link,main.bd-content #main-content dl.decorator .viewcode-link,main.bd-content #main-content dl.data .viewcode-link,main.bd-content #main-content dl.method .viewcode-link,main.bd-content #main-content dl.attribute .viewcode-link,main.bd-content #print-main-content dl.module .viewcode-link,main.bd-content #print-main-content dl.class .viewcode-link,main.bd-content #print-main-content dl.exception .viewcode-link,main.bd-content #print-main-content dl.function .viewcode-link,main.bd-content #print-main-content dl.decorator .viewcode-link,main.bd-content #print-main-content dl.data .viewcode-link,main.bd-content #print-main-content dl.method .viewcode-link,main.bd-content #print-main-content dl.attribute .viewcode-link{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}div.cell div.cell_output{padding-right:0}div.cell.tag_output_scroll div.cell_output,div.cell.tag_scroll-output div.cell_output{max-height:24em;overflow-y:auto}div.cell.tag_scroll-input div.cell_input{max-height:24em;overflow-y:auto}.highlighttable .linenos{vertical-align:baseline}.toggle.admonition button.toggle-button{top:0.5em !important}.admonition{border-radius:.4em;box-shadow:0 0.2rem 0.5rem rgba(0,0,0,0.05),0 0 0.0625rem rgba(0,0,0,0.1)}.admonition.seealso{border-color:#28a745}.admonition.seealso .admonition-title{background-color:rgba(40,167,70,0.1)}.admonition.seealso .admonition-title:before{color:#28a745;content:"\f064"}button.toggle-button-hidden:before{bottom:0.2em !important}div.sidebar,div.margin,div.margin-caption p.caption,.cell.tag_popout,.cell.tag_margin{width:40%;float:right;background-color:unset;border-left:1px #a4a6a7 solid;margin-left:0.5em;padding:.2em 0 .2em 1em}div.sidebar p,div.margin p,div.margin-caption p.caption p,.cell.tag_popout p,.cell.tag_margin p{margin-bottom:0}div.sidebar p.sidebar-title,div.margin p.sidebar-title,div.margin-caption p.caption p.sidebar-title,.cell.tag_popout p.sidebar-title,.cell.tag_margin p.sidebar-title{font-weight:bold;font-size:1.2em}div.sidebar:not(.margin){background-color:#eeebee;padding:1em !important}@media (min-width: 768px){div.cell.tag_popout,div.cell.tag_margin,div.margin,div.margin-caption p.caption{border:none;clear:right;width:31% !important;margin:0 -35% 0 0 !important;padding:0 !important;font-size:0.9rem;line-height:1.3;vertical-align:baseline;position:relative}div.cell.tag_popout p,div.cell.tag_margin p,div.margin p,div.margin-caption p.caption p{margin-bottom:.5em}div.cell.tag_popout p.sidebar-title,div.cell.tag_margin p.sidebar-title,div.margin p.sidebar-title,div.margin-caption p.caption p.sidebar-title{font-size:1em}div.cell.tag_margin .cell_output{padding-left:0}div.sidebar:not(.margin){width:60%;margin-left:1.5em;margin-right:-28%}}@media (min-width: 768px){div.cell.tag_full-width,div.cell.tag_full_width,div.full_width,div.full-width{width:134% !important}}blockquote{margin:1em;padding:.2em 1.5em;border-left:4px solid #ccc}blockquote.pull-quote,blockquote.epigraph,blockquote.highlights{font-size:1.25em;border-left:none}blockquote div>p{margin-bottom:.5em}blockquote div>p+p.attribution{font-style:normal;font-size:.9em;text-align:right;color:#6c757d;padding-right:2em}div.highlight{background:none;margin-bottom:1em}div.cell div.highlight{margin-bottom:0em}.thebelab-cell{border:none !important;margin-right:.5em !important}.thebelab-cell .thebelab-input{padding-left:10px !important}.cell.docutils.container{padding-right:0px !important}button.thebe-launch-button{height:2.5em;font-size:1em}div.tableofcontents-wrapper p.caption{font-weight:600 !important;margin-bottom:0em !important}.cm-s-default{font-family:var(--jp-code-font-family);font-size:var(--jp-code-font-size);line-height:var(--jp-code-line-height)}.CodeMirror-focused{background-color:var(--jp-cell-editor-active-background) !important;border:var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);margin:-1px}.topbar,.topbar-contents,.topbar-main{height:3em}.topbar{background-color:white;transition:left .2s}.scrolled .topbar{box-shadow:0 6px 6px -6px rgba(0,0,0,0.3)}.topbar .topbar-main{padding-top:0.25rem;padding-bottom:0.25rem;padding-right:0}.topbar .topbar-main>button,.topbar .topbar-main>div,.topbar .topbar-main>a{float:left;height:100%}.topbar .topbar-main button.topbarbtn{margin:0 .1em;background-color:white;color:#5a5a5a;border:none;padding-top:.1rem;padding-bottom:.1rem;font-size:1.4em}.topbar .topbar-main button.topbarbtn i.fab{vertical-align:baseline;line-height:1}.topbar .topbar-main div.dropdown-buttons-trigger,.topbar .topbar-main a.edit-button,.topbar .topbar-main a.full-screen-button{float:right}.bd-topbar-whitespace{width:275px;flex:auto;transition:flex 0.2s ease 0s}@media (max-width: 768px){.bd-topbar-whitespace{border-bottom:1px solid transparent}.bd-topbar-whitespace.show,.bd-topbar-whitespace.collapsing,body.scrolled .bd-topbar-whitespace{border-color:rgba(0,0,0,0.1);position:absolute;bottom:0;width:100%;display:block}}span.topbar-button-text{margin-left:0.4em}@media (max-width: 768px){span.topbar-button-text{display:none}}div.dropdown-buttons-trigger div.dropdown-buttons{display:none;position:absolute;max-width:130px;margin-top:.2em;z-index:1000;transform:translate(-60%)}div.dropdown-buttons-trigger div.dropdown-buttons.sourcebuttons .topbarbtn i{padding-right:6px;margin-left:-5px;font-size:.9em !important}div.dropdown-buttons-trigger div.dropdown-buttons button.topbarbtn{padding-top:.35rem;padding-bottom:.35rem;min-width:120px !important;border:1px white solid !important;background-color:#5a5a5a;color:white;font-size:1em}div.dropdown-buttons-trigger:hover div.dropdown-buttons{display:block}a.dropdown-buttons i{margin-right:.5em}button.topbarbtn img{height:1.15em;padding-right:6px;margin-left:-5px}#navbar-toggler{position:relative;margin-right:1em;margin-left:.5em;color:#5a5a5a}#navbar-toggler i{transition:opacity .3s, transform .3s;position:absolute;top:16%;left:0;display:block;font-size:1.2em}#navbar-toggler i.fa-bars{opacity:0;transform:rotate(180deg) scale(0.5)}#navbar-toggler i.fa-arrow-left,#navbar-toggler i.fa-arrow-up{opacity:1}#navbar-toggler.collapsed i.fa-bars{opacity:1;transform:rotate(0) scale(1)}#navbar-toggler.collapsed i.fa-arrow-left,#navbar-toggler.collapsed i.fa-arrow-up{opacity:0;transform:rotate(-180deg) scale(0.5)}@media (max-width: 768px){#navbar-toggler i.fa-arrow-up{display:none}}@media (min-width: 768px){#navbar-toggler i.fa-arrow-up{display:none}#navbar-toggler i.fa-arrow-left{display:inherit}}@media (min-width: 768px){.bd-topbar-whitespace{max-width:275px}}.bd-toc{padding:0px !important;right:-1em;z-index:999;height:auto}.bd-toc div.onthispage,.bd-toc .toc-entry a{color:#5a5a5a}.bd-toc nav{opacity:0;max-height:0;transition:opacity 0.2s ease, max-height .7s ease;overflow-y:hidden;background:white;scrollbar-width:thin}.bd-toc nav::-webkit-scrollbar{width:5px}.bd-toc nav::-webkit-scrollbar{background:#f1f1f1}.bd-toc nav::-webkit-scrollbar-thumb{background:#c1c1c1}.bd-toc nav::-webkit-scrollbar-thumb:hover{background:#a0a0a0}@media (min-width: 992px){.bd-toc nav:not(:hover){-ms-overflow-style:none}.bd-toc nav:not(:hover)::-webkit-scrollbar{background:#FFFFFF}.bd-toc nav:not(:hover)::-webkit-scrollbar-thumb{background:#FFFFFF}}.bd-toc nav a:hover,.bd-toc nav li.active>a.active{color:rgba(var(--pst-color-link), 1)}.bd-toc nav li.active>a.active{border-left:2px solid rgba(var(--pst-color-link), 1)}.bd-toc nav>.nav{border-left:1px solid #eee}.bd-toc nav>.nav .nav{border-left:none}.bd-toc:hover nav,.bd-toc.show nav{max-height:90vh;opacity:1;overflow-y:auto}.bd-toc:hover .tocsection:after,.bd-toc.show .tocsection:after{opacity:0}.bd-toc .tocsection{padding:.5rem 0 .5rem 1rem !important}.bd-toc .tocsection:after{content:"\f107";font-family:"Font Awesome 5 Free";font-weight:900;padding-left:.5em;transition:opacity .3s ease}.bd-toc .toc-entry a{padding:.125rem 1rem !important}.bd-toc div.editthispage{display:none}#site-navigation{height:100vh !important;width:275px;flex:auto;top:0px !important;margin-left:0;overflow-y:auto;background:white;transition:margin-left .2s ease 0s, opacity .2s ease 0s, visibility .2s ease 0s;z-index:2000 !important;scrollbar-width:thin}#site-navigation.collapse{visibility:hidden;margin-left:-275px;opacity:0;display:block}#site-navigation.collapse.show{visibility:visible;margin-left:0;opacity:1}#site-navigation::-webkit-scrollbar{width:5px}#site-navigation::-webkit-scrollbar{background:#f1f1f1}#site-navigation::-webkit-scrollbar-thumb{background:#c1c1c1}#site-navigation::-webkit-scrollbar-thumb:hover{background:#a0a0a0}@media (min-width: 992px){#site-navigation:not(:hover){-ms-overflow-style:none}#site-navigation:not(:hover)::-webkit-scrollbar{background:#FFFFFF}#site-navigation:not(:hover)::-webkit-scrollbar-thumb{background:#FFFFFF}}@media (max-width: 768px){#site-navigation{position:fixed;margin-top:3em;border-right:1px solid rgba(0,0,0,0.1)}#site-navigation.single-page{display:none}}#site-navigation nav ul.nav li a,#site-navigation nav ul.nav ul li a{color:#5a5a5a}#site-navigation nav ul.nav a:hover,#site-navigation nav ul.nav li.active>a,#site-navigation nav ul.nav li.active>a:hover{color:rgba(var(--pst-color-link), 1)}#site-navigation h1.site-logo{margin:.5em 0 0 0;font-size:1.1em;color:black;text-align:center}#site-navigation div.navbar_extra_footer{text-align:center;font-size:.9em;color:#5a5a5a;margin-bottom:3em}#site-navigation.single-page{border-right:0}@media (min-width: 768px){div.navbar-brand-box{padding-top:2em}}div.navbar-brand-box a.navbar-brand{width:100%;height:auto}div.navbar-brand-box a.navbar-brand img{display:block;height:auto;width:auto;max-height:10vh;max-width:100%;margin:0 auto}@media (min-width: 768px){div.navbar-brand-box a.navbar-brand img{max-height:15vh !important}}nav.bd-links{margin-left:0px;overflow-y:visible;max-height:none}nav.bd-links p.caption,nav.bd-links .toctree-l1 a{padding-left:0em}@media (min-width: 768px){.bd-sidebar{max-width:275px}}footer{padding-left:0}footer>div.container{padding-left:0}ul.ablog-archive{padding-left:0px}ul.postlist{padding-left:0}ul.postlist>li>p:first-child{font-size:1.5em}ul.postlist li+li{margin-top:2em}ul.postlist li>p>a{font-style:normal;font-size:1.3em}div.bd-sidebar h2{font-size:1.5em}div.bd-sidebar h3{font-size:1.4em}div.bd-sidebar>ul{list-style:none;padding-left:0}@media print{.noprint{display:none !important}.onlyprint{display:block !important}.tag_popout,div.margin{float:none;margin:2em 0 2em auto !important;border:1px solid #a4a6a7;padding:1em !important;border-radius:5px;width:50%;margin-top:0;margin-bottom:0;padding-right:1em;font-size:0.9rem;line-height:1.3;background-color:#ffe !important;vertical-align:baseline;position:relative;padding-left:0}.tag_popout p,div.margin p{margin:0px}.bd-content div#main-content>div{flex:0 0 100%;max-width:100%;overflow-x:hidden}h1{text-align:center;margin-top:1em;margin-bottom:0}h1,h2,h3,h4{break-after:avoid;color:black}#jb-print-docs-body+div h1:first-of-type,div.prev-next-area{display:none}table{break-inside:avoid}pre{word-wrap:break-word}a.copybtn,a.headerlink{display:none}.tag-fullwidth{width:145%;clear:both}div.toggle-hidden{visibility:inherit;opacity:1;height:auto}button.toggle-button{display:none}blockquote.epigraph{border:none}div.container{min-width:50% !important}div.bd-sidebar,div.prev-next-bottom{display:none}div.topbar{height:0;padding:0;position:inherit}div.topbar div.topbar-main{opacity:0}.section-nav{border-left:0px;list-style-type:disc;margin-left:3em}.section-nav a{text-decoration:none;padding-left:0px}.section-nav li{display:list-item !important}.section-nav .nav{display:none}#jb-print-toc{margin-bottom:1.5rem}.footer{margin-top:1em}}
diff --git a/doc/LectureNotes/_build/html/_static/sphinx-book-theme.d59cb220de22ca1c485ebbdc042f0030.js b/doc/LectureNotes/_build/html/_static/sphinx-book-theme.d59cb220de22ca1c485ebbdc042f0030.js
new file mode 100644
index 000000000..d06a7cc4d
--- /dev/null
+++ b/doc/LectureNotes/_build/html/_static/sphinx-book-theme.d59cb220de22ca1c485ebbdc042f0030.js
@@ -0,0 +1,22 @@
+var initTriggerNavBar=()=>{if($(window).width()<768){$("#navbar-toggler").trigger("click")}}
+var scrollToActive=()=>{var navbar=document.getElementById('site-navigation')
+var active_pages=navbar.querySelectorAll(".active")
+var active_page=active_pages[active_pages.length-1]
+if(active_page!==undefined&&active_page.offsetTop>($(window).height()*.5)){navbar.scrollTop=active_page.offsetTop-($(window).height()*.2)}}
+var sbRunWhenDOMLoaded=cb=>{if(document.readyState!='loading'){cb()}else if(document.addEventListener){document.addEventListener('DOMContentLoaded',cb)}else{document.attachEvent('onreadystatechange',function(){if(document.readyState=='complete')cb()})}}
+function toggleFullScreen(){var navToggler=$("#navbar-toggler");if(!document.fullscreenElement){document.documentElement.requestFullscreen();if(!navToggler.hasClass("collapsed")){navToggler.click();}}else{if(document.exitFullscreen){document.exitFullscreen();if(navToggler.hasClass("collapsed")){navToggler.click();}}}}
+var initTooltips=()=>{$(document).ready(function(){$('[data-toggle="tooltip"]').tooltip();});}
+var initTocHide=()=>{var scrollTimeout;var throttle=200;var tocHeight=$("#bd-toc-nav").outerHeight(true)+$(".bd-toc").outerHeight(true);var hideTocAfter=tocHeight+200;var checkTocScroll=function(){var margin_content=$(".margin, .tag_margin, .full-width, .full_width, .tag_full-width, .tag_full_width, .sidebar, .tag_sidebar, .popout, .tag_popout");margin_content.each((index,item)=>{var topOffset=$(item).offset().top-$(window).scrollTop();var bottomOffset=topOffset+$(item).outerHeight(true);var removeToc=(topOffset=0);if(removeToc&&window.pageYOffset>20){$("div.bd-toc").removeClass("show")
+return false}else{$("div.bd-toc").addClass("show")};})};var manageScrolledClassOnBody=function(){if(window.scrollY>0){document.body.classList.add("scrolled");}else{document.body.classList.remove("scrolled");}}
+$(window).on('scroll',function(){if(!scrollTimeout){scrollTimeout=setTimeout(function(){checkTocScroll();manageScrolledClassOnBody();scrollTimeout=null;},throttle);}});}
+var printPdf=(el)=>{let tooltipID=$(el).attr("aria-describedby")
+let tooltipTextDiv=$("#"+tooltipID).detach()
+window.print()
+$("body").append(tooltipTextDiv)}
+var initThebeSBT=()=>{var title=$("div.section h1")[0]
+if(!$(title).next().hasClass("thebe-launch-button")){$(" ").insertAfter($(title))}
+initThebe();}
+sbRunWhenDOMLoaded(initTooltips)
+sbRunWhenDOMLoaded(initTriggerNavBar)
+sbRunWhenDOMLoaded(scrollToActive)
+sbRunWhenDOMLoaded(initTocHide)
diff --git a/doc/LectureNotes/_build/html/_static/sphinx-thebe.css b/doc/LectureNotes/_build/html/_static/sphinx-thebe.css
index b19a7b029..1da27930c 100644
--- a/doc/LectureNotes/_build/html/_static/sphinx-thebe.css
+++ b/doc/LectureNotes/_build/html/_static/sphinx-thebe.css
@@ -1,30 +1,30 @@
/* Thebelab Buttons */
.thebelab-button {
- z-index: 999;
- display: inline-block;
- padding: 0.35em 1.2em;
- margin: 0px 1px;
- border-radius: 0.12em;
- box-sizing: border-box;
- text-decoration: none;
- font-family: 'Roboto', sans-serif;
- font-weight: 300;
- text-align: center;
- transition: all 0.2s;
- background-color: #dddddd;
- border: 0.05em solid white;
- color: #000000;
+ z-index: 999;
+ display: inline-block;
+ padding: 0.35em 1.2em;
+ margin: 0px 1px;
+ border-radius: 0.12em;
+ box-sizing: border-box;
+ text-decoration: none;
+ font-family: "Roboto", sans-serif;
+ font-weight: 300;
+ text-align: center;
+ transition: all 0.2s;
+ background-color: #dddddd;
+ border: 0.05em solid white;
+ color: #000000;
}
-.thebelab-button:hover{
- border: 0.05em solid black;
- background-color: #fcfcfc;
+.thebelab-button:hover {
+ border: 0.05em solid black;
+ background-color: #fcfcfc;
}
.thebe-launch-button {
- height: 2.2em;
- font-size: .8em;
- border: 1px black solid;
+ height: 2.2em;
+ font-size: 0.8em;
+ border: 1px black solid;
}
/* Thebelab Cell */
@@ -33,88 +33,97 @@
}
.thebelab-cell .thebelab-input {
- padding-left: 1em;
- margin-bottom: .5em;
- margin-top: .5em;
+ padding-left: 1em;
+ margin-bottom: 0.5em;
+ margin-top: 0.5em;
}
.thebelab-cell .jp-OutputArea {
- margin-top: .5em;
- margin-left: 1em;
+ margin-top: 0.5em;
+ margin-left: 1em;
}
button.thebelab-button.thebelab-run-button {
- margin-left: 1.5em;
- margin-bottom: .5em;
+ margin-left: 1.5em;
+ margin-bottom: 0.5em;
}
/* Loading button */
button.thebe-launch-button div.spinner {
- float: left;
- margin-right: 1em;
+ float: left;
+ margin-right: 1em;
}
/* Remove the spinner when thebelab is ready */
.thebe-launch-button.thebe-status-ready .spinner {
- display: none;
+ display: none;
}
.thebe-launch-button span.status {
- font-family: monospace;
- font-weight: bold;
+ font-family: monospace;
+ font-weight: bold;
}
.thebe-launch-button.thebe-status-ready span.status {
- color: green;
+ color: green;
}
.spinner {
- height: 2em;
- text-align: center;
- font-size: 0.7em;
- }
+ height: 2em;
+ text-align: center;
+ font-size: 0.7em;
+}
- .spinner > div {
- background-color: #F37726;
- height: 100%;
- width: 6px;
- display: inline-block;
+.spinner > div {
+ background-color: #f37726;
+ height: 100%;
+ width: 6px;
+ display: inline-block;
- -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
- animation: sk-stretchdelay 1.2s infinite ease-in-out;
- }
+ -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
+ animation: sk-stretchdelay 1.2s infinite ease-in-out;
+}
- .spinner .rect2 {
- -webkit-animation-delay: -1.1s;
- animation-delay: -1.1s;
- }
+.spinner .rect2 {
+ -webkit-animation-delay: -1.1s;
+ animation-delay: -1.1s;
+}
- .spinner .rect3 {
- -webkit-animation-delay: -1.0s;
- animation-delay: -1.0s;
- }
+.spinner .rect3 {
+ -webkit-animation-delay: -1s;
+ animation-delay: -1s;
+}
- .spinner .rect4 {
- -webkit-animation-delay: -0.9s;
- animation-delay: -0.9s;
- }
+.spinner .rect4 {
+ -webkit-animation-delay: -0.9s;
+ animation-delay: -0.9s;
+}
- .spinner .rect5 {
- -webkit-animation-delay: -0.8s;
- animation-delay: -0.8s;
- }
+.spinner .rect5 {
+ -webkit-animation-delay: -0.8s;
+ animation-delay: -0.8s;
+}
- @-webkit-keyframes sk-stretchdelay {
- 0%, 40%, 100% { -webkit-transform: scaleY(0.4) }
- 20% { -webkit-transform: scaleY(1.0) }
+@-webkit-keyframes sk-stretchdelay {
+ 0%,
+ 40%,
+ 100% {
+ -webkit-transform: scaleY(0.4);
}
+ 20% {
+ -webkit-transform: scaleY(1);
+ }
+}
- @keyframes sk-stretchdelay {
- 0%, 40%, 100% {
- transform: scaleY(0.4);
- -webkit-transform: scaleY(0.4);
- } 20% {
- transform: scaleY(1.0);
- -webkit-transform: scaleY(1.0);
- }
+@keyframes sk-stretchdelay {
+ 0%,
+ 40%,
+ 100% {
+ transform: scaleY(0.4);
+ -webkit-transform: scaleY(0.4);
}
+ 20% {
+ transform: scaleY(1);
+ -webkit-transform: scaleY(1);
+ }
+}
diff --git a/doc/LectureNotes/_build/html/_static/sphinx-thebe.js b/doc/LectureNotes/_build/html/_static/sphinx-thebe.js
index 4842c4455..7626dbb0a 100644
--- a/doc/LectureNotes/_build/html/_static/sphinx-thebe.js
+++ b/doc/LectureNotes/_build/html/_static/sphinx-thebe.js
@@ -1,30 +1,19 @@
/**
* Add attributes to Thebe blocks to initialize thebe properly
*/
+var configureThebe = () => {
+ // Load thebe config in case we want to update it as some point
+ console.log("[sphinx-thebe]: Loading thebe config...");
+ thebe_config = $('script[type="text/x-thebe-config"]')[0];
-var initThebe = () => {
- // If Thebelab hasn't loaded, wait a bit and try again. This
- // happens because we load ClipboardJS asynchronously.
- if (window.thebelab === undefined) {
- console.log("thebe not loaded, retrying...");
- setTimeout(initThebe, 500)
- return
- }
+ // If we already detect a Thebe cell, don't re-run
+ if (document.querySelectorAll("div.thebe-cell").length > 0) {
+ return;
+ }
- console.log("Adding thebe to code cells...");
-
- // Load thebe config in case we want to update it as some point
- thebe_config = $('script[type="text/x-thebe-config"]')[0]
-
-
- // If we already detect a Thebe cell, don't re-run
- if (document.querySelectorAll('div.thebe-cell').length > 0) {
- return;
- }
-
- // Update thebe buttons with loading message
- $(".thebe-launch-button").each((ii, button) => {
- button.innerHTML = `
+ // Update thebe buttons with loading message
+ $(".thebe-launch-button").each((ii, button) => {
+ button.innerHTML = `
@@ -32,65 +21,106 @@ var initThebe = () => {
`;
- })
+ });
- // Set thebe event hooks
- var thebeStatus;
- thebelab.on("status", function (evt, data) {
- console.log("Status changed:", data.status, data.message);
+ // Set thebe event hooks
+ var thebeStatus;
+ thebelab.on("status", function (evt, data) {
+ console.log("Status changed:", data.status, data.message);
- $(".thebe-launch-button ")
- .removeClass("thebe-status-" + thebeStatus)
- .addClass("thebe-status-" + data.status)
- .find(".loading-text").html("Launching from mybinder.org: " + data.status + " ");
+ $(".thebe-launch-button ")
+ .removeClass("thebe-status-" + thebeStatus)
+ .addClass("thebe-status-" + data.status)
+ .find(".loading-text")
+ .html(
+ "Launching from mybinder.org: " +
+ data.status +
+ " "
+ );
- // Now update our thebe status
- thebeStatus = data.status;
+ // Now update our thebe status
+ thebeStatus = data.status;
- // Find any cells with an initialization tag and ask thebe to run them when ready
- if (data.status === "ready") {
- var thebeInitCells = document.querySelectorAll('.thebe-init, .tag_thebe-init');
- thebeInitCells.forEach((cell) => {
- console.log("Initializing Thebe with cell: " + cell.id);
- cell.querySelector('.thebelab-run-button').click();
- });
- }
+ // Find any cells with an initialization tag and ask thebe to run them when ready
+ if (data.status === "ready") {
+ var thebeInitCells = document.querySelectorAll(
+ ".thebe-init, .tag_thebe-init"
+ );
+ thebeInitCells.forEach((cell) => {
+ console.log("Initializing Thebe with cell: " + cell.id);
+ cell.querySelector(".thebelab-run-button").click();
+ });
+ }
+ });
+};
+
+/**
+ * Update the page DOM to use Thebe elements
+ */
+var modifyDOMForThebe = () => {
+ // Find all code cells, replace with Thebe interactive code cells
+ const codeCells = document.querySelectorAll(thebe_selector);
+ codeCells.forEach((codeCell, index) => {
+ const codeCellId = (index) => `codecell${index}`;
+ codeCell.id = codeCellId(index);
+ codeCellText = codeCell.querySelector(thebe_selector_input);
+ codeCellOutput = codeCell.querySelector(thebe_selector_output);
+
+ // Clean up the language to make it work w/ CodeMirror and add it to the cell
+ dataLanguage = detectLanguage(kernelName);
+
+ // Re-arrange the cell and add metadata
+ if (codeCellText) {
+ codeCellText.setAttribute("data-language", dataLanguage);
+ codeCellText.setAttribute("data-executable", "true");
+
+ // If we had an output, insert it just after the `pre` cell
+ if (codeCellOutput) {
+ $(codeCellOutput).attr("data-output", "");
+ $(codeCellOutput).insertAfter(codeCellText);
+ }
+ }
+
+ // Remove sphinx-copybutton blocks, which are common in Sphinx
+ codeCell.querySelectorAll("button.copybtn").forEach((el) => {
+ el.remove();
});
+ });
+};
+var initThebe = () => {
+ // Load thebe dynamically if it's not already loaded
+ if (typeof thebelab === "undefined") {
+ console.log("[sphinx-thebe]: Loading thebe from CDN...");
+ $(".thebe-launch-button ").text("Loading thebe from CDN...");
- // Find all code cells, replace with Thebe interactive code cells
- const codeCells = document.querySelectorAll(thebe_selector)
- codeCells.forEach((codeCell, index) => {
- const codeCellId = index => `codecell${index}`;
- codeCell.id = codeCellId(index);
- codeCellText = codeCell.querySelector(thebe_selector_input);
- codeCellOutput = codeCell.querySelector(thebe_selector_output);
+ const script = document.createElement("script");
+ script.src = `${THEBE_JS_URL}`;
+ document.head.appendChild(script);
- // Clean up the language to make it work w/ CodeMirror and add it to the cell
- dataLanguage = detectLanguage(kernelName);
-
- if (codeCellText) {
- codeCellText.setAttribute('data-language', dataLanguage);
- codeCellText.setAttribute('data-executable', 'true');
-
- // If we had an output, insert it just after the `pre` cell
- if (codeCellOutput) {
- $(codeCellOutput).attr("data-output", "");
- $(codeCellOutput).insertAfter(codeCellText);
- }
- }
+ // Runs once the script has finished loading
+ script.addEventListener("load", () => {
+ console.log("[sphinx-thebe]: Finished loading thebe from CDN...");
+ configureThebe();
+ modifyDOMForThebe();
+ thebelab.bootstrap();
});
-
- // Init thebe
+ } else {
+ console.log(
+ "[sphinx-thebe]: thebe already loaded, not loading from CDN..."
+ );
+ configureThebe();
+ modifyDOMForThebe();
thebelab.bootstrap();
-}
+ }
+};
// Helper function to munge the language name
var detectLanguage = (language) => {
- if (language.indexOf('python') > -1) {
- language = "python";
- } else if (language === 'ir') {
- language = "r"
- }
- return language;
-}
+ if (language.indexOf("python") > -1) {
+ language = "python";
+ } else if (language === "ir") {
+ language = "r";
+ }
+ return language;
+};
diff --git a/doc/LectureNotes/_build/html/_static/webpack-macros.html b/doc/LectureNotes/_build/html/_static/webpack-macros.html
index 144f18859..748f33e6b 100644
--- a/doc/LectureNotes/_build/html/_static/webpack-macros.html
+++ b/doc/LectureNotes/_build/html/_static/webpack-macros.html
@@ -12,14 +12,14 @@
{% endmacro %}
{% macro head_pre_bootstrap() %}
-
-
+
+
{% endmacro %}
{% macro head_js_preload() %}
-
+
{% endmacro %}
{% macro body_post() %}
-
+
{% endmacro %}
\ No newline at end of file
diff --git a/doc/LectureNotes/_build/html/chapter1.html b/doc/LectureNotes/_build/html/chapter1.html
index 4dd4cda6f..8e959a813 100644
--- a/doc/LectureNotes/_build/html/chapter1.html
+++ b/doc/LectureNotes/_build/html/chapter1.html
@@ -7,8 +7,8 @@
3. Linear Regression — Applied Data Analysis and Machine Learning
-
-
+
+
-
+
@@ -41,22 +41,24 @@
-
-
-
-
-
+
+
+
+
-
+
+
+
+
@@ -91,11 +93,11 @@
-
+
About the course
@@ -117,7 +119,7 @@
-
+
Review of Statistics with Resampling Techniques and Linear Algebra
@@ -134,7 +136,7 @@
-
+
From Regression to Support Vector Machines
@@ -171,7 +173,7 @@
-
+
Decision Trees, Ensemble Methods and Boosting
@@ -188,7 +190,7 @@
-
+
Dimensionality Reduction
@@ -199,8 +201,13 @@
11. Basic ideas of the Principal Component Analysis (PCA)
+
+
+ 12. Clustering and Unsupervised Learning
+
+
-
+
Deep Learning Methods
@@ -208,17 +215,27 @@
@@ -267,7 +284,7 @@
data-placement="left">.ipynb
.pdf
+ onclick="printPdf(this)" data-toggle="tooltip" data-placement="left">.pdf
@@ -285,7 +302,7 @@
-
+
Contents
@@ -405,7 +422,130 @@
-
+
+
+
Linear Regression
+
+
+
+
+
+
Contents
+
+
+
+
+
+
+
+
+
@@ -797,13 +937,13 @@ example of the functionality of Scikit-Learn .
The intercept alpha:
- [1.99977416]
+ [2.09170751]
Coefficient beta :
- [[4.86546962]]
-Mean squared error: 0.31
-Variance score: 0.87
+ [[4.91479093]]
+Mean squared error: 0.21
+Variance score: 0.90
Mean squared log error: 0.01
-Mean absolute error: 0.44
+Mean absolute error: 0.35
@@ -903,7 +1043,7 @@ a linear
\(x\) -dependence we s
-
@@ -1085,6 +1225,34 @@ covert them into the
pandas DataFrame structure.
+
+
---------------------------------------------------------------------------
+ValueError Traceback (most recent call last)
+< ipython - input - 8 - 30 b53504a633 > in < module >
+ 1 # Read the experimental data with Pandas
+----> 2 Masses = pd . read_fwf ( infile , usecols = ( 2 , 3 , 4 , 6 , 11 ),
+ 3 names = ( 'N' , 'Z' , 'A' , 'Element' , 'Ebinding' ),
+ 4 widths = ( 1 , 3 , 5 , 5 , 5 , 1 , 3 , 4 , 1 , 13 , 11 , 11 , 9 , 1 , 2 , 11 , 9 , 1 , 3 , 1 , 12 , 11 , 1 ),
+ 5 header = 39 ,
+
+~/miniforge3/envs/myenv/lib/python3.9/site-packages/pandas/util/_decorators.py in wrapper (*args, **kwargs)
+ 309 stacklevel = stacklevel ,
+ 310 )
+--> 311 return func ( * args , ** kwargs )
+ 312
+ 313 return wrapper
+
+~/miniforge3/envs/myenv/lib/python3.9/site-packages/pandas/io/parsers/readers.py in read_fwf (filepath_or_buffer, colspecs, widths, infer_nrows, **kwds)
+ 869 len_index = len ( index_col )
+ 870 if len ( names ) + len_index != len ( colspecs ):
+--> 871 raise ValueError ( "Length of colspecs must match length of names" )
+ 872
+ 873 kwds [ "colspecs" ] = colspecs
+
+ValueError : Length of colspecs must match length of names
+
+
+
We have now read in the data, grouped them according to the variables we are interested in.
We see how easy it is to reorganize the data using pandas . If we
@@ -1106,25 +1274,6 @@ the number of nucleons \(A\) ,
-
-
N Z A Element Ebinding
-A
-4 0 1 3 4 Li 1.153760
-5 2 3 2 5 He 5.512132
-6 7 3 3 6 Li 5.332331
-7 12 4 3 7 Li 5.606439
-8 17 4 4 8 Be 7.062435
-... ... ... ... ... ...
-264 3297 156 108 264 Hs 7.298375
-265 3303 157 108 265 Hs 7.296247
-266 3310 158 108 266 Hs 7.298273
-269 3331 159 110 269 Ds 7.250154
-270 3337 160 110 270 Ds 7.253775
-
-[264 rows x 5 columns]
-
-
-
The next step, and we will define this mathematically later, is to set up the so-called design matrix . We will throughout call this matrix \(\boldsymbol{X}\) .
It has dimensionality \(n\times p\) , where \(n\) is the number of data points and \(p\) are the so-called predictors. In our case here they are given by the number of polynomials in \(A\) we wish to include in the fit.
@@ -1180,14 +1329,6 @@ Now we can print measures of how our fit is doing, the coefficients from the fit
-
-
Mean squared error: 0.02
-Variance score: 0.95
-Mean absolute error: 0.05
-
-
-
-
As a teaser, let us now see how we can do this with decision trees using Scikit-Learn . Later we will switch to so-called random forests !
@@ -1224,27 +1365,6 @@ Mean absolute error: 0.05
-
-
-
N Z A Element Ebinding Eapprox
-A
-4 0 1 3 4 Li 1.153760 1.153760
-5 2 3 2 5 He 5.512132 5.512132
-6 7 3 3 6 Li 5.332331 5.332331
-7 12 4 3 7 Li 5.606439 5.606439
-8 17 4 4 8 Be 7.062435 7.062435
-... ... ... ... ... ... ...
-264 3297 156 108 264 Hs 7.298375 7.298375
-265 3303 157 108 265 Hs 7.296247 7.296247
-266 3310 158 108 266 Hs 7.298273 7.298273
-269 3331 159 110 269 Ds 7.250154 7.250154
-270 3337 160 110 270 Ds 7.253775 7.253775
-
-[264 rows x 6 columns]
-0.007012403613997257
-
-
-
With a deeper and deeper tree level, we can almost reproduce every
single data point by increasing the max depth of the tree.
@@ -1291,99 +1411,6 @@ functionality.
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
- warnings.warn(
-
-
-
-
@@ -1620,133 +1647,6 @@ our matrix as \(\boldsymbol{X}\in {\m
-
-
-
-
-
-
-
- 1
- A
- A^(2/3)
- A^(-1/3)
- 1/A
-
-
- A
-
-
-
-
-
-
-
-
-
- 4
- 1.0
- 4.0
- 2.519842
- 0.629961
- 0.250000
-
-
- 5
- 1.0
- 5.0
- 2.924018
- 0.584804
- 0.200000
-
-
- 6
- 1.0
- 6.0
- 3.301927
- 0.550321
- 0.166667
-
-
- 7
- 1.0
- 7.0
- 3.659306
- 0.522758
- 0.142857
-
-
- 8
- 1.0
- 8.0
- 4.000000
- 0.500000
- 0.125000
-
-
- ...
- ...
- ...
- ...
- ...
- ...
-
-
- 264
- 1.0
- 264.0
- 41.153106
- 0.155883
- 0.003788
-
-
- 265
- 1.0
- 265.0
- 41.256962
- 0.155687
- 0.003774
-
-
- 266
- 1.0
- 266.0
- 41.360688
- 0.155491
- 0.003759
-
-
- 269
- 1.0
- 269.0
- 41.671089
- 0.154911
- 0.003717
-
-
- 270
- 1.0
- 270.0
- 41.774300
- 0.154720
- 0.003704
-
-
-
-
264 rows × 5 columns
-
With \(\boldsymbol{\beta}\in {\mathbb{R}}^{p\times 1}\) , it means that we will hereafter write our equations for the approximation as
@@ -1972,9 +1872,6 @@ write
-
-
-
We can easily test our fit by computing the \(R2\) score that we discussed in connection with the functionality of Scikit-Learn in the introductory slides.
Since we are not using Scikit-Learn here we can define our own \(R2\) function as
@@ -1993,11 +1890,6 @@ Since we are not using Scikit-Learn here we can define our own
-
We can easily add our MSE score as
@@ -2010,11 +1902,6 @@ Since we are not using Scikit-Learn here we can define our own
-
and finally the relative error as
@@ -2025,23 +1912,6 @@ Since we are not using Scikit-Learn here we can define our own
-
-
A
-4 0 1.093247
-5 2 0.275341
-6 7 0.060080
-7 12 0.019587
-8 17 0.117986
- ...
-264 3297 0.000148
-265 3303 0.001263
-266 3310 0.002948
-269 3331 0.000599
-270 3337 0.002526
-Name: Ebinding, Length: 264, dtype: float64
-
-
-
3.4.1. The \(\chi^2\) function
@@ -2253,15 +2123,6 @@ instead of our own matrix inversion implementation.
-
-
Mean squared error: 12.36
-Variance score: 1.00
-Mean absolute error: 2.83
-[ 0. 618.32047562 -861.13519106 1404.91549644] -11.057088709963182
-
-
-
-
The above simple polynomial in density \(\rho\) gives an excellent fit
to the data.
@@ -2327,19 +2188,6 @@ the fit becomes better or worse.
-
-
[1.98036405 0.07345504 4.90054363]
-Training R2
-0.9955282554647219
-Training MSE
-0.009450756365829578
-Test R2
-0.9893149172528393
-Test MSE
-0.014209325470380275
-
-
-
Alternatively, you could write your own test-train splitting function as shown here.
@@ -2437,18 +2285,6 @@ but now splitting the data into a training set and a test set.
-
-
Training R2
-0.9999858320366368
-Training MSE
-6.690569639355314
-Test R2
-0.9999840939906267
-Test MSE
-5.457770268480242
-
-
-
@@ -2503,49 +2339,6 @@ the house using the features (predictors) listed here.
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/sklearn/utils/deprecation.py:87: FutureWarning: Function load_boston is deprecated; `load_boston` is deprecated in 1.0 and will be removed in 1.2.
-
- The Boston housing prices dataset has an ethical problem. You can refer to
- the documentation of this function for further details.
-
- The scikit-learn maintainers therefore strongly discourage the use of this
- dataset unless the purpose of the code is to study and educate about
- ethical issues in data science and machine learning.
-
- In this case special case, you can fetch the dataset from the original
- source::
-
- import pandas as pd
- import numpy as np
-
-
- data_url = "http://lib.stat.cmu.edu/datasets/boston"
- raw_df = pd.read_csv(data_url, sep="\s+", skiprows=22, header=None)
- data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])
- target = raw_df.values[1::2, 2]
-
- Alternative datasets include the California housing dataset (i.e.
- func:`~sklearn.datasets.fetch_california_housing`) and the Ames housing
- dataset. You can load the datasets as follows:
-
- from sklearn.datasets import fetch_california_housing
- housing = fetch_california_housing()
-
- for the California housing dataset and:
-
- from sklearn.datasets import fetch_openml
- housing = fetch_openml(name="house_prices", as_frame=True)
-
- for the Ames housing dataset.
-
- warnings.warn(msg, category=FutureWarning)
-
-
-
dict_keys(['data', 'target', 'feature_names', 'DESCR', 'filename', 'data_module'])
-
-
-
Then we invoke Pandas
@@ -2565,25 +2358,6 @@ the house using the features (predictors) listed here.
-
-
CRIM 0
-ZN 0
-INDUS 0
-CHAS 0
-NOX 0
-RM 0
-AGE 0
-DIS 0
-RAD 0
-TAX 0
-PTRATIO 0
-B 0
-LSTAT 0
-MEDV 0
-dtype: int64
-
-
-
We can then visualize the data
@@ -2597,13 +2371,6 @@ dtype: int64
-
-
/Users/MortenImac/anaconda3/lib/python3.8/site-packages/seaborn/distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).
- warnings.warn(msg, FutureWarning)
-
-
-
-
It is now useful to look at the correlation matrix
@@ -2616,12 +2383,6 @@ dtype: int64
-
-
-
-
From the above coorelation plot we can see that MEDV is strongly correlated to LSTAT and RM . We see also that RAD and TAX are stronly correlated, but we don’t include this in our features together to avoid multi-colinearity
@@ -2642,9 +2403,6 @@ dtype: int64
-
-
-
Now we start training our model
@@ -2670,14 +2428,6 @@ dtype: int64
-
-
(404, 2)
-(102, 2)
-(404,)
-(102,)
-
-
-
Then we use the linear regression functionality from Scikit-Learn
@@ -2716,20 +2466,6 @@ dtype: int64
-
-
The model performance for training set
---------------------------------------
-RMSE is 5.6371293350711955
-R2 score is 0.6300745149331701
-
-
-The model performance for testing set
---------------------------------------
-RMSE is 5.137400784702911
-R2 score is 0.6628996975186953
-
-
-
@@ -2740,9 +2476,6 @@ R2 score is 0.6628996975186953
-
-
-
@@ -2846,346 +2579,6 @@ represent a specific feature whose mean value is subracted.
-
-
-
-
-
-
-
- 0
- 1
- 2
- 3
- 4
-
-
-
-
- 0
- -1.749765
- 0.342680
- 1.153036
- -0.252436
- 0.981321
-
-
- 1
- 0.514219
- 0.221180
- -1.070043
- -0.189496
- 0.255001
-
-
- 2
- -0.458027
- 0.435163
- -0.583595
- 0.816847
- 0.672721
-
-
- 3
- -0.104411
- -0.531280
- 1.029733
- -0.438136
- -1.118318
-
-
- 4
- 1.618982
- 1.541605
- -0.251879
- -0.842436
- 0.184519
-
-
- 5
- 0.937082
- 0.731000
- 1.361556
- -0.326238
- 0.055676
-
-
- 6
- 0.222400
- -1.443217
- -0.756352
- 0.816454
- 0.750445
-
-
- 7
- -0.455947
- 1.189622
- -1.690617
- -1.356399
- -1.232435
-
-
- 8
- -0.544439
- -0.668172
- 0.007315
- -0.612939
- 1.299748
-
-
- 9
- -1.733096
- -0.983310
- 0.357508
- -1.613579
- 1.470714
-
-
-
-
0 -0.175300
-1 0.083527
-2 -0.044334
-3 -0.399836
-4 0.331939
-dtype: float64
-0 1.069584
-1 0.965548
-2 1.018232
-3 0.793167
-4 0.918992
-dtype: float64
-
-
-
-
-
-
-
-
- 0
- 1
- 2
- 3
- 4
-
-
-
-
- 0
- -1.574465
- 0.259153
- 1.197370
- 0.147400
- 0.649382
-
-
- 1
- 0.689519
- 0.137652
- -1.025709
- 0.210340
- -0.076938
-
-
- 2
- -0.282727
- 0.351636
- -0.539261
- 1.216683
- 0.340782
-
-
- 3
- 0.070889
- -0.614808
- 1.074067
- -0.038300
- -1.450257
-
-
- 4
- 1.794282
- 1.458078
- -0.207545
- -0.442600
- -0.147420
-
-
- 5
- 1.112383
- 0.647473
- 1.405890
- 0.073598
- -0.276263
-
-
- 6
- 0.397700
- -1.526744
- -0.712018
- 1.216290
- 0.418506
-
-
- 7
- -0.280647
- 1.106095
- -1.646283
- -0.956563
- -1.564374
-
-
- 8
- -0.369139
- -0.751699
- 0.051649
- -0.213103
- 0.967809
-
-
- 9
- -1.557795
- -1.066837
- 0.401842
- -1.213743
- 1.138775
-
-
-
-
-
-
-
-
-
- 0
- 1
- 2
- 3
- 4
-
-
-
-
- 0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
-
-
- 1
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
-
-
- 2
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
-
-
- 3
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
-
-
- 4
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
-
-
- 5
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
-
-
- 6
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
-
-
- 7
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
-
-
- 8
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
-
-
- 9
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
-
-
-
-
Small exercise: perform the standard scaling by including the standard deviation and compare with what Scikit-Learn gives.
Another commonly used scaling method is min-max scaling. This is very
@@ -3247,9 +2640,6 @@ ourmodel (here in terms of the polynomial degree of the model).
-
-
-
@@ -3455,54 +2845,42 @@ your results. For which polynomial degree do you find an optimal MSE
-
-
-
-
-
+
+
+ By Morten Hjorth-Jensen
+
+ © Copyright 2021.
+
+
-
+
-