rummage 4.21.2__tar.gz → 4.23__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. {rummage-4.21.2 → rummage-4.23}/.gitignore +3 -0
  2. rummage-4.23/LICENSE.md +16 -0
  3. {rummage-4.21.2 → rummage-4.23}/PKG-INFO +12 -15
  4. {rummage-4.21.2 → rummage-4.23}/README.md +0 -3
  5. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/.snippets/links.md +1 -2
  6. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/about/changelog.md +16 -3
  7. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/about/contributing.md +4 -4
  8. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/about/license.md +1 -1
  9. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/preferences.md +2 -0
  10. rummage-4.23/docs/src/markdown/sitemap.md +3 -0
  11. rummage-4.23/docs/theme/announce.html +6 -0
  12. rummage-4.23/docs/theme/assets/pymdownx-extras/extra-928cef6c86.css +2 -0
  13. rummage-4.23/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js +4 -0
  14. rummage-4.23/docs/theme/main.html +17 -0
  15. rummage-4.23/docs/theme/nav.html +14 -0
  16. rummage-4.23/docs/theme/sitemap.html +14 -0
  17. {rummage-4.21.2 → rummage-4.23}/gui.fbp +19 -1
  18. {rummage-4.21.2 → rummage-4.23}/hatch_build.py +1 -1
  19. {rummage-4.21.2 → rummage-4.23}/pyproject.toml +7 -7
  20. rummage-4.23/requirements/docs.txt +4 -0
  21. rummage-4.23/requirements/extras.txt +2 -0
  22. rummage-4.23/requirements/project.txt +11 -0
  23. rummage-4.23/requirements/test-project.txt +3 -0
  24. {rummage-4.21.2 → rummage-4.23}/rummage/lib/__meta__.py +1 -1
  25. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/app/rummage_app.py +0 -5
  26. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/result_lists.py +16 -12
  27. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/webview.py +6 -4
  28. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/about/changelog.html +15 -2
  29. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/about/contributing.html +7 -7
  30. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/about/license.html +1 -1
  31. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/extras.html +9 -9
  32. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/preferences.html +22 -21
  33. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/search.html +15 -15
  34. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/sitemap.html +18 -9
  35. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/usage.html +22 -22
  36. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/delete_dialog.py +25 -9
  37. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/rummage_dialog.py +36 -3
  38. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/settings_dialog.py +3 -1
  39. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/gui.py +9 -0
  40. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/localization/locale/en_US/LC_MESSAGES/rummage.po +197 -165
  41. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/localization/locale/ru_RU/LC_MESSAGES/rummage.po +195 -165
  42. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/util/__init__.py +2 -8
  43. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/util/images.py +2 -2
  44. {rummage-4.21.2 → rummage-4.23}/tests/test_rumcore.py +1 -1
  45. {rummage-4.21.2 → rummage-4.23}/tests/test_text_decode.py +1 -1
  46. {rummage-4.21.2 → rummage-4.23}/tools/gen_docs.py +19 -10
  47. rummage-4.21.2/LICENSE.md +0 -9
  48. rummage-4.21.2/docs/theme/announce.html +0 -5
  49. rummage-4.21.2/mkdocs-internal.yml +0 -93
  50. rummage-4.21.2/mkdocs.yml +0 -134
  51. rummage-4.21.2/requirements/docs.txt +0 -4
  52. rummage-4.21.2/requirements/extras.txt +0 -2
  53. rummage-4.21.2/requirements/project.txt +0 -11
  54. rummage-4.21.2/requirements/test-project.txt +0 -3
  55. {rummage-4.21.2 → rummage-4.23}/.coveragerc +0 -0
  56. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/.snippets/abbr.md +0 -0
  57. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/.snippets/refs.md +0 -0
  58. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/extras.md +0 -0
  59. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/chain_button.png +0 -0
  60. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/chain_mode.png +0 -0
  61. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/chains.png +0 -0
  62. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/content_tab.png +0 -0
  63. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/file_pattern.png +0 -0
  64. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/files_tab.png +0 -0
  65. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/html_export.png +0 -0
  66. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/limit_search_panel.png +0 -0
  67. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/load_search.png +0 -0
  68. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/logo.svg +0 -0
  69. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/plugin_input.png +0 -0
  70. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/plugin_toggle.png +0 -0
  71. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/preview.png +0 -0
  72. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/regex_buttons.png +0 -0
  73. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/regex_tester.png +0 -0
  74. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/rummage.png +0 -0
  75. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/rummage.svg +0 -0
  76. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/save_search.png +0 -0
  77. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/search_replace_inputs.png +0 -0
  78. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/search_replace_panel.png +0 -0
  79. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/search_tab.png +0 -0
  80. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/settings_backup.png +0 -0
  81. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/settings_editor.png +0 -0
  82. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/settings_encoding.png +0 -0
  83. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/settings_export.png +0 -0
  84. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/settings_general.png +0 -0
  85. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/settings_history.png +0 -0
  86. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/settings_import.png +0 -0
  87. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/settings_notify.png +0 -0
  88. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/settings_search.png +0 -0
  89. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/thunar-basic.png +0 -0
  90. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/thunar-conditions.png +0 -0
  91. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/images/thunar-custom.png +0 -0
  92. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/index.md +0 -0
  93. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/installation.md +0 -0
  94. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/search.md +0 -0
  95. {rummage-4.21.2 → rummage-4.23}/docs/src/markdown/usage.md +0 -0
  96. {rummage-4.21.2 → rummage-4.23}/requirements/lint.txt +0 -0
  97. {rummage-4.21.2 → rummage-4.23}/requirements/setup.txt +0 -0
  98. {rummage-4.21.2 → rummage-4.23}/requirements/test.txt +0 -0
  99. {rummage-4.21.2 → rummage-4.23}/rummage/__init__.py +0 -0
  100. {rummage-4.21.2 → rummage-4.23}/rummage/__main__.py +0 -0
  101. {rummage-4.21.2 → rummage-4.23}/rummage/lib/__init__.py +0 -0
  102. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/__init__.py +0 -0
  103. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/actions/__init__.py +0 -0
  104. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/actions/checksum/__init__.py +0 -0
  105. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/actions/checksum/sum_hashes.py +0 -0
  106. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/actions/checksum/tiger.py +0 -0
  107. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/actions/checksum/whirlpool.py +0 -0
  108. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/actions/export_csv.py +0 -0
  109. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/actions/export_html.py +0 -0
  110. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/actions/fileops.py +0 -0
  111. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/actions/sanitize_json.py +0 -0
  112. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/actions/updates.py +0 -0
  113. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/app/__init__.py +0 -0
  114. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/app/custom_app.py +0 -0
  115. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/app/platform_window_focus.py +0 -0
  116. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/__init__.py +0 -0
  117. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/autocomplete_combo.py +0 -0
  118. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/collapsible_pane.py +0 -0
  119. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/custom_statusbar.py +0 -0
  120. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/date_picker.py +0 -0
  121. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/dock_icon.py +0 -0
  122. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/dynamic_lists.py +0 -0
  123. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/encoding_list.py +0 -0
  124. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/file_picker.py +0 -0
  125. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/load_search_list.py +0 -0
  126. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/pick_button.py +0 -0
  127. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/search_chain_list.py +0 -0
  128. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/search_error_list.py +0 -0
  129. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/controls/time_picker.py +0 -0
  130. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/__init__.py +0 -0
  131. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/arrow_down.png +0 -0
  132. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/arrow_left.png +0 -0
  133. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/arrow_right.png +0 -0
  134. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/arrow_up.png +0 -0
  135. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/binary.png +0 -0
  136. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/doc.png +0 -0
  137. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/404.html +0 -0
  138. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/css/theme.css +0 -0
  139. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/chain_button.png +0 -0
  140. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/chain_mode.png +0 -0
  141. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/chains.png +0 -0
  142. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/content_tab.png +0 -0
  143. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/file_pattern.png +0 -0
  144. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/files_tab.png +0 -0
  145. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/html_export.png +0 -0
  146. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/limit_search_panel.png +0 -0
  147. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/load_search.png +0 -0
  148. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/logo.svg +0 -0
  149. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/plugin_input.png +0 -0
  150. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/plugin_toggle.png +0 -0
  151. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/preview.png +0 -0
  152. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/regex_buttons.png +0 -0
  153. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/regex_tester.png +0 -0
  154. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/rummage.png +0 -0
  155. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/rummage.svg +0 -0
  156. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/save_search.png +0 -0
  157. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/search_replace_inputs.png +0 -0
  158. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/search_replace_panel.png +0 -0
  159. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/search_tab.png +0 -0
  160. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/settings_backup.png +0 -0
  161. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/settings_editor.png +0 -0
  162. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/settings_encoding.png +0 -0
  163. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/settings_export.png +0 -0
  164. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/settings_general.png +0 -0
  165. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/settings_history.png +0 -0
  166. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/settings_import.png +0 -0
  167. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/settings_notify.png +0 -0
  168. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/settings_search.png +0 -0
  169. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/thunar-basic.png +0 -0
  170. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/thunar-conditions.png +0 -0
  171. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/images/thunar-custom.png +0 -0
  172. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/index.html +0 -0
  173. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/installation.html +0 -0
  174. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/docs/js/theme.js +0 -0
  175. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/error.png +0 -0
  176. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/glass.png +0 -0
  177. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/results.css +0 -0
  178. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/rummage.icns +0 -0
  179. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/rummage.ico +0 -0
  180. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/rummage.png +0 -0
  181. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/rummage_1024.png +0 -0
  182. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/rummage_128.png +0 -0
  183. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/rummage_16.png +0 -0
  184. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/rummage_256.png +0 -0
  185. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/rummage_32.png +0 -0
  186. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/rummage_40.png +0 -0
  187. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/rummage_48.png +0 -0
  188. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/rummage_512.png +0 -0
  189. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/rummage_mac.png +0 -0
  190. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/data/sorttable.js +0 -0
  191. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/__init__.py +0 -0
  192. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/checksum_dialog.py +0 -0
  193. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/column_dialog.py +0 -0
  194. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/edit_search_chain_dialog.py +0 -0
  195. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/error_text_dialog.py +0 -0
  196. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/export_settings_dialog.py +0 -0
  197. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/file_ext_dialog.py +0 -0
  198. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/generic_dialogs.py +0 -0
  199. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/html_dialog.py +0 -0
  200. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/import_settings_dialog.py +0 -0
  201. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/load_search_dialog.py +0 -0
  202. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/msg_dialogs.py +0 -0
  203. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/overwrite_dialog.py +0 -0
  204. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/regex_test_dialog.py +0 -0
  205. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/save_search_dialog.py +0 -0
  206. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/search_chain_dialog.py +0 -0
  207. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/search_error_dialog.py +0 -0
  208. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/dialogs/support_info_dialog.py +0 -0
  209. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/localization/__init__.py +0 -0
  210. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/notify/__init__.py +0 -0
  211. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/notify/notify_linux.py +0 -0
  212. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/notify/notify_osx.py +0 -0
  213. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/notify/notify_windows.py +0 -0
  214. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/notify/util.py +0 -0
  215. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/settings/__init__.py +0 -0
  216. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/util/colors.py +0 -0
  217. {rummage-4.21.2 → rummage-4.23}/rummage/lib/gui/util/png.py +0 -0
  218. {rummage-4.21.2 → rummage-4.23}/rummage/lib/rumcore/__init__.py +0 -0
  219. {rummage-4.21.2 → rummage-4.23}/rummage/lib/rumcore/text_decode.py +0 -0
  220. {rummage-4.21.2 → rummage-4.23}/rummage/lib/rumcore/util.py +0 -0
  221. {rummage-4.21.2 → rummage-4.23}/tests/__init__.py +0 -0
  222. {rummage-4.21.2 → rummage-4.23}/tests/test_versions.py +0 -0
  223. {rummage-4.21.2 → rummage-4.23}/tests/util.py +0 -0
  224. {rummage-4.21.2 → rummage-4.23}/tools/__init__.py +0 -0
  225. {rummage-4.21.2 → rummage-4.23}/tools/gui_patch.py +0 -0
@@ -1,5 +1,8 @@
1
1
  coverage.xml
2
2
 
3
+ manifest-css.json
4
+ manifest-js.json
5
+
3
6
  *.py[cod]
4
7
 
5
8
  # C extensions
@@ -0,0 +1,16 @@
1
+ MIT license.
2
+
3
+ Copyright (c) 2013 - 2026 Isaac Muse <isaacmuse@gmail.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
6
+ documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
7
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
8
+ persons to whom the Software is furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
11
+ Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
14
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
16
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rummage
3
- Version: 4.21.2
3
+ Version: 4.23
4
4
  Summary: A GUI search and replace app.
5
5
  Project-URL: Homepage, https://github.com/facelessuser/Rummage
6
6
  Author-email: Isaac Muse <Isaac.Muse@gmail.com>
@@ -13,35 +13,34 @@ Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: OSI Approved :: MIT License
14
14
  Classifier: Operating System :: OS Independent
15
15
  Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.8
17
16
  Classifier: Programming Language :: Python :: 3.9
18
17
  Classifier: Programming Language :: Python :: 3.10
19
18
  Classifier: Programming Language :: Python :: 3.11
20
19
  Classifier: Programming Language :: Python :: 3.12
21
20
  Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
22
22
  Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
23
23
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
24
  Classifier: Topic :: Text Processing :: Filters
25
25
  Classifier: Topic :: Text Processing :: Markup :: HTML
26
- Requires-Python: >=3.7
27
- Requires-Dist: backrefs>=5.7
28
- Requires-Dist: bracex>=2.4
29
- Requires-Dist: chardet>=5.1.0
30
- Requires-Dist: coloraide>=4.0
26
+ Requires-Python: >=3.9
27
+ Requires-Dist: backrefs>=6.1
28
+ Requires-Dist: bracex>=2.6
29
+ Requires-Dist: chardet>=5.2.0
30
+ Requires-Dist: coloraide>=6.2
31
31
  Requires-Dist: filelock>=3.16
32
- Requires-Dist: markdown>=3.7
33
- Requires-Dist: pygments>=2.14.1
34
- Requires-Dist: pymdown-extensions>=10.11
32
+ Requires-Dist: markdown>=3.10
33
+ Requires-Dist: pygments>=2.19.2
34
+ Requires-Dist: pymdown-extensions>=10.20
35
35
  Requires-Dist: send2trash>=1.8.3
36
36
  Requires-Dist: wcmatch<11.0,>=10.0
37
37
  Requires-Dist: wxpython>=4.1.0
38
38
  Provides-Extra: extras
39
- Requires-Dist: faust-cchardet>=2.1.18; extra == 'extras'
40
- Requires-Dist: regex>=2024.9.11; extra == 'extras'
39
+ Requires-Dist: faust-cchardet>=2.1.19; extra == 'extras'
40
+ Requires-Dist: regex>=2025.7.34; extra == 'extras'
41
41
  Description-Content-Type: text/markdown
42
42
 
43
43
  [![Donate via PayPal][donate-image]][donate-link]
44
- [![Build][github-ci-image]][github-ci-link]
45
44
  [![Coverage][codecov-image]][codecov-link]
46
45
  [![PyPI Version][pypi-image]][pypi-link]
47
46
  [![PyPI - Python Version][python-image]][pypi-link]
@@ -72,8 +71,6 @@ License
72
71
 
73
72
  Rummage is released under the MIT license.
74
73
 
75
- [github-ci-image]: https://github.com/facelessuser/Rummage/workflows/build/badge.svg
76
- [github-ci-link]: https://github.com/facelessuser/Rummage/actions?workflow=build
77
74
  [codecov-image]: https://img.shields.io/codecov/c/github/facelessuser/Rummage/master.svg?logo=codecov&logoColor=aaaaaa&labelColor=333333
78
75
  [codecov-link]: https://codecov.io/github/facelessuser/Rummage
79
76
  [pypi-image]: https://img.shields.io/pypi/v/Rummage.svg?logo=pypi&logoColor=aaaaaa&labelColor=333333
@@ -1,5 +1,4 @@
1
1
  [![Donate via PayPal][donate-image]][donate-link]
2
- [![Build][github-ci-image]][github-ci-link]
3
2
  [![Coverage][codecov-image]][codecov-link]
4
3
  [![PyPI Version][pypi-image]][pypi-link]
5
4
  [![PyPI - Python Version][python-image]][pypi-link]
@@ -30,8 +29,6 @@ License
30
29
 
31
30
  Rummage is released under the MIT license.
32
31
 
33
- [github-ci-image]: https://github.com/facelessuser/Rummage/workflows/build/badge.svg
34
- [github-ci-link]: https://github.com/facelessuser/Rummage/actions?workflow=build
35
32
  [codecov-image]: https://img.shields.io/codecov/c/github/facelessuser/Rummage/master.svg?logo=codecov&logoColor=aaaaaa&labelColor=333333
36
33
  [codecov-link]: https://codecov.io/github/facelessuser/Rummage
37
34
  [pypi-image]: https://img.shields.io/pypi/v/Rummage.svg?logo=pypi&logoColor=aaaaaa&labelColor=333333
@@ -14,8 +14,6 @@
14
14
  [fullmatch]: https://docs.python.org/3/library/re.html#re.fullmatch
15
15
  [grepwin]: http://stefanstools.sourceforge.net/grepWin.html
16
16
  [markdown]: https://github.com/Python-Markdown/markdown
17
- [mkdocs]: https://github.com/mkdocs/mkdocs
18
- [mkdocs-material]: https://github.com/squidfunk/mkdocs-material
19
17
  [posix]: https://facelessuser.github.io/wcmatch/fnmatch/#posix-character-classes
20
18
  [pygments]: http://pygments.org/
21
19
  [pymdown-extensions]: https://github.com/facelessuser/pymdown-extensions
@@ -27,3 +25,4 @@
27
25
  [wcmatch-fnmatch]: https://facelessuser.github.io/wcmatch/fnmatch/#syntax
28
26
  [wxpython]: https://pypi.org/project/wxPython/
29
27
  [wxpython-prereq]: https://github.com/wxWidgets/Phoenix/blob/master/README.rst#prerequisites
28
+ [zensical]: https://github.com/zensical/zensical
@@ -1,10 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.23
4
+
5
+ - **NEW**: Add support for Python 3.14.
6
+ - **NEW**: Upgrade dependencies.
7
+
8
+ ## 4.22
9
+
10
+ - **NEW**: Drop Python 3.8 support.
11
+ - **NEW**: Upgrade dependencies to pick up bug fixes.
12
+ - **NEW**: Add a command under the main menu to delete backups recursively under the current working directory.
13
+ - **FIX**: Custom focus is not needed to focus the app from macOS dock anymore.
14
+ - **FIX**: Fix some issues with context menu right click selection in list controls.
15
+
3
16
  ## 4.21.2
4
17
 
5
- - **FIX**: Use a different wxPython time control on macOS as the previous one would crash on the M series chips.
6
- - **FIX**: Fix an issue with local time to UTC conversion.
7
- - **FIX**: Fix an issue where created time comparisons was actually being done on modified times.
18
+ - **FIX**: Use a different wxPython time control on macOS as the previous one would crash on the M series chips.
19
+ - **FIX**: Fix an issue with local time to UTC conversion.
20
+ - **FIX**: Fix an issue where created time comparisons was actually being done on modified times.
8
21
 
9
22
  ## 4.21.1
10
23
 
@@ -88,10 +88,10 @@ with documentation is always appreciated and can be done via pull requests. The
88
88
  validation tests if only updating documentation.
89
89
 
90
90
  To build the documentation, you will need the necessary requirements. You can get them by running
91
- `pip install -r requirements/docs.txt`. We currently use a combination of [MkDocs][mkdocs], the
92
- [Material theme][mkdocs-material], and [PyMdown Extensions][pymdown-extensions] to render the docs. You can preview
93
- the docs if you install these packages via the requirements file. The command for previewing the docs is
94
- `mkdocs serve`. It should be run from the root directory. You can then view the documents at `localhost:8000`.
91
+ `pip install -r requirements/docs.txt`. We currently use [Zensical][zensical] and [PyMdown Extensions][pymdown-extensions]
92
+ to render the docs. You can preview the docs if you install these packages via the requirements file. The command for
93
+ previewing the docs is `zensical serve`. It should be run from the root directory. You can then view the documents at
94
+ `localhost:8000`.
95
95
 
96
96
  When providing documentation updates, please generate Rummage's internal documentation via `python tools/gen_docs.py`.
97
97
  Pull requests will currently fail if the documentation is not updated along with the requested changes.
@@ -2,7 +2,7 @@
2
2
 
3
3
  MIT license.
4
4
 
5
- Copyright (c) 2013 - 2024 Isaac Muse <isaacmuse@gmail.com>
5
+ Copyright (c) 2013 - 2026 Isaac Muse <isaacmuse@gmail.com>
6
6
 
7
7
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
8
8
  documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
@@ -186,6 +186,8 @@ The **Backups** panel allows you to configure where Rummage creates backups. You
186
186
  placed in the same folder as the original source, or if they are put into a subfolder. You can also configure the name
187
187
  of the subfolder used or the extension used when not writing to a subfolder.
188
188
 
189
+ If you need to quickly delete all backups, you can select `File -> Delete Backups` from the main menu.
190
+
189
191
  ## Import/Export Settings
190
192
 
191
193
  If desired, Rummage's settings can be exported to a JSON file or imported from a JSON file. This can be particularly
@@ -0,0 +1,3 @@
1
+ ---
2
+ template: "sitemap.html"
3
+ ---
@@ -0,0 +1,6 @@
1
+ <a href="{{ 'about/contributing/#become-a-sponsor' | url }}">Sponsorship</a>
2
+ is now available!
3
+ <span class="twemoji heart-throb">
4
+ {% set icon = "octicons/heart-fill-16" %}
5
+ {% include ".icons/" ~ icon ~ ".svg" %}
6
+ </span>
@@ -0,0 +1,2 @@
1
+ :root>*{--md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);--md-tab-control-bg: var(--md-default-bg-color);--md-code-fg-color: #1F1F1F;--md-code-bg-color: #F5F5F5;--md-code-title-bg-color: #F5F5F5;--md-code-inline-bg-color: #F5F5F5;--md-code-hl-operator-color: #A3134D;--md-code-hl-punctuation-color: #1F1F1F;--md-code-hl-string-color: #836E15;--md-code-hl-special-color: #644AC9;--md-code-hl-number-color: #644AC9;--md-code-hl-keyword-color: #A3134D;--md-code-hl-name-color: #1F1F1F;--md-code-hl-constant-color: #644AC9;--md-code-hl-function-color: #14720A;--md-code-hl-comment-color: #635D97;--md-code-hl-variable-color: #A34D14;--md-code-hl-generic-color: #635D97;--md-code-hl-color: #CFCFDE;--md-code-hl-color--light: #DCDEEF;--md-typeset-table-color: rgb(0% 0% 0% / 15%);--md-code-hl-entity-color: #14720A;--md-code-hl-tag-color: #A3134D;--md-code-hl-namespace-color: #1F1F1F;--md-code-hl-builtin-color: #036A96;--md-code-hl-class-color: #036A96;--md-code-special-bg-color: #DCDEEF;--md-steps-bg-color: var(--md-code-bg-color);--md-steps-fg-color: var(--md-code-fg-color);--md-steps-border-color: hsla(0, 0%, 75%, 1);--md-typeset-a-color: #00bcd4;--md-progress-stripe: var(--md-default-bg-color--lighter);--md-progress-100: #00e676;--md-progress-80: #00e676;--md-progress-60: #fbc02d;--md-progress-40: #ff9100;--md-progress-20: #ff5252;--md-progress-0: #ff1744;--md-typeset-kbd-color: rgb(228.3721025416, 228.3721025416, 228.3721025416);--md-typeset-kbd-border-color: rgb(164.4010497691, 164.4010497691, 164.4010497691);--md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1)}:root>*[data-md-color-scheme=slate]{--md-default-fg-color: hsla(60, 30%, 96.078%, 0.87);--md-default-fg-color--light: hsla(60, 30%, 96.078%, 0.54);--md-default-fg-color--lighter: hsla(60, 30%, 96.078%, 0.36);--md-default-fg-color--lightest: hsla(60, 30%, 96.078%, 0.12);--md-default-autocomplete-fg-color: hsla(60, 30%, 96.078%, 0.4);--md-shadow-z2: 0 0.2rem 0.5rem hsla(0, 0%, 0%, 0.3), 0 0 0.05rem hsla(0, 0%, 0%, 0.2);--md-footer-fg-color: var(--md-default-fg-color);--md-default-bg-color: var(--md-default-bg-color--darkest);--md-default-bg-color--light: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.7);--md-default-bg-color--lighter: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.4);--md-default-bg-color--lightest: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.1);--md-default-bg-color--trans: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0);--md-tab-control-bg: var(--md-default-bg-color--dark);--md-default-bg-color--dark: color(srgb 0.1147606354 0.1213715063 0.1588331081);--md-default-bg-color--darker: color(srgb 0.0781790415 0.0833653407 0.1127543696);--md-default-bg-color--darkest: color(srgb 0.0327882794 0.0359366892 0.0551574304);--md-text-color: var(--md-default-fg-color);--md-typeset-color: var(--md-default-fg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-code-fg-color: hsl(60, 30%, 96.078%);--md-code-bg-color: hsl(231, 15%, 18%);--md-code-title-bg-color: hsl(231, 15%, 18%);--md-code-inline-bg-color: hsl(231, 15%, 18%);--md-code-hl-operator-color: hsl(326, 100%, 74%);--md-code-hl-punctuation-color: hsl(60, 30%, 96.078%);--md-code-hl-string-color: hsl(65, 92%, 76%);--md-code-hl-special-color: hsl(265, 89%, 78%);--md-code-hl-number-color: hsl(265, 89%, 78%);--md-code-hl-keyword-color: hsl(326, 100%, 74%);--md-code-hl-name-color: hsl(60, 30%, 96.078%);--md-code-hl-constant-color: hsl(265, 89%, 78%);--md-code-hl-function-color: hsl(135, 94%, 65%);--md-code-hl-comment-color: hsl(225, 27%, 51%);--md-code-hl-variable-color: hsl(31, 100%, 71%);--md-code-hl-generic-color: hsl(225, 27%, 51%);--md-code-hl-color: hsl(231, 15%, 30%);--md-code-hl-color--light: hsl(231, 25%, 25%);--md-code-bg-color--light: hsla(231, 15%, 18%, 0.9);--md-code-bg-color--lighter: hsla(231, 15%, 18%, 0.5);--md-typeset-table-color: rgb(100% 100% 100% / 15%);--md-code-hl-entity-color: hsl(135, 94%, 65%);--md-code-hl-tag-color: hsl(326, 100%, 74%);--md-code-hl-namespace-color: hsl(60, 30%, 96.078%);--md-code-hl-builtin-color: hsl(191, 97%, 77%);--md-code-hl-class-color: hsl(191, 97%, 77%);--md-code-special-bg-color: hsl(231, 25%, 25%);--md-steps-border-color: hsl(230.6613379686, 10.4241713343%, 28.1575403575%);--md-typeset-a-color: hsl(191, 97%, 77%);--md-typeset-mark-color: hsl(75.3111515854, 11.5600114451%, 37.8888925515%);--md-typeset-del-color: hsl(314.8219481072, 22.0434125534%, 35.1703201111%);--md-typeset-ins-color: hsl(145.2334928709, 27.8121663576%, 33.1574755691%);--md-progress-stripe: var(--md-default-bg-color--lightest);--md-progress-100: hsl(135, 94%, 65%);--md-progress-80: hsl(96.9286079031, 93.5050765575%, 74.7933068737%);--md-progress-60: hsl(65, 92%, 76%);--md-progress-40: hsl(31, 100%, 71%);--md-progress-20: hsl(326, 100%, 74%);--md-progress-0: hsl(0, 100%, 67%);--md-typeset-kbd-color: var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color: var(--md-default-bg-color--dark);--md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate][data-md-color-primary=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-primary-code-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-primary-fg-color: hsla(0deg, 100%, 67%, 1);--md-primary-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-primary-fg-color--light: hsla(0deg, 100%, 72%, 1);--md-primary-fg-color--dark: hsla(0deg, 100%, 62%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-primary-code-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-primary-fg-color: hsla(326deg, 100%, 74%, 1);--md-primary-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-primary-fg-color--light: hsla(326deg, 100%, 79%, 1);--md-primary-fg-color--dark: hsla(326deg, 100%, 69%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-code-link-accent-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-accent-fg-color: hsla(0deg, 100%, 67%, 1);--md-accent-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-code-link-accent-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-accent-fg-color: hsla(326deg, 100%, 74%, 1);--md-accent-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}:root{--md-heart: #ff5252;--md-heart-big: #ff1744}:root [data-md-color-scheme=slate]{--md-heart: hsl(0, 100%, 67%);--md-heart-big: hsl(326, 100%, 74%)}.md-typeset a.source-link{position:relative;top:-0.6rem;float:right;color:var(--md-default-fg-color--lighter);transition:color 125ms}.md-typeset a.source-link:hover{color:var(--md-accent-fg-color)}.md-typeset a.source-link .twemoji{height:1.2rem}.md-typeset a.source-link .twemoji svg{width:1.2rem;height:1.2rem}.md-typeset div.highlight.md-max-height pre>code{max-height:15rem}.twemoji.heart-throb svg,.twemoji.heart-throb-hover svg{position:relative;color:var(--md-heart);animation:pulse 1.5s ease infinite}@keyframes pulse{0%{transform:scale(1)}40%{color:var(--md-heart-big);transform:scale(1.3)}50%{transform:scale(1.2)}60%{color:var(--md-heart-big);transform:scale(1.3)}100%{transform:scale(1)}}footer.sponsorship{text-align:center}footer.sponsorship .twemoji{padding:.05rem}footer.sponsorship a{text-decoration:none}footer.sponsorship hr{display:inline-block;width:1.6rem;margin:0 .7rem;vertical-align:middle;border-bottom:2px solid var(--md-default-fg-color--lighter)}footer.sponsorship:hover hr{border-color:var(--md-accent-fg-color)}footer.sponsorship:not(:hover) .twemoji.heart-throb-hover svg{color:var(--md-default-fg-color--lighter) !important}:root>*{--md-admonition-icon-color: #3654c2;--md-admonition-bg-color: rgba(54, 84, 194, 0.1)}:root>*[data-md-color-scheme=slate]{--md-admonition-icon-color: hsl(225, 100%, 75%);--md-admonition-bg-color: hsla(225, 100%, 75%, 0.1)}:root>*{--md-admonition-icon--settings: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 15.5A3.5 3.5 0 0 1 8.5 12 3.5 3.5 0 0 1 12 8.5a3.5 3.5 0 0 1 3.5 3.5 3.5 3.5 0 0 1-3.5 3.5m7.43-2.53c.04-.32.07-.64.07-.97s-.03-.66-.07-1l2.11-1.63c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.31-.61-.22l-2.49 1c-.52-.39-1.06-.73-1.69-.98l-.37-2.65A.506.506 0 0 0 14 2h-4c-.25 0-.46.18-.5.42l-.37 2.65c-.63.25-1.17.59-1.69.98l-2.49-1c-.22-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64L4.57 11c-.04.34-.07.67-.07 1s.03.65.07.97l-2.11 1.66c-.19.15-.25.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1.01c.52.4 1.06.74 1.69.99l.37 2.65c.04.24.25.42.5.42h4c.25 0 .46-.18.5-.42l.37-2.65c.63-.26 1.17-.59 1.69-.99l2.49 1.01c.22.08.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64z"/></svg>');--md-admonition-bg-color--settings: rgba(170, 0, 255, 0.1);--md-admonition-icon-color--settings: #aa00ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--settings: hsla(326, 100%, 74%, 0.1);--md-admonition-icon-color--settings: hsl(326, 100%, 74%)}:root>*{--md-admonition-icon--new: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-10 5h-2v-2h2zm0-4h-2V7h2z"/></svg>');--md-admonition-bg-color--new: rgba(255, 214, 0, 0.1);--md-admonition-icon-color--new: #ffd600}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--new: hsla(65, 92%, 76%, 0.1);--md-admonition-icon-color--new: hsl(65, 92%, 76%)}:root>*{--md-admonition-icon--important: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 22a1 1 0 0 1-1-1v-3H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6.1l-3.7 3.71c-.2.19-.45.29-.7.29zm1-6v3.08L13.08 16H20V4H4v12zm3-6h-2V6h2zm0 4h-2v-2h2z"/></svg>');--md-admonition-bg-color--important: rgba(124, 77, 255, 0.1);--md-admonition-icon-color--important: #7c4dff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--important: hsla(300.507916868, 58.3554777078%, 71.0104358913%, 0.1);--md-admonition-icon-color--important: hsl(300.507916868, 58.3554777078%, 71.0104358913%)}:root>*{--md-admonition-bg-color--note: rgba(68, 138, 255, 0.1);--md-admonition-icon-color--note: #448aff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--note: hsla(225, 100%, 75%, 0.1);--md-admonition-icon-color--note: hsl(225, 100%, 75%)}:root>*{--md-admonition-bg-color--abstract: rgba(0, 176, 255, 0.1);--md-admonition-icon-color--abstract: #00b0ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--abstract: hsla(208.9651589316, 100.1516938638%, 76.1926610237%, 0.1);--md-admonition-icon-color--abstract: hsl(208.9651589316, 100.1516938638%, 76.1926610237%)}:root>*{--md-admonition-bg-color--info: rgba(0, 184, 212, 0.1);--md-admonition-icon-color--info: #00b8d4}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--info: hsla(191, 97%, 77%, 0.1);--md-admonition-icon-color--info: hsl(191, 97%, 77%)}:root>*{--md-admonition-bg-color--tip: rgba(0, 191, 165, 0.1);--md-admonition-icon-color--tip: #00bfa5}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--tip: hsla(157.7363570417, 83.7763520157%, 69.6636999884%, 0.1);--md-admonition-icon-color--tip: hsl(157.7363570417, 83.7763520157%, 69.6636999884%)}:root>*{--md-admonition-bg-color--success: rgba(0, 200, 83, 0.1);--md-admonition-icon-color--success: #00c853}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--success: hsla(135, 94%, 65%, 0.1);--md-admonition-icon-color--success: hsl(135, 94%, 65%)}:root>*{--md-admonition-bg-color--question: rgba(100, 221, 23, 0.1);--md-admonition-icon-color--question: #64dd17}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--question: hsla(96.9286079031, 93.5050765575%, 74.7933068737%, 0.1);--md-admonition-icon-color--question: hsl(96.9286079031, 93.5050765575%, 74.7933068737%)}:root>*{--md-admonition-bg-color--warning: rgba(255, 145, 0, 0.1);--md-admonition-icon-color--warning: #ff9100}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--warning: hsla(31, 100%, 71%, 0.1);--md-admonition-icon-color--warning: hsl(31, 100%, 71%)}:root>*{--md-admonition-bg-color--failure: rgba(255, 82, 82, 0.1);--md-admonition-icon-color--failure: #ff5252}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--failure: hsla(15.759766848, 102.8951066345%, 69.4486457644%, 0.1);--md-admonition-icon-color--failure: hsl(15.759766848, 102.8951066345%, 69.4486457644%)}:root>*{--md-admonition-bg-color--danger: rgba(255, 23, 68, 0.1);--md-admonition-icon-color--danger: #ff1744}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--danger: hsla(0, 100%, 67%, 0.1);--md-admonition-icon-color--danger: hsl(0, 100%, 67%)}:root>*{--md-admonition-bg-color--bug: rgba(245, 0, 87, 0.1);--md-admonition-icon-color--bug: #f50057}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--bug: hsla(344.5737278948, 100.1359681762%, 71.0000228672%, 0.1);--md-admonition-icon-color--bug: hsl(344.5737278948, 100.1359681762%, 71.0000228672%)}:root>*{--md-admonition-bg-color--example: rgba(98, 0, 234, 0.1);--md-admonition-icon-color--example: #6200ea}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--example: hsla(265, 89%, 78%, 0.1);--md-admonition-icon-color--example: hsl(265, 89%, 78%)}:root>*{--md-admonition-bg-color--quote: rgba(158, 158, 158, 0.1);--md-admonition-icon-color--quote: #9e9e9e}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--quote: hsla(225, 8%, 51%, 0.1);--md-admonition-icon-color--quote: hsl(225, 8%, 51%)}.md-typeset .admonition,.md-typeset details{font-size:inherit;background:var(--md-admonition-bg-color--note);border-width:0;border-left-width:4px}.md-typeset .admonition>.admonition-title::before,.md-typeset details>.admonition-title::before,.md-typeset details>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition>.admonition-title::after,.md-typeset details>.admonition-title::after,.md-typeset details>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note,.md-typeset details.note{background:var(--md-admonition-bg-color--note)}.md-typeset .admonition.note>.admonition-title::before,.md-typeset details.note>.admonition-title::before,.md-typeset details.note>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note>.admonition-title::after,.md-typeset details.note>.admonition-title::after,.md-typeset details.note>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract{background:var(--md-admonition-bg-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::before,.md-typeset details.abstract>.admonition-title::before,.md-typeset details.abstract>summary::before{background-color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::after,.md-typeset details.abstract>.admonition-title::after,.md-typeset details.abstract>summary::after{color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.info,.md-typeset details.info{background:var(--md-admonition-bg-color--info)}.md-typeset .admonition.info>.admonition-title::before,.md-typeset details.info>.admonition-title::before,.md-typeset details.info>summary::before{background-color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.info>.admonition-title::after,.md-typeset details.info>.admonition-title::after,.md-typeset details.info>summary::after{color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.tip,.md-typeset details.tip{background:var(--md-admonition-bg-color--tip)}.md-typeset .admonition.tip>.admonition-title::before,.md-typeset details.tip>.admonition-title::before,.md-typeset details.tip>summary::before{background-color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.tip>.admonition-title::after,.md-typeset details.tip>.admonition-title::after,.md-typeset details.tip>summary::after{color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.success,.md-typeset details.success{background:var(--md-admonition-bg-color--success)}.md-typeset .admonition.success>.admonition-title::before,.md-typeset details.success>.admonition-title::before,.md-typeset details.success>summary::before{background-color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.success>.admonition-title::after,.md-typeset details.success>.admonition-title::after,.md-typeset details.success>summary::after{color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.question,.md-typeset details.question{background:var(--md-admonition-bg-color--question)}.md-typeset .admonition.question>.admonition-title::before,.md-typeset details.question>.admonition-title::before,.md-typeset details.question>summary::before{background-color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.question>.admonition-title::after,.md-typeset details.question>.admonition-title::after,.md-typeset details.question>summary::after{color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.warning,.md-typeset details.warning{background:var(--md-admonition-bg-color--warning)}.md-typeset .admonition.warning>.admonition-title::before,.md-typeset details.warning>.admonition-title::before,.md-typeset details.warning>summary::before{background-color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.warning>.admonition-title::after,.md-typeset details.warning>.admonition-title::after,.md-typeset details.warning>summary::after{color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.failure,.md-typeset details.failure{background:var(--md-admonition-bg-color--failure)}.md-typeset .admonition.failure>.admonition-title::before,.md-typeset details.failure>.admonition-title::before,.md-typeset details.failure>summary::before{background-color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.failure>.admonition-title::after,.md-typeset details.failure>.admonition-title::after,.md-typeset details.failure>summary::after{color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.danger,.md-typeset details.danger{background:var(--md-admonition-bg-color--danger)}.md-typeset .admonition.danger>.admonition-title::before,.md-typeset details.danger>.admonition-title::before,.md-typeset details.danger>summary::before{background-color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.danger>.admonition-title::after,.md-typeset details.danger>.admonition-title::after,.md-typeset details.danger>summary::after{color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{background:var(--md-admonition-bg-color--bug)}.md-typeset .admonition.bug>.admonition-title::before,.md-typeset details.bug>.admonition-title::before,.md-typeset details.bug>summary::before{background-color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.bug>.admonition-title::after,.md-typeset details.bug>.admonition-title::after,.md-typeset details.bug>summary::after{color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.example,.md-typeset details.example{background:var(--md-admonition-bg-color--example)}.md-typeset .admonition.example>.admonition-title::before,.md-typeset details.example>.admonition-title::before,.md-typeset details.example>summary::before{background-color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.example>.admonition-title::after,.md-typeset details.example>.admonition-title::after,.md-typeset details.example>summary::after{color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.quote,.md-typeset details.quote{background:var(--md-admonition-bg-color--quote)}.md-typeset .admonition.quote>.admonition-title::before,.md-typeset details.quote>.admonition-title::before,.md-typeset details.quote>summary::before{background-color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.quote>.admonition-title::after,.md-typeset details.quote>.admonition-title::after,.md-typeset details.quote>summary::after{color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.settings,.md-typeset details.settings{background:var(--md-admonition-bg-color--settings)}.md-typeset .admonition.settings>.admonition-title::before,.md-typeset details.settings>.admonition-title::before,.md-typeset details.settings>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--settings);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--settings);mask-image:var(--md-admonition-icon--settings);content:" "}.md-typeset .admonition.settings>.admonition-title::after,.md-typeset details.settings>.admonition-title::after,.md-typeset details.settings>summary::after{color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.new,.md-typeset details.new{background:var(--md-admonition-bg-color--new)}.md-typeset .admonition.new>.admonition-title::before,.md-typeset details.new>.admonition-title::before,.md-typeset details.new>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--new);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--new);mask-image:var(--md-admonition-icon--new);content:" "}.md-typeset .admonition.new>.admonition-title::after,.md-typeset details.new>.admonition-title::after,.md-typeset details.new>summary::after{color:var(--md-admonition-icon-color--new)}.md-typeset .admonition.important,.md-typeset details.important{background:var(--md-admonition-bg-color--important)}.md-typeset .admonition.important>.admonition-title::before,.md-typeset details.important>.admonition-title::before,.md-typeset details.important>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--important);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--important);mask-image:var(--md-admonition-icon--important);content:" "}.md-typeset .admonition.important>.admonition-title::after,.md-typeset details.important>.admonition-title::after,.md-typeset details.important>summary::after{color:var(--md-admonition-icon-color--important)}mjx-container[display=true]{font-size:120% !important}mjx-container:not([display]){font-size:100% !important}.md-typeset .arithmatex{overflow-x:auto !important;overflow-y:hidden !important}.katex-display .katex-html{display:flex !important;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between}.katex-display .katex-html .base{display:inline !important}.katex-display .katex-html .tag{position:relative !important;display:inline !important;margin-left:var(--margin-small)}.CtxtMenu_InfoClose{top:.2em;right:.2em}.CtxtMenu_InfoContent{overflow:auto;text-align:left;font-size:80%;padding:.4em .6em;border:1px inset;margin:1em 0px;max-height:20em;max-width:30em;background-color:#eee;white-space:normal}.CtxtMenu_Info.CtxtMenu_MousePost{outline:none}.CtxtMenu_Info{position:fixed;left:50%;width:auto;text-align:center;border:3px outset;padding:1em 2em;background-color:#ddd;color:#000;cursor:default;font-family:message-box;font-size:120%;font-style:normal;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:15px;-webkit-border-radius:15px;-moz-border-radius:15px;-khtml-border-radius:15px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color="gray", Positive="true")}.CtxtMenu_MenuClose{position:absolute;cursor:pointer;display:inline-block;border:2px solid #aaa;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;font-family:"Courier New",Courier;font-size:24px;color:#f0f0f0}.CtxtMenu_MenuClose span{display:block;background-color:#aaa;border:1.5px solid;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;line-height:0;padding:8px 0 6px}.CtxtMenu_MenuClose:hover{color:#fff !important;border:2px solid #ccc !important}.CtxtMenu_MenuClose:hover span{background-color:#ccc !important}.CtxtMenu_MenuClose:hover:focus{outline:none}.CtxtMenu_Menu{position:absolute;background-color:#fff;color:#000;width:auto;padding:5px 0px;border:1px solid #ccc;margin:0;cursor:default;font:menu;text-align:left;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-khtml-border-radius:5px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray}.CtxtMenu_MenuItem{padding:1px 2em;background:rgba(0,0,0,0)}.CtxtMenu_MenuArrow{position:absolute;right:.5em;padding-top:.25em;color:#666;font-size:.75em}.CtxtMenu_MenuActive .CtxtMenu_MenuArrow{color:#fff}.CtxtMenu_MenuArrow.CtxtMenu_RTL{left:.5em;right:auto}.CtxtMenu_MenuCheck{position:absolute;left:.7em}.CtxtMenu_MenuCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuRadioCheck{position:absolute;left:.7em}.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuInputBox{padding-left:1em;right:.5em;color:#666}.CtxtMenu_MenuInputBox.CtxtMenu_RTL{left:.1em}.CtxtMenu_MenuComboBox{left:.1em;padding-bottom:.5em}.CtxtMenu_MenuSlider{left:.1em}.CtxtMenu_SliderValue{position:absolute;right:.1em;padding-top:.25em;color:#333;font-size:.75em}.CtxtMenu_SliderBar{outline:none;background:#d3d3d3}.CtxtMenu_MenuLabel{padding:1px 2em 3px 1.33em;font-style:italic}.CtxtMenu_MenuRule{border-top:1px solid #ddd;margin:4px 3px}.CtxtMenu_MenuDisabled{color:GrayText}.CtxtMenu_MenuActive{background-color:#606872;color:#fff}.CtxtMenu_MenuDisabled:focus{background-color:#e8e8e8}.CtxtMenu_MenuLabel:focus{background-color:#e8e8e8}.CtxtMenu_ContextMenu:focus{outline:none}.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus{outline:none}.CtxtMenu_SelectionMenu{position:relative;float:left;border-bottom:none;-webkit-box-shadow:none;-webkit-border-radius:0px}.CtxtMenu_SelectionItem{padding-right:1em}.CtxtMenu_Selection{right:40%;width:50%}.CtxtMenu_SelectionBox{padding:0em;max-height:20em;max-width:none;background-color:#fff}.CtxtMenu_SelectionDivider{clear:both;border-top:2px solid #000}.CtxtMenu_Menu .CtxtMenu_MenuClose{top:-10px;left:-10px}[data-md-color-scheme=slate] .CtxtMenu_InfoSignature input,[data-md-color-scheme=slate] .CtxtMenu_InfoContent pre{color:#000}[data-md-color-scheme=slate] .CtxtMenu_Info,[data-md-color-scheme=slate] .CtxtMenu_Menu{box-shadow:0px 10px 20px rgba(0,0,0,.5)}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset mark.critic{padding:0 .25em;color:unset;box-shadow:none}.md-typeset .critic.break{margin:0}.md-typeset details{overflow:hidden}.md-typeset details>summary:focus{outline-style:none}:root>*{--highlight-svg-console: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 19V7H4v12zm0-16a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm-7 14v-2h5v2zm-3.42-4L5.57 9H8.4l3.3 3.3c.39.39.39 1.03 0 1.42L8.42 17H5.59z"/></svg>');--highlight-svg-arrow-expand: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 21v-2H6.41l4.5-4.5-1.41-1.41-4.5 4.5V14H3v7zm4.5-10.09 4.5-4.5V10h2V3h-7v2h3.59l-4.5 4.5z"/></svg>');--highlight-svg-arrow-collapse: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19.5 3.09 15 7.59V4h-2v7h7V9h-3.59l4.5-4.5zM4 13v2h3.59l-4.5 4.5 1.41 1.41 4.5-4.5V20h2v-7z"/></svg>')}.highlight .hll{box-shadow:2px 0 0 0 var(--md-accent-fg-color) inset}.highlight .kc{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne{color:var(--md-code-hl-class-color)}.highlight .mb{color:var(--md-code-hl-number-color)}.highlight .nb,.highlight .bp{color:var(--md-code-hl-builtin-color)}.highlight .nn{color:var(--md-code-hl-namespace-color)}.highlight .na,.highlight .nd,.highlight .ni{color:var(--md-code-hl-entity-color)}.highlight .nl,.highlight .nt{color:var(--md-code-hl-tag-color)}.md-typeset *:not(pre)>code{margin:0;padding:.1654411765em .3125em;color:var(--md-code-fg-color);background-color:var(--md-code-inline-bg-color);border-radius:.2rem;box-shadow:none}.md-typeset pre>code{display:grid}.md-typeset td code{word-break:normal}.md-typeset .highlight{-moz-tab-size:8;-o-tab-size:8;tab-size:8}.md-typeset .highlight [data-linenos]:hover::before{color:var(--md-accent-fg-color);font-weight:700}.md-typeset .highlight [data-linenos].special::before{background-color:var(--md-code-special-bg-color)}.md-typeset .highlight .hll [data-linenos]::before{box-shadow:-2px 0 var(--md-accent-fg-color) inset}.md-typeset .highlighttable .linenodiv .special{margin-right:-.5882352941em;margin-left:-1.1764705882em;padding-right:.5882352941em;padding-left:1.1764705882em;background-color:var(--md-code-special-bg-color)}.md-typeset .highlight span.filename{position:relative;display:block;margin-top:1em;padding:.5em 1.1764705882em .5em 2.9411764706em;font-weight:700;font-size:.68rem;background-color:var(--md-code-title-bg-color);border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .highlight span.filename+pre{margin-top:0}.md-typeset .highlight span.filename+pre code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .highlight span.filename::before{position:absolute;left:.8823529412em;width:1.4705882353em;height:1.4705882353em;background-color:var(--md-default-fg-color);-webkit-mask-image:var(--highlight-svg-console);mask-image:var(--highlight-svg-console);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .collapse-code{position:relative;margin-top:1em;margin-bottom:1em}.md-typeset .collapse-code pre{margin-top:0;margin-bottom:0}.md-typeset .collapse-code input{display:none}.md-typeset .collapse-code input~.code-footer{width:100%;margin:0;padding:.25em .5em .25em 0em}.md-typeset .collapse-code input~.code-footer label{position:relative;margin:.05em;padding:.15em .8em;color:var(--md-primary-bg-color);font-size:90%;background-color:var(--md-accent-fg-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;border-radius:.1rem;cursor:pointer;content:""}.md-typeset .collapse-code input~.code-footer label:hover{background-color:var(--md-accent-fg-color)}.md-typeset .collapse-code input~.code-footer label::before{position:absolute;top:.15em;left:.15em;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-primary-bg-color);background-size:1.25em;content:""}.md-typeset .collapse-code input~.code-footer label.expand{display:none}.md-typeset .collapse-code input~.code-footer label.expand::before{-webkit-mask-image:var(--highlight-svg-arrow-expand);mask-image:var(--highlight-svg-arrow-expand)}.md-typeset .collapse-code input~.code-footer label.collapse::before{-webkit-mask-image:var(--highlight-svg-arrow-collapse);mask-image:var(--highlight-svg-arrow-collapse)}.md-typeset .collapse-code input:checked~.code-footer label.expand{display:inline}.md-typeset .collapse-code input:checked~.code-footer label.collapse{display:none}.md-typeset .collapse-code input:checked+div.highlight code{max-height:9.375em;overflow:hidden}.md-typeset .collapse-code input:checked~.code-footer{position:relative;bottom:4.3em;left:0;margin-bottom:-4.3em;padding:2em .5em .5em .8rem;background-image:linear-gradient(to bottom, transparent, var(--md-default-bg-color) 80% 100%);border-bottom-right-radius:.48rem;border-bottom-left-radius:.48rem}.md-typeset .highlight+.result{border-right-width:.1rem;border-bottom-width:.1rem;border-left-width:.1rem}.md-typeset .keys .key-power::before{padding-right:.4em;content:"⏻"}.md-typeset .keys .key-fingerprint::before{padding-right:.4em;content:"☝"}:root>*{--magiclink-email-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4H4c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2m-3 13H7v-2h10m0-2H7v-2h10m3-2h-3V6h3"/></svg>');--magiclink-github-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2"/></svg>');--magiclink-bitbucket-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.65 3C2.3 3 2 3.3 2 3.65v.12l2.73 16.5c.07.42.43.73.85.73h13.05c.31 0 .59-.22.64-.54L22 3.77a.643.643 0 0 0-.54-.73c-.03-.01-.07-.01-.11-.01zM14.1 14.95H9.94L8.81 9.07h6.3z"/></svg>');--magiclink-gitlab-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m21.94 13.11-1.05-3.22c0-.03-.01-.06-.02-.09l-2.11-6.48a.86.86 0 0 0-.8-.57c-.36 0-.68.25-.79.58l-2 6.17H8.84L6.83 3.33a.85.85 0 0 0-.79-.58c-.37 0-.69.25-.8.58L3.13 9.82v.01l-1.07 3.28c-.16.5.01 1.04.44 1.34l9.22 6.71c.17.12.39.12.56-.01l9.22-6.7c.43-.3.6-.84.44-1.34M8.15 10.45l2.57 7.91-6.17-7.91m8.73 7.92 2.47-7.59.1-.33h3.61l-5.59 7.16m4.1-13.67 1.81 5.56h-3.62m-1.3.95-1.79 5.51L12 19.24l-2.86-8.79M6.03 3.94 7.84 9.5H4.23m-1.18 4.19c-.09-.07-.13-.19-.09-.29l.79-2.43 5.82 7.45m11.38-4.73-6.51 4.73.02-.03 5.79-7.42.79 2.43c.04.1 0 .22-.09.29"/></svg>');--magiclink-commit-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.944 11h4.306a.75.75 0 0 1 0 1.5h-4.306a5.001 5.001 0 0 1-9.888 0H2.75a.75.75 0 0 1 0-1.5h4.306a5.001 5.001 0 0 1 9.888 0m-1.444.75a3.5 3.5 0 1 0-7 0 3.5 3.5 0 0 0 7 0"/></svg>');--magiclink-compare-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.5 6.75a.75.75 0 0 0-1.5 0V9H8.75a.75.75 0 0 0 0 1.5H11v2.25a.75.75 0 0 0 1.5 0V10.5h2.25a.75.75 0 0 0 0-1.5H12.5zM8.75 16a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5z"/><path d="M5 1h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2m-.5 2v18a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V7.018a.5.5 0 0 0-.146-.354l-4.018-4.018a.5.5 0 0 0-.354-.146H5a.5.5 0 0 0-.5.5"/></svg>');--magiclink-pull-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0m-14.5 0a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0m0-14.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0M4.75 3a1.75 1.75 0 1 0 .001 3.501A1.75 1.75 0 0 0 4.75 3m0 14.5a1.75 1.75 0 1 0 .001 3.501A1.75 1.75 0 0 0 4.75 17.5m14.5 0a1.75 1.75 0 1 0 .001 3.501 1.75 1.75 0 0 0-.001-3.501"/><path d="M13.405 1.72a.75.75 0 0 1 0 1.06L12.185 4h4.065A3.75 3.75 0 0 1 20 7.75v8.75a.75.75 0 0 1-1.5 0V7.75a2.25 2.25 0 0 0-2.25-2.25h-4.064l1.22 1.22a.75.75 0 0 1-1.061 1.06l-2.5-2.5a.75.75 0 0 1 0-1.06l2.5-2.5a.75.75 0 0 1 1.06 0M4.75 7.25A.75.75 0 0 1 5.5 8v8A.75.75 0 0 1 4 16V8a.75.75 0 0 1 .75-.75"/></svg>');--magiclink-issue-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1M2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12m9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14"/></svg>');--magiclink-discussion-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1M1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.75.75 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25"/><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25z"/></svg>')}.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-email-icon);mask-image:var(--magiclink-email-icon)}.md-typeset .magiclink-repository:not(.magiclink-ignore),.md-typeset .magiclink-compare:not(.magiclink-ignore),.md-typeset .magiclink-commit:not(.magiclink-ignore),.md-typeset .magiclink-pull:not(.magiclink-ignore),.md-typeset .magiclink-issue:not(.magiclink-ignore),.md-typeset .magiclink-discussion:not(.magiclink-ignore),.md-typeset a[href^="mailto:"]:not(.magiclink-ignore){position:relative;padding-left:1.375em}.md-typeset .magiclink-repository:not(.magiclink-ignore)::before,.md-typeset .magiclink-compare:not(.magiclink-ignore)::before,.md-typeset .magiclink-commit:not(.magiclink-ignore)::before,.md-typeset .magiclink-pull:not(.magiclink-ignore)::before,.md-typeset .magiclink-issue:not(.magiclink-ignore)::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{position:absolute;top:0;left:0;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-typeset-a-color);background-size:1.25em;transition:background-color 125ms;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .magiclink-repository:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-compare:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-commit:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-pull:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-issue:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore):hover::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore):hover::before{background-color:var(--md-accent-fg-color)}.md-typeset .magiclink-commit:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-commit-icon);mask-image:var(--magiclink-commit-icon)}.md-typeset .magiclink-compare:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-compare-icon);mask-image:var(--magiclink-compare-icon)}.md-typeset .magiclink-pull:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-pull-icon);mask-image:var(--magiclink-pull-icon)}.md-typeset .magiclink-issue:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-issue-icon);mask-image:var(--magiclink-issue-icon)}.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-discussion-icon);mask-image:var(--magiclink-discussion-icon)}.md-typeset .magiclink-repository.magiclink-github:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-github-icon);mask-image:var(--magiclink-github-icon)}.md-typeset .magiclink-repository.magiclink-gitlab:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-gitlab-icon);mask-image:var(--magiclink-gitlab-icon)}.md-typeset .magiclink-repository.magiclink-bitbucket:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-bitbucket-icon);mask-image:var(--magiclink-bitbucket-icon)}.md-typeset mark:not(.critic){box-shadow:none}.md-typeset .progress-label{position:absolute;width:100%;margin:0;color:var(--md-text-color);font-weight:700;line-height:1.4rem;white-space:nowrap;text-align:center;text-shadow:-0.0625em -0.0625em .375em var(--md-default-bg-color--light),.0625em -0.0625em .375em var(--md-default-bg-color--light),-0.0625em .0625em .375em var(--md-default-bg-color--light),.0625em .0625em .375em var(--md-default-bg-color--light)}.md-typeset .progress-bar{float:left;height:1.2rem;background-color:#2979ff}.md-typeset .candystripe-animate .progress-bar{animation:animate-stripes 3s linear infinite}.md-typeset .progress{position:relative;display:block;width:100%;height:1.2rem;margin:.5rem 0;background-color:var(--md-default-fg-color--lightest)}.md-typeset .progress.thin{height:.4rem;margin-top:.9rem}.md-typeset .progress.thin .progress-label{margin-top:-0.4rem}.md-typeset .progress.thin .progress-bar{height:.4rem}.md-typeset .progress.candystripe .progress-bar{background-image:linear-gradient(135deg, var(--md-progress-stripe) 27%, transparent 27%, transparent 52%, var(--md-progress-stripe) 52%, var(--md-progress-stripe) 77%, transparent 77%, transparent);background-size:2rem 2rem}.md-typeset .progress-100plus .progress-bar{background-color:var(--md-progress-100)}.md-typeset .progress-80plus .progress-bar{background-color:var(--md-progress-80)}.md-typeset .progress-60plus .progress-bar{background-color:var(--md-progress-60)}.md-typeset .progress-40plus .progress-bar{background-color:var(--md-progress-40)}.md-typeset .progress-20plus .progress-bar{background-color:var(--md-progress-20)}.md-typeset .progress-0plus .progress-bar{background-color:var(--md-progress-0)}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:6rem 0}}.md-typeset .tabbed-control button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.md-typeset .tabbed-control--next button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.js .md-typeset .tabbed-labels::before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control{width:2rem}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control[hidden]{width:1.2rem;opacity:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block{padding:0 .6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child{margin-top:.9375em}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child code{border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child span.filename{margin-top:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child pre code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilite code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilitetable code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlight code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlighttable code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>diagram-div:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}[data-md-color-scheme=slate] .md-typeset .task-list-control .task-list-indicator::before{background-color:var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate] .md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:hsl(135,94%,65%)}:root>*{--toc-svg-link: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4a5 5 0 0 0 5-5 5 5 0 0 0-5-5"/></svg>')}.md-typeset .headerlink{width:1em;height:1em;vertical-align:middle;background-color:var(--md-default-fg-color--lighter);background-size:1em;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;visibility:visible;-webkit-mask-image:var(--toc-svg-link);mask-image:var(--toc-svg-link)}.md-typeset .headerlink:hover,.md-typeset [id]:target .headerlink{background-color:var(--md-accent-fg-color)}diagram-div{overflow:auto}.md-typeset div.steps>ol{counter-reset:item}.md-typeset div.steps>ol>li{position:relative;padding-left:1em;list-style:none}.md-typeset div.steps>ol>li::before{position:absolute;top:0;left:0;z-index:-1;display:block;width:1.75em;height:1.75em;margin-left:-1.25em;color:var(--md-steps-fg-color);font-weight:600;font-size:.9em;text-align:center;background-color:var(--md-steps-bg-color);border:1px solid var(--md-steps-border-color);border-radius:100px;content:counter(item);counter-increment:item}.md-typeset div.steps>ol>li::after{position:absolute;top:0;bottom:0;left:-0.36em;display:block;width:1px;margin-top:2em;border-left:1px solid var(--md-steps-border-color);content:""}.md-typeset table:not([class]){background:none;border-radius:.4rem}.md-typeset table:not([class]) th{border-bottom:.1rem solid var(--md-accent-fg-color)}html{background-color:rgba(0,0,0,0)}[data-md-component=announce] .twemoji{color:var(--md-primary-fg-color)}.md-container .md-tabs .md-tabs__item--active{border-bottom:.1rem solid var(--md-accent-fg-color)}.md-nav--secondary>ul{border-left:.1rem solid var(--md-default-fg-color--lightest)}.md-nav--secondary ul .md-nav__item .md-nav__link--active{margin-left:-0.1rem;padding-left:.8rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-0.7rem;padding-left:1.4rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.3rem;padding-left:2rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.9rem;padding-left:2.6rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-2.5rem;padding-left:3.2rem}.md-nav--secondary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav--secondary .md-nav__item .md-nav__link--active{color:var(--md-default-fg-color);border-left:.1rem solid var(--md-accent-fg-color);border-top-left-radius:0;border-bottom-left-radius:0}.md-nav--secondary .md-nav__item .md-nav__link:focus,.md-nav--secondary .md-nav__item .md-nav__link:hover{color:var(--md-default-fg-color)}.md-nav--primary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav__source{color:var(--md-text-color)}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-typeset h5{color:var(--md-text-color);text-transform:none}.md-typeset__scrollwrap,.md-sidebar__scrollwrap,.md-search__scrollwrap,.md-typeset pre>code,.md-typeset div.mermaid,.md-typeset div.diagram,.md-typeset mermaid-div,.md-typeset diagram-div,.md-typeset pre.arithmatex,.md-typeset div.arithmatex{scrollbar-color:var(--md-default-fg-color--lighter) rgba(0,0,0,0);scrollbar-width:thin}.md-typeset__scrollwrap:hover,.md-sidebar__scrollwrap:hover,.md-search__scrollwrap:hover,.md-typeset pre>code:hover,.md-typeset div.mermaid:hover,.md-typeset div.diagram:hover,.md-typeset mermaid-div:hover,.md-typeset diagram-div:hover,.md-typeset pre.arithmatex:hover,.md-typeset div.arithmatex:hover{scrollbar-color:var(--md-accent-fg-color) rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar,.md-sidebar__scrollwrap::-webkit-scrollbar,.md-search__scrollwrap::-webkit-scrollbar,.md-typeset pre>code::-webkit-scrollbar,.md-typeset div.mermaid::-webkit-scrollbar,.md-typeset div.diagram::-webkit-scrollbar,.md-typeset mermaid-div::-webkit-scrollbar,.md-typeset diagram-div::-webkit-scrollbar,.md-typeset pre.arithmatex::-webkit-scrollbar,.md-typeset div.arithmatex::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset__scrollwrap::-webkit-scrollbar-corner,.md-sidebar__scrollwrap::-webkit-scrollbar-corner,.md-search__scrollwrap::-webkit-scrollbar-corner,.md-typeset pre>code::-webkit-scrollbar-corner,.md-typeset div.mermaid::-webkit-scrollbar-corner,.md-typeset div.diagram::-webkit-scrollbar-corner,.md-typeset mermaid-div::-webkit-scrollbar-corner,.md-typeset diagram-div::-webkit-scrollbar-corner,.md-typeset pre.arithmatex::-webkit-scrollbar-corner,.md-typeset div.arithmatex::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb,.md-search__scrollwrap::-webkit-scrollbar-thumb,.md-typeset pre>code::-webkit-scrollbar-thumb,.md-typeset div.mermaid::-webkit-scrollbar-thumb,.md-typeset div.diagram::-webkit-scrollbar-thumb,.md-typeset mermaid-div::-webkit-scrollbar-thumb,.md-typeset diagram-div::-webkit-scrollbar-thumb,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb,.md-typeset div.arithmatex::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover,.md-search__scrollwrap::-webkit-scrollbar-thumb:hover,.md-typeset pre>code::-webkit-scrollbar-thumb:hover,.md-typeset div.mermaid::-webkit-scrollbar-thumb:hover,.md-typeset div.diagram::-webkit-scrollbar-thumb:hover,.md-typeset mermaid-div::-webkit-scrollbar-thumb:hover,.md-typeset diagram-div::-webkit-scrollbar-thumb:hover,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb:hover,.md-typeset div.arithmatex::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-content__inner>diagram-div{margin-right:-0.8rem;margin-left:-0.8rem}.md-content__inner>.highlight span.filename{border-top-left-radius:0;border-top-right-radius:0}.md-content__inner>.collapse-code{margin-right:-0.8rem;margin-left:-0.8rem}.md-content__inner>.collapse-code label.collapse{left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:0}.md-content__inner>.tabbed-set .tabbed-labels{max-width:100%;margin:0;padding-inline-start:0;scroll-padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels::after{padding-inline-end:0;content:none}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-inline-start:0;padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-inline-end:0;padding-inline-end:0}}
2
+ /*# sourceMappingURL=extra-928cef6c86.css.map */
@@ -0,0 +1,4 @@
1
+ function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}!function(){"use strict";function t(t,e,r,o,a,n,i){try{var c=t[n](i),l=c.value}catch(t){return void r(t)}c.done?e(l):Promise.resolve(l).then(o,a)}function e(t,e,r){return e=o(e),function(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,n()?Reflect.construct(e,[],o(t).constructor):e.apply(t,r))}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},o(t)}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&l(t,e)}function n(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(n=function(){return!!t})()}function i(){
2
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
+ var t,e,r="function"==typeof Symbol?Symbol:{},o=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function n(r,o,a,n){var i=o&&o.prototype instanceof f?o:f,d=Object.create(i.prototype);return c(d,"_invoke",function(r,o,a){var n,i,c,f=0,d=a||[],u=!1,p={p:0,n:0,v:t,a:s,f:s.bind(t,4),d:function(e,r){return n=e,i=0,c=t,p.n=r,l}};function s(r,o){for(i=r,c=o,e=0;!u&&f&&!a&&e<d.length;e++){var a,n=d[e],s=p.p,m=n[2];r>3?(a=m===o)&&(c=n[(i=n[4])?5:(i=3,3)],n[4]=n[5]=t):n[0]<=s&&((a=r<2&&s<n[1])?(i=0,p.v=o,p.n=n[1]):s<m&&(a=r<3||n[0]>o||o>m)&&(n[4]=r,n[5]=o,p.n=m,i=0))}if(a||r>1)return l;throw u=!0,o}return function(a,d,m){if(f>1)throw TypeError("Generator is already running");for(u&&1===d&&s(d,m),i=d,c=m;(e=i<2?t:c)||!u;){n||(i?i<3?(i>1&&(p.n=-1),s(i,c)):p.n=c:p.v=c);try{if(f=2,n){if(i||(a="next"),e=n[a]){if(!(e=e.call(n,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,i<2&&(i=0)}else 1===i&&(e=n.return)&&e.call(n),i<2&&(c=TypeError("The iterator does not provide a '"+a+"' method"),i=1);n=t}else if((e=(u=p.n<0)?c:r.call(o,p))!==l)break}catch(e){n=t,i=1,c=e}finally{f=1}}return{value:e,done:u}}}(r,a,n),!0),d}var l={};function f(){}function d(){}function u(){}e=Object.getPrototypeOf;var p=[][o]?e(e([][o]())):(c(e={},o,function(){return this}),e),s=u.prototype=f.prototype=Object.create(p);function m(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,c(t,a,"GeneratorFunction")),t.prototype=Object.create(s),t}return d.prototype=u,c(s,"constructor",u),c(u,"constructor",d),d.displayName="GeneratorFunction",c(u,a,"GeneratorFunction"),c(s),c(s,a,"Generator"),c(s,o,function(){return this}),c(s,"toString",function(){return"[object Generator]"}),(i=function(){return{w:n,m:m}})()}function c(t,e,r,o){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}c=function(t,e,r,o){function n(e,r){c(t,e,function(t){return this._invoke(e,r,t)})}e?a?a(t,e,{value:r,enumerable:!o,configurable:!o,writable:!o}):t[e]=r:(n("next",0),n("throw",1),n("return",2))},c(t,e,r,o)}function l(t,e){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},l(t,e)}function f(t){var e="function"==typeof Map?new Map:void 0;return f=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return function(t,e,r){if(n())return Reflect.construct.apply(null,arguments);var o=[null];o.push.apply(o,e);var a=new(t.bind.apply(t,o));return r&&l(a,r.prototype),a}(t,arguments,o(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),l(r,t)},f(t)}var d,u,p,s=function(){var o,n=(o=i().m(function t(o){var n,c,l,d,u,p,s,m,g,h,b,y,v,x,k,O;return i().w(function(t){for(;;)switch(t.p=t.n){case 0:n=function(t){function o(){var t;r(this,o);var a=(t=e(this,o)).attachShadow({mode:"open"}),n=document.createElement("style");return n.textContent="\n :host {\n display: block;\n line-height: initial;\n font-size: 16px;\n }\n div.diagram {\n margin: 0;\n overflow: visible;\n }",a.appendChild(n),t}return a(o,t),n=o,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(f(HTMLElement)),void 0===customElements.get("diagram-div")&&customElements.define("diagram-div",n),c=function(t){for(var e="",r=0;r<t.childNodes.length;r++){var o=t.childNodes[r];if("code"===o.tagName.toLowerCase())for(var a=0;a<o.childNodes.length;a++){var n=o.childNodes[a];if("#text"===n.nodeName&&!/^\s*$/.test(n.nodeValue)){e=n.nodeValue;break}}}return e},l={startOnLoad:!1,theme:"default",flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"}},mermaid.mermaidAPI.globalReset(),d=null;try{d=document.querySelector("[data-md-color-scheme]").getAttribute("data-md-color-scheme")}catch(t){d="slate"}u="undefined"==typeof mermaidConfig?l:mermaidConfig[d]||mermaidConfig.default||l,mermaid.initialize(u),p=document.querySelectorAll("pre.".concat(o,", diagram-div")),s=document.querySelector("html body"),m=0;case 1:if(!(m<p.length)){t.n=7;break}return g=p[m],h="diagram-div"===g.tagName.toLowerCase()?g.shadowRoot.querySelector("pre.".concat(o)):g,(b=document.createElement("div")).style.visibility="hidden",b.style.display="display",b.style.padding="0",b.style.margin="0",b.style.lineHeight="initial",b.style.fontSize="16px",s.appendChild(b),t.p=2,t.n=3,mermaid.render("_diagram_".concat(m),c(h),b);case 3:y=t.v,v=y.svg,x=y.bindFunctions,(k=document.createElement("div")).className=o,k.innerHTML=v,x&&x(k),(O=document.createElement("diagram-div")).shadowRoot.appendChild(k),g.parentNode.insertBefore(O,g),h.style.display="none",O.shadowRoot.appendChild(h),h!==g&&g.parentNode.removeChild(g),t.n=5;break;case 4:t.p=4,t.v;case 5:s.contains(b)&&s.removeChild(b);case 6:m++,t.n=1;break;case 7:return t.a(2)}},t,null,[[2,4]])}),function(){var e=this,r=arguments;return new Promise(function(a,n){var i=o.apply(e,r);function c(e){t(i,a,n,c,l,"next",e)}function l(e){t(i,a,n,c,l,"throw",e)}c(void 0)})});return function(t){return n.apply(this,arguments)}}(),m=function(t,e){if("katex"===e)for(var r=document.querySelectorAll(".".concat(t)),o=0;o<r.length;o++){var a=r[o].textContent||r[o].innerText;a.startsWith("\\(")&&a.endsWith("\\)")?katex.render(a.slice(2,-2),r[o],{displayMode:!1}):a.startsWith("\\[")&&a.endsWith("\\]")&&katex.render(a.slice(2,-2),r[o],{displayMode:!0})}else"mathjax"===e&&(void 0!==MathJax.startup.output.clearCache&&MathJax.startup.output.clearCache(),MathJax.typesetClear(),MathJax.texReset(),MathJax.typesetPromise())};"mathjaxConfig"in window||(window.MathJax={tex:{inlineMath:[["\\(","\\)"]],displayMath:[["\\[","\\]"]],processEscapes:!0,processEnvironments:!0,tagSide:"right",tagIndent:".8em",multlineWidth:"85%",tags:"ams"},options:{ignoreHtmlClass:".*",processHtmlClass:"arithmatex"}}),"mermaidConfig"in window||(window.mermaidConfig={slate:{startOnLoad:!1,theme:"base",themeCSS:" * { --drac-page-bg: hsl(233, 15%, 23%); --drac-white-fg: hsl(60, 30%, 96%); --drac-purple-fg: hsl(265, 89%, 78%); --drac-purple-bg: hsl(265, 25%, 39%); --drac-yellow-fg: hsl(65, 92%, 76%); --drac-blue-fg: hsl(225, 27%, 51%); } /* General */ [id^='_diagram'] { background-color: var(--drac-page-bg); } /* Entity Relationship */ rect.relationshipLabelBox { opacity: 0.75 !important; fill: var(--drac-purple-bg) !important; } defs marker#ZERO_OR_MORE_END circle { fill: var(--drac-page-bg) !important; stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_MORE_END path { stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_MORE_START circle{ fill: var(--drac-page-bg) !important; stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_MORE_START path { stroke: var(--drac-purple-fg) !important; } defs marker#ONLY_ONE_START path { stroke: var(--drac-purple-fg) !important; } defs marker#ONLY_ONE_END path { stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_ONE_START path { stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_ONE_END path { stroke: var(--drac-purple-fg) !important; } defs marker#ONE_OR_MORE_START path { stroke: var(--drac-purple-fg) !important; } defs marker#ONE_OR_MORE_END path { stroke: var(--drac-purple-fg) !important; } /* Flowchart */ .labelText, :not(.branchLabel) > .label text { fill: var(--drac-purple-fg); } .edgeLabel text { fill: var(--drac-purple-fg) !important; } .edgeLabel rect { opacity: 0.75 !important; fill: var(--drac-purple-bg) !important; } .grey rect.label-container { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-fg) !important; } /* Sequence */ line[id^='actor'] { stroke: var(--drac-blue-fg); } .noteText { fill: var(--drac-yellow-fg); } /* Gantt */ .sectionTitle { fill: var(--drac-purple-fg) !important; } .grid .tick line { stroke: var(--drac-blue-fg) !important; } .grid .tick text { fill: var(--drac-purple-fg); } /* Class Diagram */ .statediagram-state rect.divider { fill: transparent !important; } /* State Diagram */ .stateGroup circle[style$=\"fill: black;\"] { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-bg) !important; } .stateGroup circle[style$=\"fill: white;\"] { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-fg) !important; } .stateGroup .composit { fill: var(--drac-page-bg); } /* Pie */ text.slice { fill: var(--drac-white-fg) !important; } /* Git Graph */ .commit-bullets .commit-reverse, .commit-bullets .commit-merge, .commit-bullets .commit-highlight-inner { fill: var(--drac-page-bg) !important; stroke: var(--drac-page-bg) !important; } ",themeVariables:{darkMode:!0,background:"#323443",mainBkg:"#604b7d",textColor:"#bf95f9",lineColor:"#bf95f9",errorBkgColor:"#802c2c",errorTextColor:"#ff5757",primaryColor:"#604b7d",primaryTextColor:"#bf95f9",primaryBorderColor:"#bf95f9",secondaryColor:"#297d3e",secondaryTextColor:"#52fa7c",secondaryBorderColor:"#52fa7c",tertiaryColor:"#303952",tertiaryTextColor:"#6071a4",tertiaryBorderColor:"#6071a4",noteBkgColor:"#797d45",noteTextColor:"#f1fa89",noteBorderColor:"#f1fa89",edgeLabelBackground:"#604b7d",edgeLabelText:"#604b7d",actorLineColor:"#6071a4",activeTaskBkgColor:"#803d63",activeTaskBorderColor:"#ff7ac6",doneTaskBkgColor:"#297d3e",doneTaskBorderColor:"#52fa7c",critBkgColor:"#802c2c",critBorderColor:"#ff5757",taskTextColor:"#bf95f9",taskTextOutsideColor:"#bf95f9",taskTextLightColor:"#bf95f9",sectionBkgColor:"#bf95f9b3",sectionBkgColor2:"#bf95f966",altSectionBkgColor:"#323443",todayLineColor:"#ff7ac6",gridColor:"#6071a4",defaultLinkColor:"#8be8fd",altBackground:"#bf95f9",classText:"#bf95f9",fillType0:"#406080",fillType1:"#46747f",fillType2:"#297d3e",fillType3:"#805c36",fillType4:"#803d63",fillType5:"#604b7d",fillType6:"#802c2c",fillType7:"#797d45",fillType8:"#7c7c79",git0:"#ff5555",git1:"#ffb86c",git2:"#f1fa8c",git3:"#50fa7b",git4:"#8be9fd",git5:"#809fff",git6:"#ff79c6",git7:"#bd93f9",gitInv0:"#ff5555",gitInv1:"#ffb86c",gitInv2:"#f1fa8c",gitInv3:"#50fa7b",gitInv4:"#8be9fd",gitInv5:"#809fff",gitInv6:"#ff79c6",gitInv7:"#bd93f9",gitBranchLabel0:"#323443",gitBranchLabel1:"#323443",gitBranchLabel2:"#323443",gitBranchLabel3:"#323443",gitBranchLabel4:"#323443",gitBranchLabel5:"#323443",gitBranchLabel6:"#323443",gitBranchLabel7:"#323443",commitLabelColor:"#52fa7c",commitLabelBackground:"#297d3e"},flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}},default:{startOnLoad:!1,theme:"default",flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}}}),d=Promise.resolve(),u=Promise.resolve(),p=new MutationObserver(function(t){t.forEach(function(t){"attributes"===t.type&&(t.target.getAttribute("data-md-color-scheme"),"undefined"!=typeof mermaid&&s("diagram"))})}),window.document$.subscribe(function(){p.observe(document.querySelector("body"),{attributeFilter:["data-md-color-scheme"]}),"undefined"!=typeof mermaid&&(d=d.then(function(){s("diagram")}).catch(function(t){console.log("UML loading failed...".concat(t))})),"undefined"!=typeof katex?u=u.then(function(){m("arithmatex","katex")}).catch(function(t){console.log("Math loading failed...".concat(t))}):"undefined"!=typeof MathJax&&"typesetPromise"in MathJax&&(u=u.then(function(){m("arithmatex","mathjax")}).catch(function(t){console.log("Math loading failed...".concat(t))}))})}();
4
+ //# sourceMappingURL=extra-loader-Ccztcqfq.js.map
@@ -0,0 +1,17 @@
1
+ {% extends "base.html" %}
2
+
3
+ {% block announce %}{% include "announce.html" ignore missing %}{% endblock %}
4
+
5
+ {% block content %}
6
+ {{ super() }}
7
+ <footer class="sponsorship">
8
+ <hr>
9
+ <a href="https://github.com/sponsors/facelessuser" title="Become a sponsor">
10
+ <span class="twemoji heart-throb-hover">
11
+ {% set icon = "octicons/heart-fill-16" %}
12
+ {% include ".icons/" ~ icon ~ ".svg" %}
13
+ </span>
14
+ </a>
15
+ <hr>
16
+ </footer>
17
+ {% endblock %}
@@ -0,0 +1,14 @@
1
+ {%- if not nav_item.children %}
2
+ <li {% if nav_item.active %}class="active"{% endif %}>
3
+ <a href="{{ nav_item.url|url }}">{{ nav_item.title }}</a>
4
+ </li>
5
+ {%- else %}
6
+ <li>
7
+ {{ nav_item.title }}
8
+ <ul>
9
+ {%- for nav_item in nav_item.children %}
10
+ {% include "nav.html" %}
11
+ {%- endfor %}
12
+ </ul>
13
+ </li>
14
+ {%- endif %}
@@ -0,0 +1,14 @@
1
+ {% extends "base.html" %}
2
+
3
+ {%- block content %}
4
+
5
+ <h2>Documentation Navigation</h2>
6
+
7
+ <!-- Navigation list -->
8
+ <ul>
9
+ {% for nav_item in nav.items %}
10
+ {% include "nav.html" %}
11
+ {% endfor %}
12
+ </ul>
13
+
14
+ {%- endblock %}
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
2
  <wxFormBuilder_Project>
3
3
  <FileVersion major="1" minor="18"/>
4
- <object class="Project" expanded="true">
4
+ <object class="Project" expanded="false">
5
5
  <property name="code_generation">Python</property>
6
6
  <property name="cpp_class_decoration"></property>
7
7
  <property name="cpp_disconnect_events">1</property>
@@ -5103,6 +5103,24 @@
5103
5103
  <property name="name">m_separator41</property>
5104
5104
  <property name="permission">none</property>
5105
5105
  </object>
5106
+ <object class="wxMenuItem" expanded="false">
5107
+ <property name="bitmap"></property>
5108
+ <property name="checked">0</property>
5109
+ <property name="enabled">1</property>
5110
+ <property name="help"></property>
5111
+ <property name="id">wxID_ANY</property>
5112
+ <property name="kind">wxITEM_NORMAL</property>
5113
+ <property name="label">Delete Backups</property>
5114
+ <property name="name">m_delete_backups_menuitem</property>
5115
+ <property name="permission">none</property>
5116
+ <property name="shortcut"></property>
5117
+ <property name="unchecked_bitmap"></property>
5118
+ <event name="OnMenuSelection">on_delete_backups</event>
5119
+ </object>
5120
+ <object class="separator" expanded="false">
5121
+ <property name="name">m_separator5</property>
5122
+ <property name="permission">none</property>
5123
+ </object>
5106
5124
  <object class="wxMenuItem" expanded="false">
5107
5125
  <property name="bitmap"></property>
5108
5126
  <property name="checked">0</property>
@@ -43,12 +43,12 @@ class CustomMetadataHook(MetadataHookInterface):
43
43
  "License :: OSI Approved :: MIT License",
44
44
  "Operating System :: OS Independent",
45
45
  "Programming Language :: Python :: 3",
46
- "Programming Language :: Python :: 3.8",
47
46
  "Programming Language :: Python :: 3.9",
48
47
  "Programming Language :: Python :: 3.10",
49
48
  "Programming Language :: Python :: 3.11",
50
49
  "Programming Language :: Python :: 3.12",
51
50
  "Programming Language :: Python :: 3.13",
51
+ "Programming Language :: Python :: 3.14",
52
52
  "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
53
53
  "Topic :: Software Development :: Libraries :: Python Modules",
54
54
  "Topic :: Text Processing :: Filters",
@@ -9,7 +9,7 @@ name = "rummage"
9
9
  description = "A GUI search and replace app."
10
10
  readme = "README.md"
11
11
  license = "MIT"
12
- requires-python = ">=3.7"
12
+ requires-python = ">=3.9"
13
13
  authors = [
14
14
  { name = "Isaac Muse", email = "Isaac.Muse@gmail.com" },
15
15
  ]
@@ -153,7 +153,7 @@ legacy_tox_ini = """
153
153
  [tox]
154
154
  skipsdist=true
155
155
  envlist=
156
- {py38,py39,py310,py311,py312,py313},
156
+ {py39,py310,py311,py312,py313,py314},
157
157
  lint
158
158
 
159
159
  [testenv]
@@ -177,10 +177,10 @@ commands=
177
177
 
178
178
  [testenv:documents]
179
179
  passenv = *
180
- deps=
181
- -r requirements/docs.txt
182
- commands=
183
- {envpython} -m mkdocs build --clean --verbose --strict
184
- {envpython} -m pyspelling
180
+ deps =
181
+ -rrequirements/docs.txt
182
+ commands =
183
+ {envbindir}/zensical build -f zensical.yml --clean --strict
184
+ pyspelling -j 0
185
185
  {envpython} {toxinidir}/tools/gen_docs.py --verbose --test
186
186
  """
@@ -0,0 +1,4 @@
1
+ zensical
2
+ markdown
3
+ pymdown-extensions
4
+ pyspelling
@@ -0,0 +1,2 @@
1
+ faust-cchardet>=2.1.19
2
+ regex>=2025.7.34
@@ -0,0 +1,11 @@
1
+ chardet>=5.2.0
2
+ backrefs>=6.1
3
+ bracex>=2.6
4
+ wcmatch>=10.0,<11.0
5
+ wxpython>=4.1.0
6
+ filelock>=3.16
7
+ send2trash>=1.8.3
8
+ markdown>=3.10
9
+ pymdown-extensions>=10.20
10
+ pygments>=2.19.2
11
+ coloraide>=6.2
@@ -0,0 +1,3 @@
1
+ chardet>=5.2.0
2
+ backrefs>=6.1
3
+ wcmatch>=10.0,<11.0
@@ -189,7 +189,7 @@ def parse_version(ver):
189
189
 
190
190
 
191
191
  # (major, minor, micro, release type, pre-release build, post-release build, development-release)
192
- __version_info__ = Version(4, 21, 2, 'final')
192
+ __version_info__ = Version(4, 23, 0, 'final')
193
193
  __version__ = __version_info__._get_canonical()
194
194
  __app__ = "Rummage"
195
195
  __status__ = __version_info__[3]
@@ -136,10 +136,5 @@ class RummageApp(PipeApp):
136
136
  def MacNewFile(self, fileName=None):
137
137
  """Handle new window event."""
138
138
 
139
- self.MacReopenApp()
140
-
141
- def MacReopenApp(self): # noqa
142
- """Ensure that app will be un-minimized in macOS on dock icon click."""
143
-
144
139
  frame = self.GetTopWindow()
145
140
  platform_window_focus(frame)