From 3631f5ca24e4228c390f843e042fd204d98576d8 Mon Sep 17 00:00:00 2001 From: wzy <1458201660@qq.com> Date: Sat, 1 Jun 2024 23:52:58 +0800 Subject: [PATCH] 0601 --- ...设计课程设计报告模板 2024年.doc | Bin 747633 -> 745119 bytes djangoProject/.idea/dataSources.xml | 12 - djangoProject/.idea/jsLibraryMappings.xml | 6 - .../__pycache__/__init__.cpython-312.pyc | Bin 150 -> 0 bytes .../__pycache__/settings.cpython-312.pyc | Bin 2741 -> 0 bytes .../__pycache__/urls.cpython-312.pyc | Bin 1579 -> 0 bytes .../__pycache__/wsgi.cpython-312.pyc | Bin 650 -> 0 bytes djangoProject/djangoProject/asgi.py | 16 - djangoProject/djangoProject/urls.py | 29 - djangoProject/djangoProject/wsgi.py | 16 - djangoProject/hospital/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 145 -> 0 bytes .../__pycache__/admin.cpython-312.pyc | Bin 2516 -> 0 bytes .../hospital/__pycache__/apps.cpython-312.pyc | Bin 494 -> 0 bytes .../__pycache__/models.cpython-312.pyc | Bin 7564 -> 0 bytes .../hospital/__pycache__/url.cpython-312.pyc | Bin 1884 -> 0 bytes .../__pycache__/views.cpython-312.pyc | Bin 16079 -> 0 bytes djangoProject/hospital/admin.py | 42 - djangoProject/hospital/apps.py | 6 - .../hospital/migrations/0001_initial.py | 12 - .../hospital/migrations/0002_initial.py | 102 - .../migrations/0003_alter_doctor_img.py | 18 - .../migrations/0004_alter_doctor_img.py | 18 - .../migrations/0005_alter_patient_sex.py | 18 - djangoProject/hospital/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-312.pyc | Bin 458 -> 0 bytes .../__pycache__/0002_initial.cpython-312.pyc | Bin 5841 -> 0 bytes .../0003_alter_doctor_img.cpython-312.pyc | Bin 768 -> 0 bytes .../0004_alter_doctor_img.cpython-312.pyc | Bin 771 -> 0 bytes .../0005_alter_patient_sex.cpython-312.pyc | Bin 769 -> 0 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 156 -> 0 bytes djangoProject/hospital/models.py | 102 - djangoProject/hospital/url.py | 19 - djangoProject/hospital/views.py | 210 - .../13f497750c910e826a8a71f5bc85885.jpg | Bin 139382 -> 0 bytes .../907d937d4dd8844a4820d816e0cb7f7.jpg | Bin 442020 -> 0 bytes djangoProject/static/css/choosedepartment.css | 68 - .../static/css/choosedoctorandtime.css | 95 - djangoProject/static/css/chooselogin.css | 43 - djangoProject/static/css/doctorcenter.css | 70 - djangoProject/static/css/doctorlogin.css | 79 - djangoProject/static/css/patientcenter.css | 77 - djangoProject/static/css/patientlogin.css | 83 - djangoProject/static/css/patientregister.css | 83 - djangoProject/static/images/admin.jpg | Bin 39146 -> 0 bytes djangoProject/static/images/doctor.jpg | Bin 15533 -> 0 bytes djangoProject/static/images/message.jpg | Bin 5409 -> 0 bytes djangoProject/static/images/patient.jpg | Bin 34068 -> 0 bytes djangoProject/static/images/yuyue.jpg | Bin 5157 -> 0 bytes .../staticfiles/admin/css/autocomplete.css | 275 - djangoProject/staticfiles/admin/css/base.css | 1156 - .../staticfiles/admin/css/changelists.css | 338 - .../staticfiles/admin/css/dark_mode.css | 124 - .../staticfiles/admin/css/dashboard.css | 29 - djangoProject/staticfiles/admin/css/forms.css | 534 - djangoProject/staticfiles/admin/css/login.css | 61 - .../staticfiles/admin/css/nav_sidebar.css | 150 - .../staticfiles/admin/css/responsive.css | 970 - .../staticfiles/admin/css/responsive_rtl.css | 84 - djangoProject/staticfiles/admin/css/rtl.css | 302 - .../css/vendor/select2/LICENSE-SELECT2.md | 21 - .../admin/css/vendor/select2/select2.css | 481 - .../admin/css/vendor/select2/select2.min.css | 1 - .../staticfiles/admin/css/widgets.css | 603 - djangoProject/staticfiles/admin/img/LICENSE | 20 - .../staticfiles/admin/img/README.txt | 7 - .../staticfiles/admin/img/calendar-icons.svg | 14 - .../admin/img/gis/move_vertex_off.svg | 1 - .../admin/img/gis/move_vertex_on.svg | 1 - .../staticfiles/admin/img/icon-addlink.svg | 3 - .../staticfiles/admin/img/icon-alert.svg | 3 - .../staticfiles/admin/img/icon-calendar.svg | 9 - .../staticfiles/admin/img/icon-changelink.svg | 3 - .../staticfiles/admin/img/icon-clock.svg | 9 - .../staticfiles/admin/img/icon-deletelink.svg | 3 - .../staticfiles/admin/img/icon-hidelink.svg | 3 - .../staticfiles/admin/img/icon-no.svg | 3 - .../admin/img/icon-unknown-alt.svg | 3 - .../staticfiles/admin/img/icon-unknown.svg | 3 - .../staticfiles/admin/img/icon-viewlink.svg | 3 - .../staticfiles/admin/img/icon-yes.svg | 3 - .../staticfiles/admin/img/inline-delete.svg | 3 - .../staticfiles/admin/img/search.svg | 3 - .../staticfiles/admin/img/selector-icons.svg | 34 - .../staticfiles/admin/img/sorting-icons.svg | 19 - .../staticfiles/admin/img/tooltag-add.svg | 3 - .../admin/img/tooltag-arrowright.svg | 3 - .../staticfiles/admin/js/SelectBox.js | 116 - .../staticfiles/admin/js/SelectFilter2.js | 286 - djangoProject/staticfiles/admin/js/actions.js | 204 - .../admin/js/admin/DateTimeShortcuts.js | 408 - .../admin/js/admin/RelatedObjectLookups.js | 240 - .../staticfiles/admin/js/autocomplete.js | 33 - .../staticfiles/admin/js/calendar.js | 239 - djangoProject/staticfiles/admin/js/cancel.js | 29 - .../staticfiles/admin/js/change_form.js | 16 - .../staticfiles/admin/js/collapse.js | 43 - djangoProject/staticfiles/admin/js/core.js | 184 - djangoProject/staticfiles/admin/js/filters.js | 30 - djangoProject/staticfiles/admin/js/inlines.js | 359 - .../staticfiles/admin/js/jquery.init.js | 8 - .../staticfiles/admin/js/nav_sidebar.js | 79 - .../staticfiles/admin/js/popup_response.js | 16 - .../staticfiles/admin/js/prepopulate.js | 43 - .../staticfiles/admin/js/prepopulate_init.js | 15 - djangoProject/staticfiles/admin/js/theme.js | 56 - djangoProject/staticfiles/admin/js/urlify.js | 169 - .../admin/js/vendor/jquery/LICENSE.txt | 20 - .../admin/js/vendor/jquery/jquery.js | 10716 -- .../admin/js/vendor/jquery/jquery.min.js | 2 - .../admin/js/vendor/select2/LICENSE.md | 21 - .../admin/js/vendor/select2/i18n/af.js | 3 - .../admin/js/vendor/select2/i18n/ar.js | 3 - .../admin/js/vendor/select2/i18n/az.js | 3 - .../admin/js/vendor/select2/i18n/bg.js | 3 - .../admin/js/vendor/select2/i18n/bn.js | 3 - .../admin/js/vendor/select2/i18n/bs.js | 3 - .../admin/js/vendor/select2/i18n/ca.js | 3 - .../admin/js/vendor/select2/i18n/cs.js | 3 - .../admin/js/vendor/select2/i18n/da.js | 3 - .../admin/js/vendor/select2/i18n/de.js | 3 - .../admin/js/vendor/select2/i18n/dsb.js | 3 - .../admin/js/vendor/select2/i18n/el.js | 3 - .../admin/js/vendor/select2/i18n/en.js | 3 - .../admin/js/vendor/select2/i18n/es.js | 3 - .../admin/js/vendor/select2/i18n/et.js | 3 - .../admin/js/vendor/select2/i18n/eu.js | 3 - .../admin/js/vendor/select2/i18n/fa.js | 3 - .../admin/js/vendor/select2/i18n/fi.js | 3 - .../admin/js/vendor/select2/i18n/fr.js | 3 - .../admin/js/vendor/select2/i18n/gl.js | 3 - .../admin/js/vendor/select2/i18n/he.js | 3 - .../admin/js/vendor/select2/i18n/hi.js | 3 - .../admin/js/vendor/select2/i18n/hr.js | 3 - .../admin/js/vendor/select2/i18n/hsb.js | 3 - .../admin/js/vendor/select2/i18n/hu.js | 3 - .../admin/js/vendor/select2/i18n/hy.js | 3 - .../admin/js/vendor/select2/i18n/id.js | 3 - .../admin/js/vendor/select2/i18n/is.js | 3 - .../admin/js/vendor/select2/i18n/it.js | 3 - .../admin/js/vendor/select2/i18n/ja.js | 3 - .../admin/js/vendor/select2/i18n/ka.js | 3 - .../admin/js/vendor/select2/i18n/km.js | 3 - .../admin/js/vendor/select2/i18n/ko.js | 3 - .../admin/js/vendor/select2/i18n/lt.js | 3 - .../admin/js/vendor/select2/i18n/lv.js | 3 - .../admin/js/vendor/select2/i18n/mk.js | 3 - .../admin/js/vendor/select2/i18n/ms.js | 3 - .../admin/js/vendor/select2/i18n/nb.js | 3 - .../admin/js/vendor/select2/i18n/ne.js | 3 - .../admin/js/vendor/select2/i18n/nl.js | 3 - .../admin/js/vendor/select2/i18n/pl.js | 3 - .../admin/js/vendor/select2/i18n/ps.js | 3 - .../admin/js/vendor/select2/i18n/pt-BR.js | 3 - .../admin/js/vendor/select2/i18n/pt.js | 3 - .../admin/js/vendor/select2/i18n/ro.js | 3 - .../admin/js/vendor/select2/i18n/ru.js | 3 - .../admin/js/vendor/select2/i18n/sk.js | 3 - .../admin/js/vendor/select2/i18n/sl.js | 3 - .../admin/js/vendor/select2/i18n/sq.js | 3 - .../admin/js/vendor/select2/i18n/sr-Cyrl.js | 3 - .../admin/js/vendor/select2/i18n/sr.js | 3 - .../admin/js/vendor/select2/i18n/sv.js | 3 - .../admin/js/vendor/select2/i18n/th.js | 3 - .../admin/js/vendor/select2/i18n/tk.js | 3 - .../admin/js/vendor/select2/i18n/tr.js | 3 - .../admin/js/vendor/select2/i18n/uk.js | 3 - .../admin/js/vendor/select2/i18n/vi.js | 3 - .../admin/js/vendor/select2/i18n/zh-CN.js | 3 - .../admin/js/vendor/select2/i18n/zh-TW.js | 3 - .../admin/js/vendor/select2/select2.full.js | 6820 -- .../js/vendor/select2/select2.full.min.js | 2 - .../admin/js/vendor/xregexp/LICENSE.txt | 21 - .../admin/js/vendor/xregexp/xregexp.js | 6126 - .../admin/js/vendor/xregexp/xregexp.min.js | 17 - .../admin/simpleui-x/automatic/dicts.js | 300 - .../admin/simpleui-x/automatic/segment.js | 56 - .../staticfiles/admin/simpleui-x/css/base.css | 249 - .../admin/simpleui-x/css/base.css.map | 1 - .../admin/simpleui-x/css/base.less | 309 - .../admin/simpleui-x/css/index.css | 392 - .../admin/simpleui-x/css/index.css.map | 1 - .../admin/simpleui-x/css/index.less | 459 - .../admin/simpleui-x/css/login.css | 38 - .../admin/simpleui-x/elementui/index.js | 1 - .../simpleui-x/elementui/locale/format.js | 56 - .../simpleui-x/elementui/locale/index.js | 63 - .../simpleui-x/elementui/locale/lang/af-ZA.js | 126 - .../simpleui-x/elementui/locale/lang/ar.js | 125 - .../simpleui-x/elementui/locale/lang/bg.js | 126 - .../simpleui-x/elementui/locale/lang/ca.js | 125 - .../simpleui-x/elementui/locale/lang/cs-CZ.js | 128 - .../simpleui-x/elementui/locale/lang/da.js | 125 - .../simpleui-x/elementui/locale/lang/de.js | 127 - .../simpleui-x/elementui/locale/lang/ee.js | 126 - .../simpleui-x/elementui/locale/lang/el.js | 126 - .../simpleui-x/elementui/locale/lang/en.js | 126 - .../simpleui-x/elementui/locale/lang/eo.js | 126 - .../simpleui-x/elementui/locale/lang/es.js | 125 - .../simpleui-x/elementui/locale/lang/eu.js | 126 - .../simpleui-x/elementui/locale/lang/fa.js | 126 - .../simpleui-x/elementui/locale/lang/fi.js | 126 - .../simpleui-x/elementui/locale/lang/fr.js | 125 - .../simpleui-x/elementui/locale/lang/he.js | 126 - .../simpleui-x/elementui/locale/lang/hr.js | 126 - .../simpleui-x/elementui/locale/lang/hu.js | 125 - .../simpleui-x/elementui/locale/lang/hy-AM.js | 126 - .../simpleui-x/elementui/locale/lang/id.js | 126 - .../simpleui-x/elementui/locale/lang/it.js | 125 - .../simpleui-x/elementui/locale/lang/ja.js | 126 - .../simpleui-x/elementui/locale/lang/kg.js | 126 - .../simpleui-x/elementui/locale/lang/km.js | 126 - .../simpleui-x/elementui/locale/lang/ko.js | 126 - .../simpleui-x/elementui/locale/lang/ku.js | 126 - .../simpleui-x/elementui/locale/lang/kz.js | 126 - .../simpleui-x/elementui/locale/lang/lt.js | 126 - .../simpleui-x/elementui/locale/lang/lv.js | 126 - .../simpleui-x/elementui/locale/lang/mn.js | 126 - .../simpleui-x/elementui/locale/lang/nb-NO.js | 125 - .../simpleui-x/elementui/locale/lang/nl.js | 126 - .../simpleui-x/elementui/locale/lang/pl.js | 126 - .../simpleui-x/elementui/locale/lang/pt-br.js | 126 - .../simpleui-x/elementui/locale/lang/pt.js | 126 - .../simpleui-x/elementui/locale/lang/ro.js | 126 - .../simpleui-x/elementui/locale/lang/ru-RU.js | 126 - .../simpleui-x/elementui/locale/lang/sk.js | 128 - .../simpleui-x/elementui/locale/lang/sl.js | 126 - .../simpleui-x/elementui/locale/lang/sr.js | 126 - .../simpleui-x/elementui/locale/lang/sv-SE.js | 126 - .../simpleui-x/elementui/locale/lang/ta.js | 125 - .../simpleui-x/elementui/locale/lang/th.js | 126 - .../simpleui-x/elementui/locale/lang/tk.js | 126 - .../simpleui-x/elementui/locale/lang/tr-TR.js | 126 - .../simpleui-x/elementui/locale/lang/ua.js | 126 - .../simpleui-x/elementui/locale/lang/ug-CN.js | 126 - .../simpleui-x/elementui/locale/lang/uz-UZ.js | 126 - .../simpleui-x/elementui/locale/lang/vi.js | 126 - .../simpleui-x/elementui/locale/lang/zh-CN.js | 126 - .../simpleui-x/elementui/locale/lang/zh-TW.js | 126 - .../theme-chalk/fonts/element-icons.ttf | Bin 55956 -> 0 bytes .../theme-chalk/fonts/element-icons.woff | Bin 28200 -> 0 bytes .../elementui/theme-chalk/index.css | 1 - .../fontawesome-free-6.2.0-web/LICENSE.txt | 165 - .../fontawesome-free-6.2.0-web/css/all.css | 7937 -- .../css/all.min.css | 6 - .../fontawesome-free-6.2.0-web/css/brands.css | 1516 - .../css/brands.min.css | 6 - .../css/fontawesome.css | 6360 -- .../css/fontawesome.min.css | 6 - .../css/regular.css | 19 - .../css/regular.min.css | 6 - .../fontawesome-free-6.2.0-web/css/solid.css | 19 - .../css/solid.min.css | 6 - .../css/svg-with-js.css | 635 - .../css/svg-with-js.min.css | 6 - .../css/v4-font-face.css | 26 - .../css/v4-font-face.min.css | 6 - .../css/v4-shims.css | 2194 - .../css/v4-shims.min.css | 6 - .../css/v5-font-face.css | 22 - .../css/v5-font-face.min.css | 6 - .../fontawesome-free-6.2.0-web/js/all.js | 5930 - .../fontawesome-free-6.2.0-web/js/all.min.js | 6 - .../fontawesome-free-6.2.0-web/js/brands.js | 737 - .../js/brands.min.js | 6 - .../js/conflict-detection.js | 1128 - .../js/conflict-detection.min.js | 6 - .../js/fontawesome.js | 3113 - .../js/fontawesome.min.js | 6 - .../fontawesome-free-6.2.0-web/js/regular.js | 435 - .../js/regular.min.js | 6 - .../fontawesome-free-6.2.0-web/js/solid.js | 1660 - .../js/solid.min.js | 6 - .../fontawesome-free-6.2.0-web/js/v4-shims.js | 215 - .../js/v4-shims.min.js | 6 - .../less/_animated.less | 152 - .../less/_bordered-pulled.less | 20 - .../less/_core.less | 38 - .../less/_fixed-width.less | 7 - .../less/_icons.less | 9 - .../less/_list.less | 18 - .../less/_mixins.less | 78 - .../less/_rotated-flipped.less | 31 - .../less/_screen-reader.less | 14 - .../less/_shims.less | 2042 - .../less/_sizing.less | 19 - .../less/_stacked.less | 31 - .../less/_variables.less | 4952 - .../less/brands.css | 1519 - .../less/brands.css.map | 1 - .../less/brands.less | 29 - .../less/fontawesome.css | 6225 -- .../less/fontawesome.css.map | 1 - .../less/fontawesome.less | 20 - .../less/regular.css | 22 - .../less/regular.css.map | 1 - .../less/regular.less | 25 - .../fontawesome-free-6.2.0-web/less/solid.css | 22 - .../less/solid.css.map | 1 - .../less/solid.less | 26 - .../less/v4-shims.css | 2196 - .../less/v4-shims.css.map | 1 - .../less/v4-shims.less | 10 - .../metadata/categories.yml | 3048 - .../metadata/icon-families.json | 92868 ---------------- .../metadata/icon-families.yml | 35807 ------ .../metadata/icons.json | 78920 ------------- .../metadata/icons.yml | 29759 ----- .../metadata/shims.json | 4052 - .../metadata/shims.yml | 646 - .../metadata/sponsors.yml | 1318 - .../scss/_animated.scss | 153 - .../scss/_bordered-pulled.scss | 20 - .../scss/_core.scss | 43 - .../scss/_fixed-width.scss | 7 - .../scss/_functions.scss | 57 - .../scss/_icons.scss | 9 - .../scss/_list.scss | 18 - .../scss/_mixins.scss | 75 - .../scss/_rotated-flipped.scss | 31 - .../scss/_screen-reader.scss | 14 - .../scss/_shims.scss | 2042 - .../scss/_sizing.scss | 16 - .../scss/_stacked.scss | 32 - .../scss/_variables.scss | 4951 - .../scss/brands.scss | 30 - .../scss/fontawesome.scss | 21 - .../scss/regular.scss | 26 - .../scss/solid.scss | 26 - .../scss/v4-shims.scss | 11 - .../sprites/brands.svg | 1403 - .../sprites/regular.svg | 497 - .../sprites/solid.svg | 4172 - .../svgs/brands/42-group.svg | 1 - .../svgs/brands/500px.svg | 1 - .../svgs/brands/accessible-icon.svg | 1 - .../svgs/brands/accusoft.svg | 1 - .../svgs/brands/adn.svg | 1 - .../svgs/brands/adversal.svg | 1 - .../svgs/brands/affiliatetheme.svg | 1 - .../svgs/brands/airbnb.svg | 1 - .../svgs/brands/algolia.svg | 1 - .../svgs/brands/alipay.svg | 1 - .../svgs/brands/amazon-pay.svg | 1 - .../svgs/brands/amazon.svg | 1 - .../svgs/brands/amilia.svg | 1 - .../svgs/brands/android.svg | 1 - .../svgs/brands/angellist.svg | 1 - .../svgs/brands/angrycreative.svg | 1 - .../svgs/brands/angular.svg | 1 - .../svgs/brands/app-store-ios.svg | 1 - .../svgs/brands/app-store.svg | 1 - .../svgs/brands/apper.svg | 1 - .../svgs/brands/apple-pay.svg | 1 - .../svgs/brands/apple.svg | 1 - .../svgs/brands/artstation.svg | 1 - .../svgs/brands/asymmetrik.svg | 1 - .../svgs/brands/atlassian.svg | 1 - .../svgs/brands/audible.svg | 1 - .../svgs/brands/autoprefixer.svg | 1 - .../svgs/brands/avianex.svg | 1 - .../svgs/brands/aviato.svg | 1 - .../svgs/brands/aws.svg | 1 - .../svgs/brands/bandcamp.svg | 1 - .../svgs/brands/battle-net.svg | 1 - .../svgs/brands/behance.svg | 1 - .../svgs/brands/bilibili.svg | 1 - .../svgs/brands/bimobject.svg | 1 - .../svgs/brands/bitbucket.svg | 1 - .../svgs/brands/bitcoin.svg | 1 - .../svgs/brands/bity.svg | 1 - .../svgs/brands/black-tie.svg | 1 - .../svgs/brands/blackberry.svg | 1 - .../svgs/brands/blogger-b.svg | 1 - .../svgs/brands/blogger.svg | 1 - .../svgs/brands/bluetooth-b.svg | 1 - .../svgs/brands/bluetooth.svg | 1 - .../svgs/brands/bootstrap.svg | 1 - .../svgs/brands/bots.svg | 1 - .../svgs/brands/btc.svg | 1 - .../svgs/brands/buffer.svg | 1 - .../svgs/brands/buromobelexperte.svg | 1 - .../svgs/brands/buy-n-large.svg | 1 - .../svgs/brands/buysellads.svg | 1 - .../svgs/brands/canadian-maple-leaf.svg | 1 - .../svgs/brands/cc-amazon-pay.svg | 1 - .../svgs/brands/cc-amex.svg | 1 - .../svgs/brands/cc-apple-pay.svg | 1 - .../svgs/brands/cc-diners-club.svg | 1 - .../svgs/brands/cc-discover.svg | 1 - .../svgs/brands/cc-jcb.svg | 1 - .../svgs/brands/cc-mastercard.svg | 1 - .../svgs/brands/cc-paypal.svg | 1 - .../svgs/brands/cc-stripe.svg | 1 - .../svgs/brands/cc-visa.svg | 1 - .../svgs/brands/centercode.svg | 1 - .../svgs/brands/centos.svg | 1 - .../svgs/brands/chrome.svg | 1 - .../svgs/brands/chromecast.svg | 1 - .../svgs/brands/cloudflare.svg | 1 - .../svgs/brands/cloudscale.svg | 1 - .../svgs/brands/cloudsmith.svg | 1 - .../svgs/brands/cloudversify.svg | 1 - .../svgs/brands/cmplid.svg | 1 - .../svgs/brands/codepen.svg | 1 - .../svgs/brands/codiepie.svg | 1 - .../svgs/brands/confluence.svg | 1 - .../svgs/brands/connectdevelop.svg | 1 - .../svgs/brands/contao.svg | 1 - .../svgs/brands/cotton-bureau.svg | 1 - .../svgs/brands/cpanel.svg | 1 - .../svgs/brands/creative-commons-by.svg | 1 - .../svgs/brands/creative-commons-nc-eu.svg | 1 - .../svgs/brands/creative-commons-nc-jp.svg | 1 - .../svgs/brands/creative-commons-nc.svg | 1 - .../svgs/brands/creative-commons-nd.svg | 1 - .../svgs/brands/creative-commons-pd-alt.svg | 1 - .../svgs/brands/creative-commons-pd.svg | 1 - .../svgs/brands/creative-commons-remix.svg | 1 - .../svgs/brands/creative-commons-sa.svg | 1 - .../brands/creative-commons-sampling-plus.svg | 1 - .../svgs/brands/creative-commons-sampling.svg | 1 - .../svgs/brands/creative-commons-share.svg | 1 - .../svgs/brands/creative-commons-zero.svg | 1 - .../svgs/brands/creative-commons.svg | 1 - .../svgs/brands/critical-role.svg | 1 - .../svgs/brands/css3-alt.svg | 1 - .../svgs/brands/css3.svg | 1 - .../svgs/brands/cuttlefish.svg | 1 - .../svgs/brands/d-and-d-beyond.svg | 1 - .../svgs/brands/d-and-d.svg | 1 - .../svgs/brands/dailymotion.svg | 1 - .../svgs/brands/dashcube.svg | 1 - .../svgs/brands/deezer.svg | 1 - .../svgs/brands/delicious.svg | 1 - .../svgs/brands/deploydog.svg | 1 - .../svgs/brands/deskpro.svg | 1 - .../svgs/brands/dev.svg | 1 - .../svgs/brands/deviantart.svg | 1 - .../svgs/brands/dhl.svg | 1 - .../svgs/brands/diaspora.svg | 1 - .../svgs/brands/digg.svg | 1 - .../svgs/brands/digital-ocean.svg | 1 - .../svgs/brands/discord.svg | 1 - .../svgs/brands/discourse.svg | 1 - .../svgs/brands/dochub.svg | 1 - .../svgs/brands/docker.svg | 1 - .../svgs/brands/draft2digital.svg | 1 - .../svgs/brands/dribbble.svg | 1 - .../svgs/brands/dropbox.svg | 1 - .../svgs/brands/drupal.svg | 1 - .../svgs/brands/dyalog.svg | 1 - .../svgs/brands/earlybirds.svg | 1 - .../svgs/brands/ebay.svg | 1 - .../svgs/brands/edge-legacy.svg | 1 - .../svgs/brands/edge.svg | 1 - .../svgs/brands/elementor.svg | 1 - .../svgs/brands/ello.svg | 1 - .../svgs/brands/ember.svg | 1 - .../svgs/brands/empire.svg | 1 - .../svgs/brands/envira.svg | 1 - .../svgs/brands/erlang.svg | 1 - .../svgs/brands/ethereum.svg | 1 - .../svgs/brands/etsy.svg | 1 - .../svgs/brands/evernote.svg | 1 - .../svgs/brands/expeditedssl.svg | 1 - .../svgs/brands/facebook-f.svg | 1 - .../svgs/brands/facebook-messenger.svg | 1 - .../svgs/brands/facebook.svg | 1 - .../svgs/brands/fantasy-flight-games.svg | 1 - .../svgs/brands/fedex.svg | 1 - .../svgs/brands/fedora.svg | 1 - .../svgs/brands/figma.svg | 1 - .../svgs/brands/firefox-browser.svg | 1 - .../svgs/brands/firefox.svg | 1 - .../svgs/brands/first-order-alt.svg | 1 - .../svgs/brands/first-order.svg | 1 - .../svgs/brands/firstdraft.svg | 1 - .../svgs/brands/flickr.svg | 1 - .../svgs/brands/flipboard.svg | 1 - .../svgs/brands/fly.svg | 1 - .../svgs/brands/font-awesome.svg | 1 - .../svgs/brands/fonticons-fi.svg | 1 - .../svgs/brands/fonticons.svg | 1 - .../svgs/brands/fort-awesome-alt.svg | 1 - .../svgs/brands/fort-awesome.svg | 1 - .../svgs/brands/forumbee.svg | 1 - .../svgs/brands/foursquare.svg | 1 - .../svgs/brands/free-code-camp.svg | 1 - .../svgs/brands/freebsd.svg | 1 - .../svgs/brands/fulcrum.svg | 1 - .../svgs/brands/galactic-republic.svg | 1 - .../svgs/brands/galactic-senate.svg | 1 - .../svgs/brands/get-pocket.svg | 1 - .../svgs/brands/gg-circle.svg | 1 - .../svgs/brands/gg.svg | 1 - .../svgs/brands/git-alt.svg | 1 - .../svgs/brands/git.svg | 1 - .../svgs/brands/github-alt.svg | 1 - .../svgs/brands/github.svg | 1 - .../svgs/brands/gitkraken.svg | 1 - .../svgs/brands/gitlab.svg | 1 - .../svgs/brands/gitter.svg | 1 - .../svgs/brands/glide-g.svg | 1 - .../svgs/brands/glide.svg | 1 - .../svgs/brands/gofore.svg | 1 - .../svgs/brands/golang.svg | 1 - .../svgs/brands/goodreads-g.svg | 1 - .../svgs/brands/goodreads.svg | 1 - .../svgs/brands/google-drive.svg | 1 - .../svgs/brands/google-pay.svg | 1 - .../svgs/brands/google-play.svg | 1 - .../svgs/brands/google-plus-g.svg | 1 - .../svgs/brands/google-plus.svg | 1 - .../svgs/brands/google-wallet.svg | 1 - .../svgs/brands/google.svg | 1 - .../svgs/brands/gratipay.svg | 1 - .../svgs/brands/grav.svg | 1 - .../svgs/brands/gripfire.svg | 1 - .../svgs/brands/grunt.svg | 1 - .../svgs/brands/guilded.svg | 1 - .../svgs/brands/gulp.svg | 1 - .../svgs/brands/hacker-news.svg | 1 - .../svgs/brands/hackerrank.svg | 1 - .../svgs/brands/hashnode.svg | 1 - .../svgs/brands/hips.svg | 1 - .../svgs/brands/hire-a-helper.svg | 1 - .../svgs/brands/hive.svg | 1 - .../svgs/brands/hooli.svg | 1 - .../svgs/brands/hornbill.svg | 1 - .../svgs/brands/hotjar.svg | 1 - .../svgs/brands/houzz.svg | 1 - .../svgs/brands/html5.svg | 1 - .../svgs/brands/hubspot.svg | 1 - .../svgs/brands/ideal.svg | 1 - .../svgs/brands/imdb.svg | 1 - .../svgs/brands/instagram.svg | 1 - .../svgs/brands/instalod.svg | 1 - .../svgs/brands/intercom.svg | 1 - .../svgs/brands/internet-explorer.svg | 1 - .../svgs/brands/invision.svg | 1 - .../svgs/brands/ioxhost.svg | 1 - .../svgs/brands/itch-io.svg | 1 - .../svgs/brands/itunes-note.svg | 1 - .../svgs/brands/itunes.svg | 1 - .../svgs/brands/java.svg | 1 - .../svgs/brands/jedi-order.svg | 1 - .../svgs/brands/jenkins.svg | 1 - .../svgs/brands/jira.svg | 1 - .../svgs/brands/joget.svg | 1 - .../svgs/brands/joomla.svg | 1 - .../svgs/brands/js.svg | 1 - .../svgs/brands/jsfiddle.svg | 1 - .../svgs/brands/kaggle.svg | 1 - .../svgs/brands/keybase.svg | 1 - .../svgs/brands/keycdn.svg | 1 - .../svgs/brands/kickstarter-k.svg | 1 - .../svgs/brands/kickstarter.svg | 1 - .../svgs/brands/korvue.svg | 1 - .../svgs/brands/laravel.svg | 1 - .../svgs/brands/lastfm.svg | 1 - .../svgs/brands/leanpub.svg | 1 - .../svgs/brands/less.svg | 1 - .../svgs/brands/line.svg | 1 - .../svgs/brands/linkedin-in.svg | 1 - .../svgs/brands/linkedin.svg | 1 - .../svgs/brands/linode.svg | 1 - .../svgs/brands/linux.svg | 1 - .../svgs/brands/lyft.svg | 1 - .../svgs/brands/magento.svg | 1 - .../svgs/brands/mailchimp.svg | 1 - .../svgs/brands/mandalorian.svg | 1 - .../svgs/brands/markdown.svg | 1 - .../svgs/brands/mastodon.svg | 1 - .../svgs/brands/maxcdn.svg | 1 - .../svgs/brands/mdb.svg | 1 - .../svgs/brands/medapps.svg | 1 - .../svgs/brands/medium.svg | 1 - .../svgs/brands/medrt.svg | 1 - .../svgs/brands/meetup.svg | 1 - .../svgs/brands/megaport.svg | 1 - .../svgs/brands/mendeley.svg | 1 - .../svgs/brands/meta.svg | 1 - .../svgs/brands/microblog.svg | 1 - .../svgs/brands/microsoft.svg | 1 - .../svgs/brands/mix.svg | 1 - .../svgs/brands/mixcloud.svg | 1 - .../svgs/brands/mixer.svg | 1 - .../svgs/brands/mizuni.svg | 1 - .../svgs/brands/modx.svg | 1 - .../svgs/brands/monero.svg | 1 - .../svgs/brands/napster.svg | 1 - .../svgs/brands/neos.svg | 1 - .../svgs/brands/nfc-directional.svg | 1 - .../svgs/brands/nfc-symbol.svg | 1 - .../svgs/brands/nimblr.svg | 1 - .../svgs/brands/node-js.svg | 1 - .../svgs/brands/node.svg | 1 - .../svgs/brands/npm.svg | 1 - .../svgs/brands/ns8.svg | 1 - .../svgs/brands/nutritionix.svg | 1 - .../svgs/brands/octopus-deploy.svg | 1 - .../svgs/brands/odnoklassniki.svg | 1 - .../svgs/brands/old-republic.svg | 1 - .../svgs/brands/opencart.svg | 1 - .../svgs/brands/openid.svg | 1 - .../svgs/brands/opera.svg | 1 - .../svgs/brands/optin-monster.svg | 1 - .../svgs/brands/orcid.svg | 1 - .../svgs/brands/osi.svg | 1 - .../svgs/brands/padlet.svg | 1 - .../svgs/brands/page4.svg | 1 - .../svgs/brands/pagelines.svg | 1 - .../svgs/brands/palfed.svg | 1 - .../svgs/brands/patreon.svg | 1 - .../svgs/brands/paypal.svg | 1 - .../svgs/brands/perbyte.svg | 1 - .../svgs/brands/periscope.svg | 1 - .../svgs/brands/phabricator.svg | 1 - .../svgs/brands/phoenix-framework.svg | 1 - .../svgs/brands/phoenix-squadron.svg | 1 - .../svgs/brands/php.svg | 1 - .../svgs/brands/pied-piper-alt.svg | 1 - .../svgs/brands/pied-piper-hat.svg | 1 - .../svgs/brands/pied-piper-pp.svg | 1 - .../svgs/brands/pied-piper.svg | 1 - .../svgs/brands/pinterest-p.svg | 1 - .../svgs/brands/pinterest.svg | 1 - .../svgs/brands/pix.svg | 1 - .../svgs/brands/playstation.svg | 1 - .../svgs/brands/product-hunt.svg | 1 - .../svgs/brands/pushed.svg | 1 - .../svgs/brands/python.svg | 1 - .../svgs/brands/qq.svg | 1 - .../svgs/brands/quinscape.svg | 1 - .../svgs/brands/quora.svg | 1 - .../svgs/brands/r-project.svg | 1 - .../svgs/brands/raspberry-pi.svg | 1 - .../svgs/brands/ravelry.svg | 1 - .../svgs/brands/react.svg | 1 - .../svgs/brands/reacteurope.svg | 1 - .../svgs/brands/readme.svg | 1 - .../svgs/brands/rebel.svg | 1 - .../svgs/brands/red-river.svg | 1 - .../svgs/brands/reddit-alien.svg | 1 - .../svgs/brands/reddit.svg | 1 - .../svgs/brands/redhat.svg | 1 - .../svgs/brands/renren.svg | 1 - .../svgs/brands/replyd.svg | 1 - .../svgs/brands/researchgate.svg | 1 - .../svgs/brands/resolving.svg | 1 - .../svgs/brands/rev.svg | 1 - .../svgs/brands/rocketchat.svg | 1 - .../svgs/brands/rockrms.svg | 1 - .../svgs/brands/rust.svg | 1 - .../svgs/brands/safari.svg | 1 - .../svgs/brands/salesforce.svg | 1 - .../svgs/brands/sass.svg | 1 - .../svgs/brands/schlix.svg | 1 - .../svgs/brands/screenpal.svg | 1 - .../svgs/brands/scribd.svg | 1 - .../svgs/brands/searchengin.svg | 1 - .../svgs/brands/sellcast.svg | 1 - .../svgs/brands/sellsy.svg | 1 - .../svgs/brands/servicestack.svg | 1 - .../svgs/brands/shirtsinbulk.svg | 1 - .../svgs/brands/shopify.svg | 1 - .../svgs/brands/shopware.svg | 1 - .../svgs/brands/simplybuilt.svg | 1 - .../svgs/brands/sistrix.svg | 1 - .../svgs/brands/sith.svg | 1 - .../svgs/brands/sitrox.svg | 1 - .../svgs/brands/sketch.svg | 1 - .../svgs/brands/skyatlas.svg | 1 - .../svgs/brands/skype.svg | 1 - .../svgs/brands/slack.svg | 1 - .../svgs/brands/slideshare.svg | 1 - .../svgs/brands/snapchat.svg | 1 - .../svgs/brands/soundcloud.svg | 1 - .../svgs/brands/sourcetree.svg | 1 - .../svgs/brands/space-awesome.svg | 1 - .../svgs/brands/speakap.svg | 1 - .../svgs/brands/speaker-deck.svg | 1 - .../svgs/brands/spotify.svg | 1 - .../svgs/brands/square-behance.svg | 1 - .../svgs/brands/square-dribbble.svg | 1 - .../svgs/brands/square-facebook.svg | 1 - .../brands/square-font-awesome-stroke.svg | 1 - .../svgs/brands/square-font-awesome.svg | 1 - .../svgs/brands/square-git.svg | 1 - .../svgs/brands/square-github.svg | 1 - .../svgs/brands/square-gitlab.svg | 1 - .../svgs/brands/square-google-plus.svg | 1 - .../svgs/brands/square-hacker-news.svg | 1 - .../svgs/brands/square-instagram.svg | 1 - .../svgs/brands/square-js.svg | 1 - .../svgs/brands/square-lastfm.svg | 1 - .../svgs/brands/square-odnoklassniki.svg | 1 - .../svgs/brands/square-pied-piper.svg | 1 - .../svgs/brands/square-pinterest.svg | 1 - .../svgs/brands/square-reddit.svg | 1 - .../svgs/brands/square-snapchat.svg | 1 - .../svgs/brands/square-steam.svg | 1 - .../svgs/brands/square-tumblr.svg | 1 - .../svgs/brands/square-twitter.svg | 1 - .../svgs/brands/square-viadeo.svg | 1 - .../svgs/brands/square-vimeo.svg | 1 - .../svgs/brands/square-whatsapp.svg | 1 - .../svgs/brands/square-xing.svg | 1 - .../svgs/brands/square-youtube.svg | 1 - .../svgs/brands/squarespace.svg | 1 - .../svgs/brands/stack-exchange.svg | 1 - .../svgs/brands/stack-overflow.svg | 1 - .../svgs/brands/stackpath.svg | 1 - .../svgs/brands/staylinked.svg | 1 - .../svgs/brands/steam-symbol.svg | 1 - .../svgs/brands/steam.svg | 1 - .../svgs/brands/sticker-mule.svg | 1 - .../svgs/brands/strava.svg | 1 - .../svgs/brands/stripe-s.svg | 1 - .../svgs/brands/stripe.svg | 1 - .../svgs/brands/studiovinari.svg | 1 - .../svgs/brands/stumbleupon-circle.svg | 1 - .../svgs/brands/stumbleupon.svg | 1 - .../svgs/brands/superpowers.svg | 1 - .../svgs/brands/supple.svg | 1 - .../svgs/brands/suse.svg | 1 - .../svgs/brands/swift.svg | 1 - .../svgs/brands/symfony.svg | 1 - .../svgs/brands/teamspeak.svg | 1 - .../svgs/brands/telegram.svg | 1 - .../svgs/brands/tencent-weibo.svg | 1 - .../svgs/brands/the-red-yeti.svg | 1 - .../svgs/brands/themeco.svg | 1 - .../svgs/brands/themeisle.svg | 1 - .../svgs/brands/think-peaks.svg | 1 - .../svgs/brands/tiktok.svg | 1 - .../svgs/brands/trade-federation.svg | 1 - .../svgs/brands/trello.svg | 1 - .../svgs/brands/tumblr.svg | 1 - .../svgs/brands/twitch.svg | 1 - .../svgs/brands/twitter.svg | 1 - .../svgs/brands/typo3.svg | 1 - .../svgs/brands/uber.svg | 1 - .../svgs/brands/ubuntu.svg | 1 - .../svgs/brands/uikit.svg | 1 - .../svgs/brands/umbraco.svg | 1 - .../svgs/brands/uncharted.svg | 1 - .../svgs/brands/uniregistry.svg | 1 - .../svgs/brands/unity.svg | 1 - .../svgs/brands/unsplash.svg | 1 - .../svgs/brands/untappd.svg | 1 - .../svgs/brands/ups.svg | 1 - .../svgs/brands/usb.svg | 1 - .../svgs/brands/usps.svg | 1 - .../svgs/brands/ussunnah.svg | 1 - .../svgs/brands/vaadin.svg | 1 - .../svgs/brands/viacoin.svg | 1 - .../svgs/brands/viadeo.svg | 1 - .../svgs/brands/viber.svg | 1 - .../svgs/brands/vimeo-v.svg | 1 - .../svgs/brands/vimeo.svg | 1 - .../svgs/brands/vine.svg | 1 - .../svgs/brands/vk.svg | 1 - .../svgs/brands/vnv.svg | 1 - .../svgs/brands/vuejs.svg | 1 - .../svgs/brands/watchman-monitoring.svg | 1 - .../svgs/brands/waze.svg | 1 - .../svgs/brands/weebly.svg | 1 - .../svgs/brands/weibo.svg | 1 - .../svgs/brands/weixin.svg | 1 - .../svgs/brands/whatsapp.svg | 1 - .../svgs/brands/whmcs.svg | 1 - .../svgs/brands/wikipedia-w.svg | 1 - .../svgs/brands/windows.svg | 1 - .../svgs/brands/wirsindhandwerk.svg | 1 - .../svgs/brands/wix.svg | 1 - .../svgs/brands/wizards-of-the-coast.svg | 1 - .../svgs/brands/wodu.svg | 1 - .../svgs/brands/wolf-pack-battalion.svg | 1 - .../svgs/brands/wordpress-simple.svg | 1 - .../svgs/brands/wordpress.svg | 1 - .../svgs/brands/wpbeginner.svg | 1 - .../svgs/brands/wpexplorer.svg | 1 - .../svgs/brands/wpforms.svg | 1 - .../svgs/brands/wpressr.svg | 1 - .../svgs/brands/xbox.svg | 1 - .../svgs/brands/xing.svg | 1 - .../svgs/brands/y-combinator.svg | 1 - .../svgs/brands/yahoo.svg | 1 - .../svgs/brands/yammer.svg | 1 - .../svgs/brands/yandex-international.svg | 1 - .../svgs/brands/yandex.svg | 1 - .../svgs/brands/yarn.svg | 1 - .../svgs/brands/yelp.svg | 1 - .../svgs/brands/yoast.svg | 1 - .../svgs/brands/youtube.svg | 1 - .../svgs/brands/zhihu.svg | 1 - .../svgs/regular/address-book.svg | 1 - .../svgs/regular/address-card.svg | 1 - .../svgs/regular/bell-slash.svg | 1 - .../svgs/regular/bell.svg | 1 - .../svgs/regular/bookmark.svg | 1 - .../svgs/regular/building.svg | 1 - .../svgs/regular/calendar-check.svg | 1 - .../svgs/regular/calendar-days.svg | 1 - .../svgs/regular/calendar-minus.svg | 1 - .../svgs/regular/calendar-plus.svg | 1 - .../svgs/regular/calendar-xmark.svg | 1 - .../svgs/regular/calendar.svg | 1 - .../svgs/regular/chart-bar.svg | 1 - .../svgs/regular/chess-bishop.svg | 1 - .../svgs/regular/chess-king.svg | 1 - .../svgs/regular/chess-knight.svg | 1 - .../svgs/regular/chess-pawn.svg | 1 - .../svgs/regular/chess-queen.svg | 1 - .../svgs/regular/chess-rook.svg | 1 - .../svgs/regular/circle-check.svg | 1 - .../svgs/regular/circle-dot.svg | 1 - .../svgs/regular/circle-down.svg | 1 - .../svgs/regular/circle-left.svg | 1 - .../svgs/regular/circle-pause.svg | 1 - .../svgs/regular/circle-play.svg | 1 - .../svgs/regular/circle-question.svg | 1 - .../svgs/regular/circle-right.svg | 1 - .../svgs/regular/circle-stop.svg | 1 - .../svgs/regular/circle-up.svg | 1 - .../svgs/regular/circle-user.svg | 1 - .../svgs/regular/circle-xmark.svg | 1 - .../svgs/regular/circle.svg | 1 - .../svgs/regular/clipboard.svg | 1 - .../svgs/regular/clock.svg | 1 - .../svgs/regular/clone.svg | 1 - .../svgs/regular/closed-captioning.svg | 1 - .../svgs/regular/comment-dots.svg | 1 - .../svgs/regular/comment.svg | 1 - .../svgs/regular/comments.svg | 1 - .../svgs/regular/compass.svg | 1 - .../svgs/regular/copy.svg | 1 - .../svgs/regular/copyright.svg | 1 - .../svgs/regular/credit-card.svg | 1 - .../svgs/regular/envelope-open.svg | 1 - .../svgs/regular/envelope.svg | 1 - .../svgs/regular/eye-slash.svg | 1 - .../svgs/regular/eye.svg | 1 - .../svgs/regular/face-angry.svg | 1 - .../svgs/regular/face-dizzy.svg | 1 - .../svgs/regular/face-flushed.svg | 1 - .../svgs/regular/face-frown-open.svg | 1 - .../svgs/regular/face-frown.svg | 1 - .../svgs/regular/face-grimace.svg | 1 - .../svgs/regular/face-grin-beam-sweat.svg | 1 - .../svgs/regular/face-grin-beam.svg | 1 - .../svgs/regular/face-grin-hearts.svg | 1 - .../svgs/regular/face-grin-squint-tears.svg | 1 - .../svgs/regular/face-grin-squint.svg | 1 - .../svgs/regular/face-grin-stars.svg | 1 - .../svgs/regular/face-grin-tears.svg | 1 - .../svgs/regular/face-grin-tongue-squint.svg | 1 - .../svgs/regular/face-grin-tongue-wink.svg | 1 - .../svgs/regular/face-grin-tongue.svg | 1 - .../svgs/regular/face-grin-wide.svg | 1 - .../svgs/regular/face-grin-wink.svg | 1 - .../svgs/regular/face-grin.svg | 1 - .../svgs/regular/face-kiss-beam.svg | 1 - .../svgs/regular/face-kiss-wink-heart.svg | 1 - .../svgs/regular/face-kiss.svg | 1 - .../svgs/regular/face-laugh-beam.svg | 1 - .../svgs/regular/face-laugh-squint.svg | 1 - .../svgs/regular/face-laugh-wink.svg | 1 - .../svgs/regular/face-laugh.svg | 1 - .../svgs/regular/face-meh-blank.svg | 1 - .../svgs/regular/face-meh.svg | 1 - .../svgs/regular/face-rolling-eyes.svg | 1 - .../svgs/regular/face-sad-cry.svg | 1 - .../svgs/regular/face-sad-tear.svg | 1 - .../svgs/regular/face-smile-beam.svg | 1 - .../svgs/regular/face-smile-wink.svg | 1 - .../svgs/regular/face-smile.svg | 1 - .../svgs/regular/face-surprise.svg | 1 - .../svgs/regular/face-tired.svg | 1 - .../svgs/regular/file-audio.svg | 1 - .../svgs/regular/file-code.svg | 1 - .../svgs/regular/file-excel.svg | 1 - .../svgs/regular/file-image.svg | 1 - .../svgs/regular/file-lines.svg | 1 - .../svgs/regular/file-pdf.svg | 1 - .../svgs/regular/file-powerpoint.svg | 1 - .../svgs/regular/file-video.svg | 1 - .../svgs/regular/file-word.svg | 1 - .../svgs/regular/file-zipper.svg | 1 - .../svgs/regular/file.svg | 1 - .../svgs/regular/flag.svg | 1 - .../svgs/regular/floppy-disk.svg | 1 - .../svgs/regular/folder-closed.svg | 1 - .../svgs/regular/folder-open.svg | 1 - .../svgs/regular/folder.svg | 1 - .../svgs/regular/font-awesome.svg | 1 - .../svgs/regular/futbol.svg | 1 - .../svgs/regular/gem.svg | 1 - .../svgs/regular/hand-back-fist.svg | 1 - .../svgs/regular/hand-lizard.svg | 1 - .../svgs/regular/hand-peace.svg | 1 - .../svgs/regular/hand-point-down.svg | 1 - .../svgs/regular/hand-point-left.svg | 1 - .../svgs/regular/hand-point-right.svg | 1 - .../svgs/regular/hand-point-up.svg | 1 - .../svgs/regular/hand-pointer.svg | 1 - .../svgs/regular/hand-scissors.svg | 1 - .../svgs/regular/hand-spock.svg | 1 - .../svgs/regular/hand.svg | 1 - .../svgs/regular/handshake.svg | 1 - .../svgs/regular/hard-drive.svg | 1 - .../svgs/regular/heart.svg | 1 - .../svgs/regular/hospital.svg | 1 - .../svgs/regular/hourglass-half.svg | 1 - .../svgs/regular/hourglass.svg | 1 - .../svgs/regular/id-badge.svg | 1 - .../svgs/regular/id-card.svg | 1 - .../svgs/regular/image.svg | 1 - .../svgs/regular/images.svg | 1 - .../svgs/regular/keyboard.svg | 1 - .../svgs/regular/lemon.svg | 1 - .../svgs/regular/life-ring.svg | 1 - .../svgs/regular/lightbulb.svg | 1 - .../svgs/regular/map.svg | 1 - .../svgs/regular/message.svg | 1 - .../svgs/regular/money-bill-1.svg | 1 - .../svgs/regular/moon.svg | 1 - .../svgs/regular/newspaper.svg | 1 - .../svgs/regular/note-sticky.svg | 1 - .../svgs/regular/object-group.svg | 1 - .../svgs/regular/object-ungroup.svg | 1 - .../svgs/regular/paper-plane.svg | 1 - .../svgs/regular/paste.svg | 1 - .../svgs/regular/pen-to-square.svg | 1 - .../svgs/regular/rectangle-list.svg | 1 - .../svgs/regular/rectangle-xmark.svg | 1 - .../svgs/regular/registered.svg | 1 - .../svgs/regular/share-from-square.svg | 1 - .../svgs/regular/snowflake.svg | 1 - .../svgs/regular/square-caret-down.svg | 1 - .../svgs/regular/square-caret-left.svg | 1 - .../svgs/regular/square-caret-right.svg | 1 - .../svgs/regular/square-caret-up.svg | 1 - .../svgs/regular/square-check.svg | 1 - .../svgs/regular/square-full.svg | 1 - .../svgs/regular/square-minus.svg | 1 - .../svgs/regular/square-plus.svg | 1 - .../svgs/regular/square.svg | 1 - .../svgs/regular/star-half-stroke.svg | 1 - .../svgs/regular/star-half.svg | 1 - .../svgs/regular/star.svg | 1 - .../svgs/regular/sun.svg | 1 - .../svgs/regular/thumbs-down.svg | 1 - .../svgs/regular/thumbs-up.svg | 1 - .../svgs/regular/trash-can.svg | 1 - .../svgs/regular/user.svg | 1 - .../svgs/regular/window-maximize.svg | 1 - .../svgs/regular/window-minimize.svg | 1 - .../svgs/regular/window-restore.svg | 1 - .../svgs/solid/0.svg | 1 - .../svgs/solid/1.svg | 1 - .../svgs/solid/2.svg | 1 - .../svgs/solid/3.svg | 1 - .../svgs/solid/4.svg | 1 - .../svgs/solid/5.svg | 1 - .../svgs/solid/6.svg | 1 - .../svgs/solid/7.svg | 1 - .../svgs/solid/8.svg | 1 - .../svgs/solid/9.svg | 1 - .../svgs/solid/a.svg | 1 - .../svgs/solid/address-book.svg | 1 - .../svgs/solid/address-card.svg | 1 - .../svgs/solid/align-center.svg | 1 - .../svgs/solid/align-justify.svg | 1 - .../svgs/solid/align-left.svg | 1 - .../svgs/solid/align-right.svg | 1 - .../svgs/solid/anchor-circle-check.svg | 1 - .../svgs/solid/anchor-circle-exclamation.svg | 1 - .../svgs/solid/anchor-circle-xmark.svg | 1 - .../svgs/solid/anchor-lock.svg | 1 - .../svgs/solid/anchor.svg | 1 - .../svgs/solid/angle-down.svg | 1 - .../svgs/solid/angle-left.svg | 1 - .../svgs/solid/angle-right.svg | 1 - .../svgs/solid/angle-up.svg | 1 - .../svgs/solid/angles-down.svg | 1 - .../svgs/solid/angles-left.svg | 1 - .../svgs/solid/angles-right.svg | 1 - .../svgs/solid/angles-up.svg | 1 - .../svgs/solid/ankh.svg | 1 - .../svgs/solid/apple-whole.svg | 1 - .../svgs/solid/archway.svg | 1 - .../svgs/solid/arrow-down-1-9.svg | 1 - .../svgs/solid/arrow-down-9-1.svg | 1 - .../svgs/solid/arrow-down-a-z.svg | 1 - .../svgs/solid/arrow-down-long.svg | 1 - .../svgs/solid/arrow-down-short-wide.svg | 1 - .../svgs/solid/arrow-down-up-across-line.svg | 1 - .../svgs/solid/arrow-down-up-lock.svg | 1 - .../svgs/solid/arrow-down-wide-short.svg | 1 - .../svgs/solid/arrow-down-z-a.svg | 1 - .../svgs/solid/arrow-down.svg | 1 - .../svgs/solid/arrow-left-long.svg | 1 - .../svgs/solid/arrow-left.svg | 1 - .../svgs/solid/arrow-pointer.svg | 1 - .../svgs/solid/arrow-right-arrow-left.svg | 1 - .../svgs/solid/arrow-right-from-bracket.svg | 1 - .../svgs/solid/arrow-right-long.svg | 1 - .../svgs/solid/arrow-right-to-bracket.svg | 1 - .../svgs/solid/arrow-right-to-city.svg | 1 - .../svgs/solid/arrow-right.svg | 1 - .../svgs/solid/arrow-rotate-left.svg | 1 - .../svgs/solid/arrow-rotate-right.svg | 1 - .../svgs/solid/arrow-trend-down.svg | 1 - .../svgs/solid/arrow-trend-up.svg | 1 - .../svgs/solid/arrow-turn-down.svg | 1 - .../svgs/solid/arrow-turn-up.svg | 1 - .../svgs/solid/arrow-up-1-9.svg | 1 - .../svgs/solid/arrow-up-9-1.svg | 1 - .../svgs/solid/arrow-up-a-z.svg | 1 - .../svgs/solid/arrow-up-from-bracket.svg | 1 - .../svgs/solid/arrow-up-from-ground-water.svg | 1 - .../svgs/solid/arrow-up-from-water-pump.svg | 1 - .../svgs/solid/arrow-up-long.svg | 1 - .../svgs/solid/arrow-up-right-dots.svg | 1 - .../svgs/solid/arrow-up-right-from-square.svg | 1 - .../svgs/solid/arrow-up-short-wide.svg | 1 - .../svgs/solid/arrow-up-wide-short.svg | 1 - .../svgs/solid/arrow-up-z-a.svg | 1 - .../svgs/solid/arrow-up.svg | 1 - .../svgs/solid/arrows-down-to-line.svg | 1 - .../svgs/solid/arrows-down-to-people.svg | 1 - .../svgs/solid/arrows-left-right-to-line.svg | 1 - .../svgs/solid/arrows-left-right.svg | 1 - .../svgs/solid/arrows-rotate.svg | 1 - .../svgs/solid/arrows-spin.svg | 1 - .../svgs/solid/arrows-split-up-and-left.svg | 1 - .../svgs/solid/arrows-to-circle.svg | 1 - .../svgs/solid/arrows-to-dot.svg | 1 - .../svgs/solid/arrows-to-eye.svg | 1 - .../svgs/solid/arrows-turn-right.svg | 1 - .../svgs/solid/arrows-turn-to-dots.svg | 1 - .../svgs/solid/arrows-up-down-left-right.svg | 1 - .../svgs/solid/arrows-up-down.svg | 1 - .../svgs/solid/arrows-up-to-line.svg | 1 - .../svgs/solid/asterisk.svg | 1 - .../svgs/solid/at.svg | 1 - .../svgs/solid/atom.svg | 1 - .../svgs/solid/audio-description.svg | 1 - .../svgs/solid/austral-sign.svg | 1 - .../svgs/solid/award.svg | 1 - .../svgs/solid/b.svg | 1 - .../svgs/solid/baby-carriage.svg | 1 - .../svgs/solid/baby.svg | 1 - .../svgs/solid/backward-fast.svg | 1 - .../svgs/solid/backward-step.svg | 1 - .../svgs/solid/backward.svg | 1 - .../svgs/solid/bacon.svg | 1 - .../svgs/solid/bacteria.svg | 1 - .../svgs/solid/bacterium.svg | 1 - .../svgs/solid/bag-shopping.svg | 1 - .../svgs/solid/bahai.svg | 1 - .../svgs/solid/baht-sign.svg | 1 - .../svgs/solid/ban-smoking.svg | 1 - .../svgs/solid/ban.svg | 1 - .../svgs/solid/bandage.svg | 1 - .../svgs/solid/barcode.svg | 1 - .../svgs/solid/bars-progress.svg | 1 - .../svgs/solid/bars-staggered.svg | 1 - .../svgs/solid/bars.svg | 1 - .../svgs/solid/baseball-bat-ball.svg | 1 - .../svgs/solid/baseball.svg | 1 - .../svgs/solid/basket-shopping.svg | 1 - .../svgs/solid/basketball.svg | 1 - .../svgs/solid/bath.svg | 1 - .../svgs/solid/battery-empty.svg | 1 - .../svgs/solid/battery-full.svg | 1 - .../svgs/solid/battery-half.svg | 1 - .../svgs/solid/battery-quarter.svg | 1 - .../svgs/solid/battery-three-quarters.svg | 1 - .../svgs/solid/bed-pulse.svg | 1 - .../svgs/solid/bed.svg | 1 - .../svgs/solid/beer-mug-empty.svg | 1 - .../svgs/solid/bell-concierge.svg | 1 - .../svgs/solid/bell-slash.svg | 1 - .../svgs/solid/bell.svg | 1 - .../svgs/solid/bezier-curve.svg | 1 - .../svgs/solid/bicycle.svg | 1 - .../svgs/solid/binoculars.svg | 1 - .../svgs/solid/biohazard.svg | 1 - .../svgs/solid/bitcoin-sign.svg | 1 - .../svgs/solid/blender-phone.svg | 1 - .../svgs/solid/blender.svg | 1 - .../svgs/solid/blog.svg | 1 - .../svgs/solid/bold.svg | 1 - .../svgs/solid/bolt-lightning.svg | 1 - .../svgs/solid/bolt.svg | 1 - .../svgs/solid/bomb.svg | 1 - .../svgs/solid/bone.svg | 1 - .../svgs/solid/bong.svg | 1 - .../svgs/solid/book-atlas.svg | 1 - .../svgs/solid/book-bible.svg | 1 - .../svgs/solid/book-bookmark.svg | 1 - .../svgs/solid/book-journal-whills.svg | 1 - .../svgs/solid/book-medical.svg | 1 - .../svgs/solid/book-open-reader.svg | 1 - .../svgs/solid/book-open.svg | 1 - .../svgs/solid/book-quran.svg | 1 - .../svgs/solid/book-skull.svg | 1 - .../svgs/solid/book-tanakh.svg | 1 - .../svgs/solid/book.svg | 1 - .../svgs/solid/bookmark.svg | 1 - .../svgs/solid/border-all.svg | 1 - .../svgs/solid/border-none.svg | 1 - .../svgs/solid/border-top-left.svg | 1 - .../svgs/solid/bore-hole.svg | 1 - .../svgs/solid/bottle-droplet.svg | 1 - .../svgs/solid/bottle-water.svg | 1 - .../svgs/solid/bowl-food.svg | 1 - .../svgs/solid/bowl-rice.svg | 1 - .../svgs/solid/bowling-ball.svg | 1 - .../svgs/solid/box-archive.svg | 1 - .../svgs/solid/box-open.svg | 1 - .../svgs/solid/box-tissue.svg | 1 - .../svgs/solid/box.svg | 1 - .../svgs/solid/boxes-packing.svg | 1 - .../svgs/solid/boxes-stacked.svg | 1 - .../svgs/solid/braille.svg | 1 - .../svgs/solid/brain.svg | 1 - .../svgs/solid/brazilian-real-sign.svg | 1 - .../svgs/solid/bread-slice.svg | 1 - .../svgs/solid/bridge-circle-check.svg | 1 - .../svgs/solid/bridge-circle-exclamation.svg | 1 - .../svgs/solid/bridge-circle-xmark.svg | 1 - .../svgs/solid/bridge-lock.svg | 1 - .../svgs/solid/bridge-water.svg | 1 - .../svgs/solid/bridge.svg | 1 - .../svgs/solid/briefcase-medical.svg | 1 - .../svgs/solid/briefcase.svg | 1 - .../svgs/solid/broom-ball.svg | 1 - .../svgs/solid/broom.svg | 1 - .../svgs/solid/brush.svg | 1 - .../svgs/solid/bucket.svg | 1 - .../svgs/solid/bug-slash.svg | 1 - .../svgs/solid/bug.svg | 1 - .../svgs/solid/bugs.svg | 1 - .../solid/building-circle-arrow-right.svg | 1 - .../svgs/solid/building-circle-check.svg | 1 - .../solid/building-circle-exclamation.svg | 1 - .../svgs/solid/building-circle-xmark.svg | 1 - .../svgs/solid/building-columns.svg | 1 - .../svgs/solid/building-flag.svg | 1 - .../svgs/solid/building-lock.svg | 1 - .../svgs/solid/building-ngo.svg | 1 - .../svgs/solid/building-shield.svg | 1 - .../svgs/solid/building-un.svg | 1 - .../svgs/solid/building-user.svg | 1 - .../svgs/solid/building-wheat.svg | 1 - .../svgs/solid/building.svg | 1 - .../svgs/solid/bullhorn.svg | 1 - .../svgs/solid/bullseye.svg | 1 - .../svgs/solid/burger.svg | 1 - .../svgs/solid/burst.svg | 1 - .../svgs/solid/bus-simple.svg | 1 - .../svgs/solid/bus.svg | 1 - .../svgs/solid/business-time.svg | 1 - .../svgs/solid/c.svg | 1 - .../svgs/solid/cable-car.svg | 1 - .../svgs/solid/cake-candles.svg | 1 - .../svgs/solid/calculator.svg | 1 - .../svgs/solid/calendar-check.svg | 1 - .../svgs/solid/calendar-day.svg | 1 - .../svgs/solid/calendar-days.svg | 1 - .../svgs/solid/calendar-minus.svg | 1 - .../svgs/solid/calendar-plus.svg | 1 - .../svgs/solid/calendar-week.svg | 1 - .../svgs/solid/calendar-xmark.svg | 1 - .../svgs/solid/calendar.svg | 1 - .../svgs/solid/camera-retro.svg | 1 - .../svgs/solid/camera-rotate.svg | 1 - .../svgs/solid/camera.svg | 1 - .../svgs/solid/campground.svg | 1 - .../svgs/solid/candy-cane.svg | 1 - .../svgs/solid/cannabis.svg | 1 - .../svgs/solid/capsules.svg | 1 - .../svgs/solid/car-battery.svg | 1 - .../svgs/solid/car-burst.svg | 1 - .../svgs/solid/car-on.svg | 1 - .../svgs/solid/car-rear.svg | 1 - .../svgs/solid/car-side.svg | 1 - .../svgs/solid/car-tunnel.svg | 1 - .../svgs/solid/car.svg | 1 - .../svgs/solid/caravan.svg | 1 - .../svgs/solid/caret-down.svg | 1 - .../svgs/solid/caret-left.svg | 1 - .../svgs/solid/caret-right.svg | 1 - .../svgs/solid/caret-up.svg | 1 - .../svgs/solid/carrot.svg | 1 - .../svgs/solid/cart-arrow-down.svg | 1 - .../svgs/solid/cart-flatbed-suitcase.svg | 1 - .../svgs/solid/cart-flatbed.svg | 1 - .../svgs/solid/cart-plus.svg | 1 - .../svgs/solid/cart-shopping.svg | 1 - .../svgs/solid/cash-register.svg | 1 - .../svgs/solid/cat.svg | 1 - .../svgs/solid/cedi-sign.svg | 1 - .../svgs/solid/cent-sign.svg | 1 - .../svgs/solid/certificate.svg | 1 - .../svgs/solid/chair.svg | 1 - .../svgs/solid/chalkboard-user.svg | 1 - .../svgs/solid/chalkboard.svg | 1 - .../svgs/solid/champagne-glasses.svg | 1 - .../svgs/solid/charging-station.svg | 1 - .../svgs/solid/chart-area.svg | 1 - .../svgs/solid/chart-bar.svg | 1 - .../svgs/solid/chart-column.svg | 1 - .../svgs/solid/chart-gantt.svg | 1 - .../svgs/solid/chart-line.svg | 1 - .../svgs/solid/chart-pie.svg | 1 - .../svgs/solid/chart-simple.svg | 1 - .../svgs/solid/check-double.svg | 1 - .../svgs/solid/check-to-slot.svg | 1 - .../svgs/solid/check.svg | 1 - .../svgs/solid/cheese.svg | 1 - .../svgs/solid/chess-bishop.svg | 1 - .../svgs/solid/chess-board.svg | 1 - .../svgs/solid/chess-king.svg | 1 - .../svgs/solid/chess-knight.svg | 1 - .../svgs/solid/chess-pawn.svg | 1 - .../svgs/solid/chess-queen.svg | 1 - .../svgs/solid/chess-rook.svg | 1 - .../svgs/solid/chess.svg | 1 - .../svgs/solid/chevron-down.svg | 1 - .../svgs/solid/chevron-left.svg | 1 - .../svgs/solid/chevron-right.svg | 1 - .../svgs/solid/chevron-up.svg | 1 - .../svgs/solid/child-dress.svg | 1 - .../svgs/solid/child-reaching.svg | 1 - .../svgs/solid/child-rifle.svg | 1 - .../svgs/solid/child.svg | 1 - .../svgs/solid/children.svg | 1 - .../svgs/solid/church.svg | 1 - .../svgs/solid/circle-arrow-down.svg | 1 - .../svgs/solid/circle-arrow-left.svg | 1 - .../svgs/solid/circle-arrow-right.svg | 1 - .../svgs/solid/circle-arrow-up.svg | 1 - .../svgs/solid/circle-check.svg | 1 - .../svgs/solid/circle-chevron-down.svg | 1 - .../svgs/solid/circle-chevron-left.svg | 1 - .../svgs/solid/circle-chevron-right.svg | 1 - .../svgs/solid/circle-chevron-up.svg | 1 - .../svgs/solid/circle-dollar-to-slot.svg | 1 - .../svgs/solid/circle-dot.svg | 1 - .../svgs/solid/circle-down.svg | 1 - .../svgs/solid/circle-exclamation.svg | 1 - .../svgs/solid/circle-h.svg | 1 - .../svgs/solid/circle-half-stroke.svg | 1 - .../svgs/solid/circle-info.svg | 1 - .../svgs/solid/circle-left.svg | 1 - .../svgs/solid/circle-minus.svg | 1 - .../svgs/solid/circle-nodes.svg | 1 - .../svgs/solid/circle-notch.svg | 1 - .../svgs/solid/circle-pause.svg | 1 - .../svgs/solid/circle-play.svg | 1 - .../svgs/solid/circle-plus.svg | 1 - .../svgs/solid/circle-question.svg | 1 - .../svgs/solid/circle-radiation.svg | 1 - .../svgs/solid/circle-right.svg | 1 - .../svgs/solid/circle-stop.svg | 1 - .../svgs/solid/circle-up.svg | 1 - .../svgs/solid/circle-user.svg | 1 - .../svgs/solid/circle-xmark.svg | 1 - .../svgs/solid/circle.svg | 1 - .../svgs/solid/city.svg | 1 - .../svgs/solid/clapperboard.svg | 1 - .../svgs/solid/clipboard-check.svg | 1 - .../svgs/solid/clipboard-list.svg | 1 - .../svgs/solid/clipboard-question.svg | 1 - .../svgs/solid/clipboard-user.svg | 1 - .../svgs/solid/clipboard.svg | 1 - .../svgs/solid/clock-rotate-left.svg | 1 - .../svgs/solid/clock.svg | 1 - .../svgs/solid/clone.svg | 1 - .../svgs/solid/closed-captioning.svg | 1 - .../svgs/solid/cloud-arrow-down.svg | 1 - .../svgs/solid/cloud-arrow-up.svg | 1 - .../svgs/solid/cloud-bolt.svg | 1 - .../svgs/solid/cloud-meatball.svg | 1 - .../svgs/solid/cloud-moon-rain.svg | 1 - .../svgs/solid/cloud-moon.svg | 1 - .../svgs/solid/cloud-rain.svg | 1 - .../svgs/solid/cloud-showers-heavy.svg | 1 - .../svgs/solid/cloud-showers-water.svg | 1 - .../svgs/solid/cloud-sun-rain.svg | 1 - .../svgs/solid/cloud-sun.svg | 1 - .../svgs/solid/cloud.svg | 1 - .../svgs/solid/clover.svg | 1 - .../svgs/solid/code-branch.svg | 1 - .../svgs/solid/code-commit.svg | 1 - .../svgs/solid/code-compare.svg | 1 - .../svgs/solid/code-fork.svg | 1 - .../svgs/solid/code-merge.svg | 1 - .../svgs/solid/code-pull-request.svg | 1 - .../svgs/solid/code.svg | 1 - .../svgs/solid/coins.svg | 1 - .../svgs/solid/colon-sign.svg | 1 - .../svgs/solid/comment-dollar.svg | 1 - .../svgs/solid/comment-dots.svg | 1 - .../svgs/solid/comment-medical.svg | 1 - .../svgs/solid/comment-slash.svg | 1 - .../svgs/solid/comment-sms.svg | 1 - .../svgs/solid/comment.svg | 1 - .../svgs/solid/comments-dollar.svg | 1 - .../svgs/solid/comments.svg | 1 - .../svgs/solid/compact-disc.svg | 1 - .../svgs/solid/compass-drafting.svg | 1 - .../svgs/solid/compass.svg | 1 - .../svgs/solid/compress.svg | 1 - .../svgs/solid/computer-mouse.svg | 1 - .../svgs/solid/computer.svg | 1 - .../svgs/solid/cookie-bite.svg | 1 - .../svgs/solid/cookie.svg | 1 - .../svgs/solid/copy.svg | 1 - .../svgs/solid/copyright.svg | 1 - .../svgs/solid/couch.svg | 1 - .../svgs/solid/cow.svg | 1 - .../svgs/solid/credit-card.svg | 1 - .../svgs/solid/crop-simple.svg | 1 - .../svgs/solid/crop.svg | 1 - .../svgs/solid/cross.svg | 1 - .../svgs/solid/crosshairs.svg | 1 - .../svgs/solid/crow.svg | 1 - .../svgs/solid/crown.svg | 1 - .../svgs/solid/crutch.svg | 1 - .../svgs/solid/cruzeiro-sign.svg | 1 - .../svgs/solid/cube.svg | 1 - .../svgs/solid/cubes-stacked.svg | 1 - .../svgs/solid/cubes.svg | 1 - .../svgs/solid/d.svg | 1 - .../svgs/solid/database.svg | 1 - .../svgs/solid/delete-left.svg | 1 - .../svgs/solid/democrat.svg | 1 - .../svgs/solid/desktop.svg | 1 - .../svgs/solid/dharmachakra.svg | 1 - .../svgs/solid/diagram-next.svg | 1 - .../svgs/solid/diagram-predecessor.svg | 1 - .../svgs/solid/diagram-project.svg | 1 - .../svgs/solid/diagram-successor.svg | 1 - .../svgs/solid/diamond-turn-right.svg | 1 - .../svgs/solid/diamond.svg | 1 - .../svgs/solid/dice-d20.svg | 1 - .../svgs/solid/dice-d6.svg | 1 - .../svgs/solid/dice-five.svg | 1 - .../svgs/solid/dice-four.svg | 1 - .../svgs/solid/dice-one.svg | 1 - .../svgs/solid/dice-six.svg | 1 - .../svgs/solid/dice-three.svg | 1 - .../svgs/solid/dice-two.svg | 1 - .../svgs/solid/dice.svg | 1 - .../svgs/solid/disease.svg | 1 - .../svgs/solid/display.svg | 1 - .../svgs/solid/divide.svg | 1 - .../svgs/solid/dna.svg | 1 - .../svgs/solid/dog.svg | 1 - .../svgs/solid/dollar-sign.svg | 1 - .../svgs/solid/dolly.svg | 1 - .../svgs/solid/dong-sign.svg | 1 - .../svgs/solid/door-closed.svg | 1 - .../svgs/solid/door-open.svg | 1 - .../svgs/solid/dove.svg | 1 - .../down-left-and-up-right-to-center.svg | 1 - .../svgs/solid/down-long.svg | 1 - .../svgs/solid/download.svg | 1 - .../svgs/solid/dragon.svg | 1 - .../svgs/solid/draw-polygon.svg | 1 - .../svgs/solid/droplet-slash.svg | 1 - .../svgs/solid/droplet.svg | 1 - .../svgs/solid/drum-steelpan.svg | 1 - .../svgs/solid/drum.svg | 1 - .../svgs/solid/drumstick-bite.svg | 1 - .../svgs/solid/dumbbell.svg | 1 - .../svgs/solid/dumpster-fire.svg | 1 - .../svgs/solid/dumpster.svg | 1 - .../svgs/solid/dungeon.svg | 1 - .../svgs/solid/e.svg | 1 - .../svgs/solid/ear-deaf.svg | 1 - .../svgs/solid/ear-listen.svg | 1 - .../svgs/solid/earth-africa.svg | 1 - .../svgs/solid/earth-americas.svg | 1 - .../svgs/solid/earth-asia.svg | 1 - .../svgs/solid/earth-europe.svg | 1 - .../svgs/solid/earth-oceania.svg | 1 - .../svgs/solid/egg.svg | 1 - .../svgs/solid/eject.svg | 1 - .../svgs/solid/elevator.svg | 1 - .../svgs/solid/ellipsis-vertical.svg | 1 - .../svgs/solid/ellipsis.svg | 1 - .../svgs/solid/envelope-circle-check.svg | 1 - .../svgs/solid/envelope-open-text.svg | 1 - .../svgs/solid/envelope-open.svg | 1 - .../svgs/solid/envelope.svg | 1 - .../svgs/solid/envelopes-bulk.svg | 1 - .../svgs/solid/equals.svg | 1 - .../svgs/solid/eraser.svg | 1 - .../svgs/solid/ethernet.svg | 1 - .../svgs/solid/euro-sign.svg | 1 - .../svgs/solid/exclamation.svg | 1 - .../svgs/solid/expand.svg | 1 - .../svgs/solid/explosion.svg | 1 - .../svgs/solid/eye-dropper.svg | 1 - .../svgs/solid/eye-low-vision.svg | 1 - .../svgs/solid/eye-slash.svg | 1 - .../svgs/solid/eye.svg | 1 - .../svgs/solid/f.svg | 1 - .../svgs/solid/face-angry.svg | 1 - .../svgs/solid/face-dizzy.svg | 1 - .../svgs/solid/face-flushed.svg | 1 - .../svgs/solid/face-frown-open.svg | 1 - .../svgs/solid/face-frown.svg | 1 - .../svgs/solid/face-grimace.svg | 1 - .../svgs/solid/face-grin-beam-sweat.svg | 1 - .../svgs/solid/face-grin-beam.svg | 1 - .../svgs/solid/face-grin-hearts.svg | 1 - .../svgs/solid/face-grin-squint-tears.svg | 1 - .../svgs/solid/face-grin-squint.svg | 1 - .../svgs/solid/face-grin-stars.svg | 1 - .../svgs/solid/face-grin-tears.svg | 1 - .../svgs/solid/face-grin-tongue-squint.svg | 1 - .../svgs/solid/face-grin-tongue-wink.svg | 1 - .../svgs/solid/face-grin-tongue.svg | 1 - .../svgs/solid/face-grin-wide.svg | 1 - .../svgs/solid/face-grin-wink.svg | 1 - .../svgs/solid/face-grin.svg | 1 - .../svgs/solid/face-kiss-beam.svg | 1 - .../svgs/solid/face-kiss-wink-heart.svg | 1 - .../svgs/solid/face-kiss.svg | 1 - .../svgs/solid/face-laugh-beam.svg | 1 - .../svgs/solid/face-laugh-squint.svg | 1 - .../svgs/solid/face-laugh-wink.svg | 1 - .../svgs/solid/face-laugh.svg | 1 - .../svgs/solid/face-meh-blank.svg | 1 - .../svgs/solid/face-meh.svg | 1 - .../svgs/solid/face-rolling-eyes.svg | 1 - .../svgs/solid/face-sad-cry.svg | 1 - .../svgs/solid/face-sad-tear.svg | 1 - .../svgs/solid/face-smile-beam.svg | 1 - .../svgs/solid/face-smile-wink.svg | 1 - .../svgs/solid/face-smile.svg | 1 - .../svgs/solid/face-surprise.svg | 1 - .../svgs/solid/face-tired.svg | 1 - .../svgs/solid/fan.svg | 1 - .../svgs/solid/faucet-drip.svg | 1 - .../svgs/solid/faucet.svg | 1 - .../svgs/solid/fax.svg | 1 - .../svgs/solid/feather-pointed.svg | 1 - .../svgs/solid/feather.svg | 1 - .../svgs/solid/ferry.svg | 1 - .../svgs/solid/file-arrow-down.svg | 1 - .../svgs/solid/file-arrow-up.svg | 1 - .../svgs/solid/file-audio.svg | 1 - .../svgs/solid/file-circle-check.svg | 1 - .../svgs/solid/file-circle-exclamation.svg | 1 - .../svgs/solid/file-circle-minus.svg | 1 - .../svgs/solid/file-circle-plus.svg | 1 - .../svgs/solid/file-circle-question.svg | 1 - .../svgs/solid/file-circle-xmark.svg | 1 - .../svgs/solid/file-code.svg | 1 - .../svgs/solid/file-contract.svg | 1 - .../svgs/solid/file-csv.svg | 1 - .../svgs/solid/file-excel.svg | 1 - .../svgs/solid/file-export.svg | 1 - .../svgs/solid/file-image.svg | 1 - .../svgs/solid/file-import.svg | 1 - .../svgs/solid/file-invoice-dollar.svg | 1 - .../svgs/solid/file-invoice.svg | 1 - .../svgs/solid/file-lines.svg | 1 - .../svgs/solid/file-medical.svg | 1 - .../svgs/solid/file-pdf.svg | 1 - .../svgs/solid/file-pen.svg | 1 - .../svgs/solid/file-powerpoint.svg | 1 - .../svgs/solid/file-prescription.svg | 1 - .../svgs/solid/file-shield.svg | 1 - .../svgs/solid/file-signature.svg | 1 - .../svgs/solid/file-video.svg | 1 - .../svgs/solid/file-waveform.svg | 1 - .../svgs/solid/file-word.svg | 1 - .../svgs/solid/file-zipper.svg | 1 - .../svgs/solid/file.svg | 1 - .../svgs/solid/fill-drip.svg | 1 - .../svgs/solid/fill.svg | 1 - .../svgs/solid/film.svg | 1 - .../svgs/solid/filter-circle-dollar.svg | 1 - .../svgs/solid/filter-circle-xmark.svg | 1 - .../svgs/solid/filter.svg | 1 - .../svgs/solid/fingerprint.svg | 1 - .../svgs/solid/fire-burner.svg | 1 - .../svgs/solid/fire-extinguisher.svg | 1 - .../svgs/solid/fire-flame-curved.svg | 1 - .../svgs/solid/fire-flame-simple.svg | 1 - .../svgs/solid/fire.svg | 1 - .../svgs/solid/fish-fins.svg | 1 - .../svgs/solid/fish.svg | 1 - .../svgs/solid/flag-checkered.svg | 1 - .../svgs/solid/flag-usa.svg | 1 - .../svgs/solid/flag.svg | 1 - .../svgs/solid/flask-vial.svg | 1 - .../svgs/solid/flask.svg | 1 - .../svgs/solid/floppy-disk.svg | 1 - .../svgs/solid/florin-sign.svg | 1 - .../svgs/solid/folder-closed.svg | 1 - .../svgs/solid/folder-minus.svg | 1 - .../svgs/solid/folder-open.svg | 1 - .../svgs/solid/folder-plus.svg | 1 - .../svgs/solid/folder-tree.svg | 1 - .../svgs/solid/folder.svg | 1 - .../svgs/solid/font-awesome.svg | 1 - .../svgs/solid/font.svg | 1 - .../svgs/solid/football.svg | 1 - .../svgs/solid/forward-fast.svg | 1 - .../svgs/solid/forward-step.svg | 1 - .../svgs/solid/forward.svg | 1 - .../svgs/solid/franc-sign.svg | 1 - .../svgs/solid/frog.svg | 1 - .../svgs/solid/futbol.svg | 1 - .../svgs/solid/g.svg | 1 - .../svgs/solid/gamepad.svg | 1 - .../svgs/solid/gas-pump.svg | 1 - .../svgs/solid/gauge-high.svg | 1 - .../svgs/solid/gauge-simple-high.svg | 1 - .../svgs/solid/gauge-simple.svg | 1 - .../svgs/solid/gauge.svg | 1 - .../svgs/solid/gavel.svg | 1 - .../svgs/solid/gear.svg | 1 - .../svgs/solid/gears.svg | 1 - .../svgs/solid/gem.svg | 1 - .../svgs/solid/genderless.svg | 1 - .../svgs/solid/ghost.svg | 1 - .../svgs/solid/gift.svg | 1 - .../svgs/solid/gifts.svg | 1 - .../svgs/solid/glass-water-droplet.svg | 1 - .../svgs/solid/glass-water.svg | 1 - .../svgs/solid/glasses.svg | 1 - .../svgs/solid/globe.svg | 1 - .../svgs/solid/golf-ball-tee.svg | 1 - .../svgs/solid/gopuram.svg | 1 - .../svgs/solid/graduation-cap.svg | 1 - .../svgs/solid/greater-than-equal.svg | 1 - .../svgs/solid/greater-than.svg | 1 - .../svgs/solid/grip-lines-vertical.svg | 1 - .../svgs/solid/grip-lines.svg | 1 - .../svgs/solid/grip-vertical.svg | 1 - .../svgs/solid/grip.svg | 1 - .../svgs/solid/group-arrows-rotate.svg | 1 - .../svgs/solid/guarani-sign.svg | 1 - .../svgs/solid/guitar.svg | 1 - .../svgs/solid/gun.svg | 1 - .../svgs/solid/h.svg | 1 - .../svgs/solid/hammer.svg | 1 - .../svgs/solid/hamsa.svg | 1 - .../svgs/solid/hand-back-fist.svg | 1 - .../svgs/solid/hand-dots.svg | 1 - .../svgs/solid/hand-fist.svg | 1 - .../svgs/solid/hand-holding-dollar.svg | 1 - .../svgs/solid/hand-holding-droplet.svg | 1 - .../svgs/solid/hand-holding-hand.svg | 1 - .../svgs/solid/hand-holding-heart.svg | 1 - .../svgs/solid/hand-holding-medical.svg | 1 - .../svgs/solid/hand-holding.svg | 1 - .../svgs/solid/hand-lizard.svg | 1 - .../svgs/solid/hand-middle-finger.svg | 1 - .../svgs/solid/hand-peace.svg | 1 - .../svgs/solid/hand-point-down.svg | 1 - .../svgs/solid/hand-point-left.svg | 1 - .../svgs/solid/hand-point-right.svg | 1 - .../svgs/solid/hand-point-up.svg | 1 - .../svgs/solid/hand-pointer.svg | 1 - .../svgs/solid/hand-scissors.svg | 1 - .../svgs/solid/hand-sparkles.svg | 1 - .../svgs/solid/hand-spock.svg | 1 - .../svgs/solid/hand.svg | 1 - .../svgs/solid/handcuffs.svg | 1 - .../svgs/solid/hands-asl-interpreting.svg | 1 - .../svgs/solid/hands-bound.svg | 1 - .../svgs/solid/hands-bubbles.svg | 1 - .../svgs/solid/hands-clapping.svg | 1 - .../svgs/solid/hands-holding-child.svg | 1 - .../svgs/solid/hands-holding-circle.svg | 1 - .../svgs/solid/hands-holding.svg | 1 - .../svgs/solid/hands-praying.svg | 1 - .../svgs/solid/hands.svg | 1 - .../svgs/solid/handshake-angle.svg | 1 - .../svgs/solid/handshake-simple-slash.svg | 1 - .../svgs/solid/handshake-simple.svg | 1 - .../svgs/solid/handshake-slash.svg | 1 - .../svgs/solid/handshake.svg | 1 - .../svgs/solid/hanukiah.svg | 1 - .../svgs/solid/hard-drive.svg | 1 - .../svgs/solid/hashtag.svg | 1 - .../svgs/solid/hat-cowboy-side.svg | 1 - .../svgs/solid/hat-cowboy.svg | 1 - .../svgs/solid/hat-wizard.svg | 1 - .../svgs/solid/head-side-cough-slash.svg | 1 - .../svgs/solid/head-side-cough.svg | 1 - .../svgs/solid/head-side-mask.svg | 1 - .../svgs/solid/head-side-virus.svg | 1 - .../svgs/solid/heading.svg | 1 - .../svgs/solid/headphones-simple.svg | 1 - .../svgs/solid/headphones.svg | 1 - .../svgs/solid/headset.svg | 1 - .../svgs/solid/heart-circle-bolt.svg | 1 - .../svgs/solid/heart-circle-check.svg | 1 - .../svgs/solid/heart-circle-exclamation.svg | 1 - .../svgs/solid/heart-circle-minus.svg | 1 - .../svgs/solid/heart-circle-plus.svg | 1 - .../svgs/solid/heart-circle-xmark.svg | 1 - .../svgs/solid/heart-crack.svg | 1 - .../svgs/solid/heart-pulse.svg | 1 - .../svgs/solid/heart.svg | 1 - .../svgs/solid/helicopter-symbol.svg | 1 - .../svgs/solid/helicopter.svg | 1 - .../svgs/solid/helmet-safety.svg | 1 - .../svgs/solid/helmet-un.svg | 1 - .../svgs/solid/highlighter.svg | 1 - .../svgs/solid/hill-avalanche.svg | 1 - .../svgs/solid/hill-rockslide.svg | 1 - .../svgs/solid/hippo.svg | 1 - .../svgs/solid/hockey-puck.svg | 1 - .../svgs/solid/holly-berry.svg | 1 - .../svgs/solid/horse-head.svg | 1 - .../svgs/solid/horse.svg | 1 - .../svgs/solid/hospital-user.svg | 1 - .../svgs/solid/hospital.svg | 1 - .../svgs/solid/hot-tub-person.svg | 1 - .../svgs/solid/hotdog.svg | 1 - .../svgs/solid/hotel.svg | 1 - .../svgs/solid/hourglass-end.svg | 1 - .../svgs/solid/hourglass-half.svg | 1 - .../svgs/solid/hourglass-start.svg | 1 - .../svgs/solid/hourglass.svg | 1 - .../svgs/solid/house-chimney-crack.svg | 1 - .../svgs/solid/house-chimney-medical.svg | 1 - .../svgs/solid/house-chimney-user.svg | 1 - .../svgs/solid/house-chimney-window.svg | 1 - .../svgs/solid/house-chimney.svg | 1 - .../svgs/solid/house-circle-check.svg | 1 - .../svgs/solid/house-circle-exclamation.svg | 1 - .../svgs/solid/house-circle-xmark.svg | 1 - .../svgs/solid/house-crack.svg | 1 - .../svgs/solid/house-fire.svg | 1 - .../svgs/solid/house-flag.svg | 1 - .../house-flood-water-circle-arrow-right.svg | 1 - .../svgs/solid/house-flood-water.svg | 1 - .../svgs/solid/house-laptop.svg | 1 - .../svgs/solid/house-lock.svg | 1 - .../svgs/solid/house-medical-circle-check.svg | 1 - .../house-medical-circle-exclamation.svg | 1 - .../svgs/solid/house-medical-circle-xmark.svg | 1 - .../svgs/solid/house-medical-flag.svg | 1 - .../svgs/solid/house-medical.svg | 1 - .../svgs/solid/house-signal.svg | 1 - .../svgs/solid/house-tsunami.svg | 1 - .../svgs/solid/house-user.svg | 1 - .../svgs/solid/house.svg | 1 - .../svgs/solid/hryvnia-sign.svg | 1 - .../svgs/solid/hurricane.svg | 1 - .../svgs/solid/i-cursor.svg | 1 - .../svgs/solid/i.svg | 1 - .../svgs/solid/ice-cream.svg | 1 - .../svgs/solid/icicles.svg | 1 - .../svgs/solid/icons.svg | 1 - .../svgs/solid/id-badge.svg | 1 - .../svgs/solid/id-card-clip.svg | 1 - .../svgs/solid/id-card.svg | 1 - .../svgs/solid/igloo.svg | 1 - .../svgs/solid/image-portrait.svg | 1 - .../svgs/solid/image.svg | 1 - .../svgs/solid/images.svg | 1 - .../svgs/solid/inbox.svg | 1 - .../svgs/solid/indent.svg | 1 - .../svgs/solid/indian-rupee-sign.svg | 1 - .../svgs/solid/industry.svg | 1 - .../svgs/solid/infinity.svg | 1 - .../svgs/solid/info.svg | 1 - .../svgs/solid/italic.svg | 1 - .../svgs/solid/j.svg | 1 - .../svgs/solid/jar-wheat.svg | 1 - .../svgs/solid/jar.svg | 1 - .../svgs/solid/jedi.svg | 1 - .../svgs/solid/jet-fighter-up.svg | 1 - .../svgs/solid/jet-fighter.svg | 1 - .../svgs/solid/joint.svg | 1 - .../svgs/solid/jug-detergent.svg | 1 - .../svgs/solid/k.svg | 1 - .../svgs/solid/kaaba.svg | 1 - .../svgs/solid/key.svg | 1 - .../svgs/solid/keyboard.svg | 1 - .../svgs/solid/khanda.svg | 1 - .../svgs/solid/kip-sign.svg | 1 - .../svgs/solid/kit-medical.svg | 1 - .../svgs/solid/kitchen-set.svg | 1 - .../svgs/solid/kiwi-bird.svg | 1 - .../svgs/solid/l.svg | 1 - .../svgs/solid/land-mine-on.svg | 1 - .../svgs/solid/landmark-dome.svg | 1 - .../svgs/solid/landmark-flag.svg | 1 - .../svgs/solid/landmark.svg | 1 - .../svgs/solid/language.svg | 1 - .../svgs/solid/laptop-code.svg | 1 - .../svgs/solid/laptop-file.svg | 1 - .../svgs/solid/laptop-medical.svg | 1 - .../svgs/solid/laptop.svg | 1 - .../svgs/solid/lari-sign.svg | 1 - .../svgs/solid/layer-group.svg | 1 - .../svgs/solid/leaf.svg | 1 - .../svgs/solid/left-long.svg | 1 - .../svgs/solid/left-right.svg | 1 - .../svgs/solid/lemon.svg | 1 - .../svgs/solid/less-than-equal.svg | 1 - .../svgs/solid/less-than.svg | 1 - .../svgs/solid/life-ring.svg | 1 - .../svgs/solid/lightbulb.svg | 1 - .../svgs/solid/lines-leaning.svg | 1 - .../svgs/solid/link-slash.svg | 1 - .../svgs/solid/link.svg | 1 - .../svgs/solid/lira-sign.svg | 1 - .../svgs/solid/list-check.svg | 1 - .../svgs/solid/list-ol.svg | 1 - .../svgs/solid/list-ul.svg | 1 - .../svgs/solid/list.svg | 1 - .../svgs/solid/litecoin-sign.svg | 1 - .../svgs/solid/location-arrow.svg | 1 - .../svgs/solid/location-crosshairs.svg | 1 - .../svgs/solid/location-dot.svg | 1 - .../svgs/solid/location-pin-lock.svg | 1 - .../svgs/solid/location-pin.svg | 1 - .../svgs/solid/lock-open.svg | 1 - .../svgs/solid/lock.svg | 1 - .../svgs/solid/locust.svg | 1 - .../svgs/solid/lungs-virus.svg | 1 - .../svgs/solid/lungs.svg | 1 - .../svgs/solid/m.svg | 1 - .../svgs/solid/magnet.svg | 1 - .../solid/magnifying-glass-arrow-right.svg | 1 - .../svgs/solid/magnifying-glass-chart.svg | 1 - .../svgs/solid/magnifying-glass-dollar.svg | 1 - .../svgs/solid/magnifying-glass-location.svg | 1 - .../svgs/solid/magnifying-glass-minus.svg | 1 - .../svgs/solid/magnifying-glass-plus.svg | 1 - .../svgs/solid/magnifying-glass.svg | 1 - .../svgs/solid/manat-sign.svg | 1 - .../svgs/solid/map-location-dot.svg | 1 - .../svgs/solid/map-location.svg | 1 - .../svgs/solid/map-pin.svg | 1 - .../svgs/solid/map.svg | 1 - .../svgs/solid/marker.svg | 1 - .../svgs/solid/mars-and-venus-burst.svg | 1 - .../svgs/solid/mars-and-venus.svg | 1 - .../svgs/solid/mars-double.svg | 1 - .../svgs/solid/mars-stroke-right.svg | 1 - .../svgs/solid/mars-stroke-up.svg | 1 - .../svgs/solid/mars-stroke.svg | 1 - .../svgs/solid/mars.svg | 1 - .../svgs/solid/martini-glass-citrus.svg | 1 - .../svgs/solid/martini-glass-empty.svg | 1 - .../svgs/solid/martini-glass.svg | 1 - .../svgs/solid/mask-face.svg | 1 - .../svgs/solid/mask-ventilator.svg | 1 - .../svgs/solid/mask.svg | 1 - .../svgs/solid/masks-theater.svg | 1 - .../svgs/solid/mattress-pillow.svg | 1 - .../svgs/solid/maximize.svg | 1 - .../svgs/solid/medal.svg | 1 - .../svgs/solid/memory.svg | 1 - .../svgs/solid/menorah.svg | 1 - .../svgs/solid/mercury.svg | 1 - .../svgs/solid/message.svg | 1 - .../svgs/solid/meteor.svg | 1 - .../svgs/solid/microchip.svg | 1 - .../svgs/solid/microphone-lines-slash.svg | 1 - .../svgs/solid/microphone-lines.svg | 1 - .../svgs/solid/microphone-slash.svg | 1 - .../svgs/solid/microphone.svg | 1 - .../svgs/solid/microscope.svg | 1 - .../svgs/solid/mill-sign.svg | 1 - .../svgs/solid/minimize.svg | 1 - .../svgs/solid/minus.svg | 1 - .../svgs/solid/mitten.svg | 1 - .../svgs/solid/mobile-button.svg | 1 - .../svgs/solid/mobile-retro.svg | 1 - .../svgs/solid/mobile-screen-button.svg | 1 - .../svgs/solid/mobile-screen.svg | 1 - .../svgs/solid/mobile.svg | 1 - .../svgs/solid/money-bill-1-wave.svg | 1 - .../svgs/solid/money-bill-1.svg | 1 - .../svgs/solid/money-bill-transfer.svg | 1 - .../svgs/solid/money-bill-trend-up.svg | 1 - .../svgs/solid/money-bill-wave.svg | 1 - .../svgs/solid/money-bill-wheat.svg | 1 - .../svgs/solid/money-bill.svg | 1 - .../svgs/solid/money-bills.svg | 1 - .../svgs/solid/money-check-dollar.svg | 1 - .../svgs/solid/money-check.svg | 1 - .../svgs/solid/monument.svg | 1 - .../svgs/solid/moon.svg | 1 - .../svgs/solid/mortar-pestle.svg | 1 - .../svgs/solid/mosque.svg | 1 - .../svgs/solid/mosquito-net.svg | 1 - .../svgs/solid/mosquito.svg | 1 - .../svgs/solid/motorcycle.svg | 1 - .../svgs/solid/mound.svg | 1 - .../svgs/solid/mountain-city.svg | 1 - .../svgs/solid/mountain-sun.svg | 1 - .../svgs/solid/mountain.svg | 1 - .../svgs/solid/mug-hot.svg | 1 - .../svgs/solid/mug-saucer.svg | 1 - .../svgs/solid/music.svg | 1 - .../svgs/solid/n.svg | 1 - .../svgs/solid/naira-sign.svg | 1 - .../svgs/solid/network-wired.svg | 1 - .../svgs/solid/neuter.svg | 1 - .../svgs/solid/newspaper.svg | 1 - .../svgs/solid/not-equal.svg | 1 - .../svgs/solid/note-sticky.svg | 1 - .../svgs/solid/notes-medical.svg | 1 - .../svgs/solid/o.svg | 1 - .../svgs/solid/object-group.svg | 1 - .../svgs/solid/object-ungroup.svg | 1 - .../svgs/solid/oil-can.svg | 1 - .../svgs/solid/oil-well.svg | 1 - .../svgs/solid/om.svg | 1 - .../svgs/solid/otter.svg | 1 - .../svgs/solid/outdent.svg | 1 - .../svgs/solid/p.svg | 1 - .../svgs/solid/pager.svg | 1 - .../svgs/solid/paint-roller.svg | 1 - .../svgs/solid/paintbrush.svg | 1 - .../svgs/solid/palette.svg | 1 - .../svgs/solid/pallet.svg | 1 - .../svgs/solid/panorama.svg | 1 - .../svgs/solid/paper-plane.svg | 1 - .../svgs/solid/paperclip.svg | 1 - .../svgs/solid/parachute-box.svg | 1 - .../svgs/solid/paragraph.svg | 1 - .../svgs/solid/passport.svg | 1 - .../svgs/solid/paste.svg | 1 - .../svgs/solid/pause.svg | 1 - .../svgs/solid/paw.svg | 1 - .../svgs/solid/peace.svg | 1 - .../svgs/solid/pen-clip.svg | 1 - .../svgs/solid/pen-fancy.svg | 1 - .../svgs/solid/pen-nib.svg | 1 - .../svgs/solid/pen-ruler.svg | 1 - .../svgs/solid/pen-to-square.svg | 1 - .../svgs/solid/pen.svg | 1 - .../svgs/solid/pencil.svg | 1 - .../svgs/solid/people-arrows.svg | 1 - .../svgs/solid/people-carry-box.svg | 1 - .../svgs/solid/people-group.svg | 1 - .../svgs/solid/people-line.svg | 1 - .../svgs/solid/people-pulling.svg | 1 - .../svgs/solid/people-robbery.svg | 1 - .../svgs/solid/people-roof.svg | 1 - .../svgs/solid/pepper-hot.svg | 1 - .../svgs/solid/percent.svg | 1 - .../svgs/solid/person-arrow-down-to-line.svg | 1 - .../svgs/solid/person-arrow-up-from-line.svg | 1 - .../svgs/solid/person-biking.svg | 1 - .../svgs/solid/person-booth.svg | 1 - .../svgs/solid/person-breastfeeding.svg | 1 - .../svgs/solid/person-burst.svg | 1 - .../svgs/solid/person-cane.svg | 1 - .../svgs/solid/person-chalkboard.svg | 1 - .../svgs/solid/person-circle-check.svg | 1 - .../svgs/solid/person-circle-exclamation.svg | 1 - .../svgs/solid/person-circle-minus.svg | 1 - .../svgs/solid/person-circle-plus.svg | 1 - .../svgs/solid/person-circle-question.svg | 1 - .../svgs/solid/person-circle-xmark.svg | 1 - .../svgs/solid/person-digging.svg | 1 - .../svgs/solid/person-dots-from-line.svg | 1 - .../svgs/solid/person-dress-burst.svg | 1 - .../svgs/solid/person-dress.svg | 1 - .../svgs/solid/person-drowning.svg | 1 - .../svgs/solid/person-falling-burst.svg | 1 - .../svgs/solid/person-falling.svg | 1 - .../svgs/solid/person-half-dress.svg | 1 - .../svgs/solid/person-harassing.svg | 1 - .../svgs/solid/person-hiking.svg | 1 - .../svgs/solid/person-military-pointing.svg | 1 - .../svgs/solid/person-military-rifle.svg | 1 - .../svgs/solid/person-military-to-person.svg | 1 - .../svgs/solid/person-praying.svg | 1 - .../svgs/solid/person-pregnant.svg | 1 - .../svgs/solid/person-rays.svg | 1 - .../svgs/solid/person-rifle.svg | 1 - .../svgs/solid/person-running.svg | 1 - .../svgs/solid/person-shelter.svg | 1 - .../svgs/solid/person-skating.svg | 1 - .../svgs/solid/person-skiing-nordic.svg | 1 - .../svgs/solid/person-skiing.svg | 1 - .../svgs/solid/person-snowboarding.svg | 1 - .../svgs/solid/person-swimming.svg | 1 - .../svgs/solid/person-through-window.svg | 1 - .../solid/person-walking-arrow-loop-left.svg | 1 - .../svgs/solid/person-walking-arrow-right.svg | 1 - ...person-walking-dashed-line-arrow-right.svg | 1 - .../svgs/solid/person-walking-luggage.svg | 1 - .../svgs/solid/person-walking-with-cane.svg | 1 - .../svgs/solid/person-walking.svg | 1 - .../svgs/solid/person.svg | 1 - .../svgs/solid/peseta-sign.svg | 1 - .../svgs/solid/peso-sign.svg | 1 - .../svgs/solid/phone-flip.svg | 1 - .../svgs/solid/phone-slash.svg | 1 - .../svgs/solid/phone-volume.svg | 1 - .../svgs/solid/phone.svg | 1 - .../svgs/solid/photo-film.svg | 1 - .../svgs/solid/piggy-bank.svg | 1 - .../svgs/solid/pills.svg | 1 - .../svgs/solid/pizza-slice.svg | 1 - .../svgs/solid/place-of-worship.svg | 1 - .../svgs/solid/plane-arrival.svg | 1 - .../svgs/solid/plane-circle-check.svg | 1 - .../svgs/solid/plane-circle-exclamation.svg | 1 - .../svgs/solid/plane-circle-xmark.svg | 1 - .../svgs/solid/plane-departure.svg | 1 - .../svgs/solid/plane-lock.svg | 1 - .../svgs/solid/plane-slash.svg | 1 - .../svgs/solid/plane-up.svg | 1 - .../svgs/solid/plane.svg | 1 - .../svgs/solid/plant-wilt.svg | 1 - .../svgs/solid/plate-wheat.svg | 1 - .../svgs/solid/play.svg | 1 - .../svgs/solid/plug-circle-bolt.svg | 1 - .../svgs/solid/plug-circle-check.svg | 1 - .../svgs/solid/plug-circle-exclamation.svg | 1 - .../svgs/solid/plug-circle-minus.svg | 1 - .../svgs/solid/plug-circle-plus.svg | 1 - .../svgs/solid/plug-circle-xmark.svg | 1 - .../svgs/solid/plug.svg | 1 - .../svgs/solid/plus-minus.svg | 1 - .../svgs/solid/plus.svg | 1 - .../svgs/solid/podcast.svg | 1 - .../svgs/solid/poo-storm.svg | 1 - .../svgs/solid/poo.svg | 1 - .../svgs/solid/poop.svg | 1 - .../svgs/solid/power-off.svg | 1 - .../solid/prescription-bottle-medical.svg | 1 - .../svgs/solid/prescription-bottle.svg | 1 - .../svgs/solid/prescription.svg | 1 - .../svgs/solid/print.svg | 1 - .../svgs/solid/pump-medical.svg | 1 - .../svgs/solid/pump-soap.svg | 1 - .../svgs/solid/puzzle-piece.svg | 1 - .../svgs/solid/q.svg | 1 - .../svgs/solid/qrcode.svg | 1 - .../svgs/solid/question.svg | 1 - .../svgs/solid/quote-left.svg | 1 - .../svgs/solid/quote-right.svg | 1 - .../svgs/solid/r.svg | 1 - .../svgs/solid/radiation.svg | 1 - .../svgs/solid/radio.svg | 1 - .../svgs/solid/rainbow.svg | 1 - .../svgs/solid/ranking-star.svg | 1 - .../svgs/solid/receipt.svg | 1 - .../svgs/solid/record-vinyl.svg | 1 - .../svgs/solid/rectangle-ad.svg | 1 - .../svgs/solid/rectangle-list.svg | 1 - .../svgs/solid/rectangle-xmark.svg | 1 - .../svgs/solid/recycle.svg | 1 - .../svgs/solid/registered.svg | 1 - .../svgs/solid/repeat.svg | 1 - .../svgs/solid/reply-all.svg | 1 - .../svgs/solid/reply.svg | 1 - .../svgs/solid/republican.svg | 1 - .../svgs/solid/restroom.svg | 1 - .../svgs/solid/retweet.svg | 1 - .../svgs/solid/ribbon.svg | 1 - .../svgs/solid/right-from-bracket.svg | 1 - .../svgs/solid/right-left.svg | 1 - .../svgs/solid/right-long.svg | 1 - .../svgs/solid/right-to-bracket.svg | 1 - .../svgs/solid/ring.svg | 1 - .../svgs/solid/road-barrier.svg | 1 - .../svgs/solid/road-bridge.svg | 1 - .../svgs/solid/road-circle-check.svg | 1 - .../svgs/solid/road-circle-exclamation.svg | 1 - .../svgs/solid/road-circle-xmark.svg | 1 - .../svgs/solid/road-lock.svg | 1 - .../svgs/solid/road-spikes.svg | 1 - .../svgs/solid/road.svg | 1 - .../svgs/solid/robot.svg | 1 - .../svgs/solid/rocket.svg | 1 - .../svgs/solid/rotate-left.svg | 1 - .../svgs/solid/rotate-right.svg | 1 - .../svgs/solid/rotate.svg | 1 - .../svgs/solid/route.svg | 1 - .../svgs/solid/rss.svg | 1 - .../svgs/solid/ruble-sign.svg | 1 - .../svgs/solid/rug.svg | 1 - .../svgs/solid/ruler-combined.svg | 1 - .../svgs/solid/ruler-horizontal.svg | 1 - .../svgs/solid/ruler-vertical.svg | 1 - .../svgs/solid/ruler.svg | 1 - .../svgs/solid/rupee-sign.svg | 1 - .../svgs/solid/rupiah-sign.svg | 1 - .../svgs/solid/s.svg | 1 - .../svgs/solid/sack-dollar.svg | 1 - .../svgs/solid/sack-xmark.svg | 1 - .../svgs/solid/sailboat.svg | 1 - .../svgs/solid/satellite-dish.svg | 1 - .../svgs/solid/satellite.svg | 1 - .../svgs/solid/scale-balanced.svg | 1 - .../svgs/solid/scale-unbalanced-flip.svg | 1 - .../svgs/solid/scale-unbalanced.svg | 1 - .../svgs/solid/school-circle-check.svg | 1 - .../svgs/solid/school-circle-exclamation.svg | 1 - .../svgs/solid/school-circle-xmark.svg | 1 - .../svgs/solid/school-flag.svg | 1 - .../svgs/solid/school-lock.svg | 1 - .../svgs/solid/school.svg | 1 - .../svgs/solid/scissors.svg | 1 - .../svgs/solid/screwdriver-wrench.svg | 1 - .../svgs/solid/screwdriver.svg | 1 - .../svgs/solid/scroll-torah.svg | 1 - .../svgs/solid/scroll.svg | 1 - .../svgs/solid/sd-card.svg | 1 - .../svgs/solid/section.svg | 1 - .../svgs/solid/seedling.svg | 1 - .../svgs/solid/server.svg | 1 - .../svgs/solid/shapes.svg | 1 - .../svgs/solid/share-from-square.svg | 1 - .../svgs/solid/share-nodes.svg | 1 - .../svgs/solid/share.svg | 1 - .../svgs/solid/sheet-plastic.svg | 1 - .../svgs/solid/shekel-sign.svg | 1 - .../svgs/solid/shield-cat.svg | 1 - .../svgs/solid/shield-dog.svg | 1 - .../svgs/solid/shield-halved.svg | 1 - .../svgs/solid/shield-heart.svg | 1 - .../svgs/solid/shield-virus.svg | 1 - .../svgs/solid/shield.svg | 1 - .../svgs/solid/ship.svg | 1 - .../svgs/solid/shirt.svg | 1 - .../svgs/solid/shoe-prints.svg | 1 - .../svgs/solid/shop-lock.svg | 1 - .../svgs/solid/shop-slash.svg | 1 - .../svgs/solid/shop.svg | 1 - .../svgs/solid/shower.svg | 1 - .../svgs/solid/shrimp.svg | 1 - .../svgs/solid/shuffle.svg | 1 - .../svgs/solid/shuttle-space.svg | 1 - .../svgs/solid/sign-hanging.svg | 1 - .../svgs/solid/signal.svg | 1 - .../svgs/solid/signature.svg | 1 - .../svgs/solid/signs-post.svg | 1 - .../svgs/solid/sim-card.svg | 1 - .../svgs/solid/sink.svg | 1 - .../svgs/solid/sitemap.svg | 1 - .../svgs/solid/skull-crossbones.svg | 1 - .../svgs/solid/skull.svg | 1 - .../svgs/solid/slash.svg | 1 - .../svgs/solid/sleigh.svg | 1 - .../svgs/solid/sliders.svg | 1 - .../svgs/solid/smog.svg | 1 - .../svgs/solid/smoking.svg | 1 - .../svgs/solid/snowflake.svg | 1 - .../svgs/solid/snowman.svg | 1 - .../svgs/solid/snowplow.svg | 1 - .../svgs/solid/soap.svg | 1 - .../svgs/solid/socks.svg | 1 - .../svgs/solid/solar-panel.svg | 1 - .../svgs/solid/sort-down.svg | 1 - .../svgs/solid/sort-up.svg | 1 - .../svgs/solid/sort.svg | 1 - .../svgs/solid/spa.svg | 1 - .../svgs/solid/spaghetti-monster-flying.svg | 1 - .../svgs/solid/spell-check.svg | 1 - .../svgs/solid/spider.svg | 1 - .../svgs/solid/spinner.svg | 1 - .../svgs/solid/splotch.svg | 1 - .../svgs/solid/spoon.svg | 1 - .../svgs/solid/spray-can-sparkles.svg | 1 - .../svgs/solid/spray-can.svg | 1 - .../svgs/solid/square-arrow-up-right.svg | 1 - .../svgs/solid/square-caret-down.svg | 1 - .../svgs/solid/square-caret-left.svg | 1 - .../svgs/solid/square-caret-right.svg | 1 - .../svgs/solid/square-caret-up.svg | 1 - .../svgs/solid/square-check.svg | 1 - .../svgs/solid/square-envelope.svg | 1 - .../svgs/solid/square-full.svg | 1 - .../svgs/solid/square-h.svg | 1 - .../svgs/solid/square-minus.svg | 1 - .../svgs/solid/square-nfi.svg | 1 - .../svgs/solid/square-parking.svg | 1 - .../svgs/solid/square-pen.svg | 1 - .../svgs/solid/square-person-confined.svg | 1 - .../svgs/solid/square-phone-flip.svg | 1 - .../svgs/solid/square-phone.svg | 1 - .../svgs/solid/square-plus.svg | 1 - .../svgs/solid/square-poll-horizontal.svg | 1 - .../svgs/solid/square-poll-vertical.svg | 1 - .../svgs/solid/square-root-variable.svg | 1 - .../svgs/solid/square-rss.svg | 1 - .../svgs/solid/square-share-nodes.svg | 1 - .../svgs/solid/square-up-right.svg | 1 - .../svgs/solid/square-virus.svg | 1 - .../svgs/solid/square-xmark.svg | 1 - .../svgs/solid/square.svg | 1 - .../svgs/solid/staff-snake.svg | 1 - .../svgs/solid/stairs.svg | 1 - .../svgs/solid/stamp.svg | 1 - .../svgs/solid/stapler.svg | 1 - .../svgs/solid/star-and-crescent.svg | 1 - .../svgs/solid/star-half-stroke.svg | 1 - .../svgs/solid/star-half.svg | 1 - .../svgs/solid/star-of-david.svg | 1 - .../svgs/solid/star-of-life.svg | 1 - .../svgs/solid/star.svg | 1 - .../svgs/solid/sterling-sign.svg | 1 - .../svgs/solid/stethoscope.svg | 1 - .../svgs/solid/stop.svg | 1 - .../svgs/solid/stopwatch-20.svg | 1 - .../svgs/solid/stopwatch.svg | 1 - .../svgs/solid/store-slash.svg | 1 - .../svgs/solid/store.svg | 1 - .../svgs/solid/street-view.svg | 1 - .../svgs/solid/strikethrough.svg | 1 - .../svgs/solid/stroopwafel.svg | 1 - .../svgs/solid/subscript.svg | 1 - .../svgs/solid/suitcase-medical.svg | 1 - .../svgs/solid/suitcase-rolling.svg | 1 - .../svgs/solid/suitcase.svg | 1 - .../svgs/solid/sun-plant-wilt.svg | 1 - .../svgs/solid/sun.svg | 1 - .../svgs/solid/superscript.svg | 1 - .../svgs/solid/swatchbook.svg | 1 - .../svgs/solid/synagogue.svg | 1 - .../svgs/solid/syringe.svg | 1 - .../svgs/solid/t.svg | 1 - .../svgs/solid/table-cells-large.svg | 1 - .../svgs/solid/table-cells.svg | 1 - .../svgs/solid/table-columns.svg | 1 - .../svgs/solid/table-list.svg | 1 - .../svgs/solid/table-tennis-paddle-ball.svg | 1 - .../svgs/solid/table.svg | 1 - .../svgs/solid/tablet-button.svg | 1 - .../svgs/solid/tablet-screen-button.svg | 1 - .../svgs/solid/tablet.svg | 1 - .../svgs/solid/tablets.svg | 1 - .../svgs/solid/tachograph-digital.svg | 1 - .../svgs/solid/tag.svg | 1 - .../svgs/solid/tags.svg | 1 - .../svgs/solid/tape.svg | 1 - .../svgs/solid/tarp-droplet.svg | 1 - .../svgs/solid/tarp.svg | 1 - .../svgs/solid/taxi.svg | 1 - .../svgs/solid/teeth-open.svg | 1 - .../svgs/solid/teeth.svg | 1 - .../svgs/solid/temperature-arrow-down.svg | 1 - .../svgs/solid/temperature-arrow-up.svg | 1 - .../svgs/solid/temperature-empty.svg | 1 - .../svgs/solid/temperature-full.svg | 1 - .../svgs/solid/temperature-half.svg | 1 - .../svgs/solid/temperature-high.svg | 1 - .../svgs/solid/temperature-low.svg | 1 - .../svgs/solid/temperature-quarter.svg | 1 - .../svgs/solid/temperature-three-quarters.svg | 1 - .../svgs/solid/tenge-sign.svg | 1 - .../svgs/solid/tent-arrow-down-to-line.svg | 1 - .../svgs/solid/tent-arrow-left-right.svg | 1 - .../svgs/solid/tent-arrow-turn-left.svg | 1 - .../svgs/solid/tent-arrows-down.svg | 1 - .../svgs/solid/tent.svg | 1 - .../svgs/solid/tents.svg | 1 - .../svgs/solid/terminal.svg | 1 - .../svgs/solid/text-height.svg | 1 - .../svgs/solid/text-slash.svg | 1 - .../svgs/solid/text-width.svg | 1 - .../svgs/solid/thermometer.svg | 1 - .../svgs/solid/thumbs-down.svg | 1 - .../svgs/solid/thumbs-up.svg | 1 - .../svgs/solid/thumbtack.svg | 1 - .../svgs/solid/ticket-simple.svg | 1 - .../svgs/solid/ticket.svg | 1 - .../svgs/solid/timeline.svg | 1 - .../svgs/solid/toggle-off.svg | 1 - .../svgs/solid/toggle-on.svg | 1 - .../svgs/solid/toilet-paper-slash.svg | 1 - .../svgs/solid/toilet-paper.svg | 1 - .../svgs/solid/toilet-portable.svg | 1 - .../svgs/solid/toilet.svg | 1 - .../svgs/solid/toilets-portable.svg | 1 - .../svgs/solid/toolbox.svg | 1 - .../svgs/solid/tooth.svg | 1 - .../svgs/solid/torii-gate.svg | 1 - .../svgs/solid/tornado.svg | 1 - .../svgs/solid/tower-broadcast.svg | 1 - .../svgs/solid/tower-cell.svg | 1 - .../svgs/solid/tower-observation.svg | 1 - .../svgs/solid/tractor.svg | 1 - .../svgs/solid/trademark.svg | 1 - .../svgs/solid/traffic-light.svg | 1 - .../svgs/solid/trailer.svg | 1 - .../svgs/solid/train-subway.svg | 1 - .../svgs/solid/train-tram.svg | 1 - .../svgs/solid/train.svg | 1 - .../svgs/solid/transgender.svg | 1 - .../svgs/solid/trash-arrow-up.svg | 1 - .../svgs/solid/trash-can-arrow-up.svg | 1 - .../svgs/solid/trash-can.svg | 1 - .../svgs/solid/trash.svg | 1 - .../svgs/solid/tree-city.svg | 1 - .../svgs/solid/tree.svg | 1 - .../svgs/solid/triangle-exclamation.svg | 1 - .../svgs/solid/trophy.svg | 1 - .../svgs/solid/trowel-bricks.svg | 1 - .../svgs/solid/trowel.svg | 1 - .../svgs/solid/truck-arrow-right.svg | 1 - .../svgs/solid/truck-droplet.svg | 1 - .../svgs/solid/truck-fast.svg | 1 - .../svgs/solid/truck-field-un.svg | 1 - .../svgs/solid/truck-field.svg | 1 - .../svgs/solid/truck-front.svg | 1 - .../svgs/solid/truck-medical.svg | 1 - .../svgs/solid/truck-monster.svg | 1 - .../svgs/solid/truck-moving.svg | 1 - .../svgs/solid/truck-pickup.svg | 1 - .../svgs/solid/truck-plane.svg | 1 - .../svgs/solid/truck-ramp-box.svg | 1 - .../svgs/solid/truck.svg | 1 - .../svgs/solid/tty.svg | 1 - .../svgs/solid/turkish-lira-sign.svg | 1 - .../svgs/solid/turn-down.svg | 1 - .../svgs/solid/turn-up.svg | 1 - .../svgs/solid/tv.svg | 1 - .../svgs/solid/u.svg | 1 - .../svgs/solid/umbrella-beach.svg | 1 - .../svgs/solid/umbrella.svg | 1 - .../svgs/solid/underline.svg | 1 - .../svgs/solid/universal-access.svg | 1 - .../svgs/solid/unlock-keyhole.svg | 1 - .../svgs/solid/unlock.svg | 1 - .../svgs/solid/up-down-left-right.svg | 1 - .../svgs/solid/up-down.svg | 1 - .../svgs/solid/up-long.svg | 1 - .../up-right-and-down-left-from-center.svg | 1 - .../svgs/solid/up-right-from-square.svg | 1 - .../svgs/solid/upload.svg | 1 - .../svgs/solid/user-astronaut.svg | 1 - .../svgs/solid/user-check.svg | 1 - .../svgs/solid/user-clock.svg | 1 - .../svgs/solid/user-doctor.svg | 1 - .../svgs/solid/user-gear.svg | 1 - .../svgs/solid/user-graduate.svg | 1 - .../svgs/solid/user-group.svg | 1 - .../svgs/solid/user-injured.svg | 1 - .../svgs/solid/user-large-slash.svg | 1 - .../svgs/solid/user-large.svg | 1 - .../svgs/solid/user-lock.svg | 1 - .../svgs/solid/user-minus.svg | 1 - .../svgs/solid/user-ninja.svg | 1 - .../svgs/solid/user-nurse.svg | 1 - .../svgs/solid/user-pen.svg | 1 - .../svgs/solid/user-plus.svg | 1 - .../svgs/solid/user-secret.svg | 1 - .../svgs/solid/user-shield.svg | 1 - .../svgs/solid/user-slash.svg | 1 - .../svgs/solid/user-tag.svg | 1 - .../svgs/solid/user-tie.svg | 1 - .../svgs/solid/user-xmark.svg | 1 - .../svgs/solid/user.svg | 1 - .../svgs/solid/users-between-lines.svg | 1 - .../svgs/solid/users-gear.svg | 1 - .../svgs/solid/users-line.svg | 1 - .../svgs/solid/users-rays.svg | 1 - .../svgs/solid/users-rectangle.svg | 1 - .../svgs/solid/users-slash.svg | 1 - .../svgs/solid/users-viewfinder.svg | 1 - .../svgs/solid/users.svg | 1 - .../svgs/solid/utensils.svg | 1 - .../svgs/solid/v.svg | 1 - .../svgs/solid/van-shuttle.svg | 1 - .../svgs/solid/vault.svg | 1 - .../svgs/solid/vector-square.svg | 1 - .../svgs/solid/venus-double.svg | 1 - .../svgs/solid/venus-mars.svg | 1 - .../svgs/solid/venus.svg | 1 - .../svgs/solid/vest-patches.svg | 1 - .../svgs/solid/vest.svg | 1 - .../svgs/solid/vial-circle-check.svg | 1 - .../svgs/solid/vial-virus.svg | 1 - .../svgs/solid/vial.svg | 1 - .../svgs/solid/vials.svg | 1 - .../svgs/solid/video-slash.svg | 1 - .../svgs/solid/video.svg | 1 - .../svgs/solid/vihara.svg | 1 - .../svgs/solid/virus-covid-slash.svg | 1 - .../svgs/solid/virus-covid.svg | 1 - .../svgs/solid/virus-slash.svg | 1 - .../svgs/solid/virus.svg | 1 - .../svgs/solid/viruses.svg | 1 - .../svgs/solid/voicemail.svg | 1 - .../svgs/solid/volcano.svg | 1 - .../svgs/solid/volleyball.svg | 1 - .../svgs/solid/volume-high.svg | 1 - .../svgs/solid/volume-low.svg | 1 - .../svgs/solid/volume-off.svg | 1 - .../svgs/solid/volume-xmark.svg | 1 - .../svgs/solid/vr-cardboard.svg | 1 - .../svgs/solid/w.svg | 1 - .../svgs/solid/walkie-talkie.svg | 1 - .../svgs/solid/wallet.svg | 1 - .../svgs/solid/wand-magic-sparkles.svg | 1 - .../svgs/solid/wand-magic.svg | 1 - .../svgs/solid/wand-sparkles.svg | 1 - .../svgs/solid/warehouse.svg | 1 - .../svgs/solid/water-ladder.svg | 1 - .../svgs/solid/water.svg | 1 - .../svgs/solid/wave-square.svg | 1 - .../svgs/solid/weight-hanging.svg | 1 - .../svgs/solid/weight-scale.svg | 1 - .../solid/wheat-awn-circle-exclamation.svg | 1 - .../svgs/solid/wheat-awn.svg | 1 - .../svgs/solid/wheelchair-move.svg | 1 - .../svgs/solid/wheelchair.svg | 1 - .../svgs/solid/whiskey-glass.svg | 1 - .../svgs/solid/wifi.svg | 1 - .../svgs/solid/wind.svg | 1 - .../svgs/solid/window-maximize.svg | 1 - .../svgs/solid/window-minimize.svg | 1 - .../svgs/solid/window-restore.svg | 1 - .../svgs/solid/wine-bottle.svg | 1 - .../svgs/solid/wine-glass-empty.svg | 1 - .../svgs/solid/wine-glass.svg | 1 - .../svgs/solid/won-sign.svg | 1 - .../svgs/solid/worm.svg | 1 - .../svgs/solid/wrench.svg | 1 - .../svgs/solid/x-ray.svg | 1 - .../svgs/solid/x.svg | 1 - .../svgs/solid/xmark.svg | 1 - .../svgs/solid/xmarks-lines.svg | 1 - .../svgs/solid/y.svg | 1 - .../svgs/solid/yen-sign.svg | 1 - .../svgs/solid/yin-yang.svg | 1 - .../svgs/solid/z.svg | 1 - .../webfonts/fa-brands-400.ttf | Bin 186112 -> 0 bytes .../webfonts/fa-brands-400.woff2 | Bin 107460 -> 0 bytes .../webfonts/fa-regular-400.ttf | Bin 62048 -> 0 bytes .../webfonts/fa-regular-400.woff2 | Bin 25096 -> 0 bytes .../webfonts/fa-solid-900.ttf | Bin 397728 -> 0 bytes .../webfonts/fa-solid-900.woff2 | Bin 150472 -> 0 bytes .../webfonts/fa-v4compatibility.ttf | Bin 10136 -> 0 bytes .../webfonts/fa-v4compatibility.woff2 | Bin 4584 -> 0 bytes .../staticfiles/admin/simpleui-x/img/bg.svg | 93 - .../admin/simpleui-x/img/favicon.png | Bin 115997 -> 0 bytes .../staticfiles/admin/simpleui-x/img/logo.png | Bin 115997 -> 0 bytes .../admin/simpleui-x/js/axios.min.js | 3 - .../admin/simpleui-x/js/axios.min.map | 1 - .../staticfiles/admin/simpleui-x/js/cookie.js | 17 - .../staticfiles/admin/simpleui-x/js/index.js | 632 - .../admin/simpleui-x/js/language.js | 10 - .../staticfiles/admin/simpleui-x/js/login.js | 25 - .../staticfiles/admin/simpleui-x/js/menu.js | 34 - .../staticfiles/admin/simpleui-x/js/vue.js | 12014 -- .../admin/simpleui-x/js/vue.min.js | 6 - .../admin/simpleui-x/locale/ar-ye.js | 42 - .../admin/simpleui-x/locale/en-us.js | 42 - .../admin/simpleui-x/locale/es-es.js | 44 - .../admin/simpleui-x/locale/pt-br.js | 42 - .../admin/simpleui-x/locale/ru-ru.js | 44 - .../admin/simpleui-x/locale/zh-hans.js | 44 - .../admin/simpleui-x/particles/app.js | 132 - .../admin/simpleui-x/particles/particles.js | 1524 - .../admin/simpleui-x/theme/admin.lte.css | 181 - .../admin/simpleui-x/theme/admin.lte.css.map | 1 - .../admin/simpleui-x/theme/admin.lte.less | 36 - .../admin/simpleui-x/theme/aircraft.css | 193 - .../admin/simpleui-x/theme/aircraft.css.map | 1 - .../admin/simpleui-x/theme/aircraft.less | 47 - .../admin/simpleui-x/theme/ant.design.css | 183 - .../admin/simpleui-x/theme/ant.design.css.map | 1 - .../admin/simpleui-x/theme/ant.design.less | 43 - .../admin/simpleui-x/theme/base.less | 181 - .../admin/simpleui-x/theme/black.css | 177 - .../admin/simpleui-x/theme/black.css.map | 1 - .../admin/simpleui-x/theme/black.less | 31 - .../admin/simpleui-x/theme/dark.green.css | 177 - .../admin/simpleui-x/theme/dark.green.css.map | 1 - .../admin/simpleui-x/theme/dark.green.less | 31 - .../admin/simpleui-x/theme/e-black-pro.css | 182 - .../simpleui-x/theme/e-black-pro.css.map | 1 - .../admin/simpleui-x/theme/e-black-pro.less | 3 - .../admin/simpleui-x/theme/e-black.css | 187 - .../admin/simpleui-x/theme/e-black.css.map | 1 - .../admin/simpleui-x/theme/e-black.less | 3 - .../admin/simpleui-x/theme/e-blue-pro.css | 210 - .../admin/simpleui-x/theme/e-blue-pro.css.map | 10 - .../admin/simpleui-x/theme/e-blue-pro.less | 37 - .../admin/simpleui-x/theme/e-blue.css | 217 - .../admin/simpleui-x/theme/e-blue.css.map | 10 - .../admin/simpleui-x/theme/e-blue.less | 43 - .../admin/simpleui-x/theme/e-green-pro.css | 182 - .../simpleui-x/theme/e-green-pro.css.map | 1 - .../admin/simpleui-x/theme/e-green-pro.less | 3 - .../admin/simpleui-x/theme/e-green.css | 187 - .../admin/simpleui-x/theme/e-green.css.map | 1 - .../admin/simpleui-x/theme/e-green.less | 3 - .../admin/simpleui-x/theme/e-purple-pro.css | 182 - .../simpleui-x/theme/e-purple-pro.css.map | 1 - .../admin/simpleui-x/theme/e-purple-pro.less | 3 - .../admin/simpleui-x/theme/e-purple.css | 187 - .../admin/simpleui-x/theme/e-purple.css.map | 1 - .../admin/simpleui-x/theme/e-purple.less | 3 - .../admin/simpleui-x/theme/e-red-pro.css | 182 - .../admin/simpleui-x/theme/e-red-pro.css.map | 1 - .../admin/simpleui-x/theme/e-red-pro.less | 3 - .../admin/simpleui-x/theme/e-red.css | 187 - .../admin/simpleui-x/theme/e-red.css.map | 1 - .../admin/simpleui-x/theme/e-red.less | 3 - .../admin/simpleui-x/theme/element.css | 174 - .../admin/simpleui-x/theme/element.css.map | 1 - .../admin/simpleui-x/theme/element.less | 27 - .../admin/simpleui-x/theme/gray.css | 177 - .../admin/simpleui-x/theme/gray.css.map | 1 - .../admin/simpleui-x/theme/gray.less | 28 - .../admin/simpleui-x/theme/green.css | 177 - .../admin/simpleui-x/theme/green.css.map | 1 - .../admin/simpleui-x/theme/green.less | 30 - .../admin/simpleui-x/theme/highdmin.css | 181 - .../admin/simpleui-x/theme/highdmin.css.map | 1 - .../admin/simpleui-x/theme/highdmin.less | 32 - .../admin/simpleui-x/theme/layui.css | 178 - .../admin/simpleui-x/theme/layui.css.map | 1 - .../admin/simpleui-x/theme/layui.less | 32 - .../admin/simpleui-x/theme/light.css | 170 - .../admin/simpleui-x/theme/light.css.map | 1 - .../admin/simpleui-x/theme/light.less | 20 - .../admin/simpleui-x/theme/orange.css | 189 - .../admin/simpleui-x/theme/orange.css.map | 1 - .../admin/simpleui-x/theme/orange.less | 47 - .../admin/simpleui-x/theme/purple.css | 188 - .../admin/simpleui-x/theme/purple.css.map | 1 - .../admin/simpleui-x/theme/purple.less | 47 - .../admin/simpleui-x/theme/simpleui.css | 177 - .../admin/simpleui-x/theme/simpleui.css.map | 1 - .../admin/simpleui-x/theme/simpleui.less | 30 - .../admin/simpleui-x/theme/theme.js | 178 - .../admin/simpleui-x/theme/x-blue.css | 186 - .../admin/simpleui-x/theme/x-blue.css.map | 1 - .../admin/simpleui-x/theme/x-blue.less | 8 - .../admin/simpleui-x/theme/x-green.css | 182 - .../admin/simpleui-x/theme/x-green.css.map | 1 - .../admin/simpleui-x/theme/x-green.less | 3 - .../admin/simpleui-x/theme/x-red.css | 186 - .../admin/simpleui-x/theme/x-red.css.map | 1 - .../admin/simpleui-x/theme/x-red.less | 8 - .../admin/simpleui-x/waves/waves.min.css | 7 - .../admin/simpleui-x/waves/waves.min.js | 2 - .../admin/simpleui-x/waves/waves.min.js.map | 168 - djangoProject/staticfiles/css/chooselogin.css | 43 - djangoProject/staticfiles/css/doctorlogin.css | 73 - djangoProject/staticfiles/images/admin.jpg | Bin 39146 -> 0 bytes djangoProject/staticfiles/images/doctor.jpg | Bin 15533 -> 0 bytes djangoProject/staticfiles/images/patient.jpg | Bin 34068 -> 0 bytes djangoProject/templates/choosedepartment.html | 22 - .../templates/choosedoctorandtime.html | 87 - djangoProject/templates/chooselogin.html | 34 - .../templates/confirmregistration.html | 84 - djangoProject/templates/doctorcenter.html | 20 - djangoProject/templates/doctorlogin.html | 24 - .../templates/doctorshowregistration.html | 0 djangoProject/templates/patientcenter.html | 25 - djangoProject/templates/patientlogin.html | 27 - djangoProject/templates/patientregister.html | 36 - .../.idea/.gitignore | 0 .../.idea/djangoProject2.iml | 15 +- .../inspectionProfiles/profiles_settings.xml | 0 .../.idea/misc.xml | 4 +- .../.idea/modules.xml | 2 +- djangoProject2/djangoProject2/__init__.py | 3 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 266 bytes .../__pycache__/settings.cpython-312.pyc | Bin 0 -> 2859 bytes .../__pycache__/urls.cpython-312.pyc | Bin 0 -> 544 bytes .../__pycache__/views.cpython-312.pyc | Bin 0 -> 524 bytes .../djangoProject2}/settings.py | 82 +- djangoProject2/djangoProject2/urls.py | 11 + djangoProject2/djangoProject2/views.py | 8 + djangoProject2/djangoProject2/wsgi.py | 6 + {djangoProject => djangoProject2}/manage.py | 8 +- .../movie}/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 167 bytes .../movie/__pycache__/admin.cpython-312.pyc | Bin 0 -> 2863 bytes .../movie/__pycache__/apps.cpython-312.pyc | Bin 0 -> 456 bytes .../movie/__pycache__/forms.cpython-312.pyc | Bin 0 -> 3820 bytes .../movie/__pycache__/model.cpython-312.pyc | Bin 0 -> 7219 bytes .../movie/__pycache__/urls.cpython-312.pyc | Bin 0 -> 1452 bytes .../movie/__pycache__/views.cpython-312.pyc | Bin 0 -> 21208 bytes djangoProject2/movie/admin.py | 82 + djangoProject2/movie/apps.py | 7 + djangoProject2/movie/context processors.py | 12 + djangoProject2/movie/forms.py | 96 + djangoProject2/movie/model.py | 142 + djangoProject2/movie/urls.py | 19 + djangoProject2/movie/views.py | 402 + djangoProject2/teleplay.sql | 550 + 2509 files changed, 1404 insertions(+), 374716 deletions(-) rename Python程序设计课程设计报告模板 2024年fyw.doc => Python程序设计课程设计报告模板 2024年.doc (83%) delete mode 100644 djangoProject/.idea/dataSources.xml delete mode 100644 djangoProject/.idea/jsLibraryMappings.xml delete mode 100644 djangoProject/djangoProject/__pycache__/__init__.cpython-312.pyc delete mode 100644 djangoProject/djangoProject/__pycache__/settings.cpython-312.pyc delete mode 100644 djangoProject/djangoProject/__pycache__/urls.cpython-312.pyc delete mode 100644 djangoProject/djangoProject/__pycache__/wsgi.cpython-312.pyc delete mode 100644 djangoProject/djangoProject/asgi.py delete mode 100644 djangoProject/djangoProject/urls.py delete mode 100644 djangoProject/djangoProject/wsgi.py delete mode 100644 djangoProject/hospital/__init__.py delete mode 100644 djangoProject/hospital/__pycache__/__init__.cpython-312.pyc delete mode 100644 djangoProject/hospital/__pycache__/admin.cpython-312.pyc delete mode 100644 djangoProject/hospital/__pycache__/apps.cpython-312.pyc delete mode 100644 djangoProject/hospital/__pycache__/models.cpython-312.pyc delete mode 100644 djangoProject/hospital/__pycache__/url.cpython-312.pyc delete mode 100644 djangoProject/hospital/__pycache__/views.cpython-312.pyc delete mode 100644 djangoProject/hospital/admin.py delete mode 100644 djangoProject/hospital/apps.py delete mode 100644 djangoProject/hospital/migrations/0001_initial.py delete mode 100644 djangoProject/hospital/migrations/0002_initial.py delete mode 100644 djangoProject/hospital/migrations/0003_alter_doctor_img.py delete mode 100644 djangoProject/hospital/migrations/0004_alter_doctor_img.py delete mode 100644 djangoProject/hospital/migrations/0005_alter_patient_sex.py delete mode 100644 djangoProject/hospital/migrations/__init__.py delete mode 100644 djangoProject/hospital/migrations/__pycache__/0001_initial.cpython-312.pyc delete mode 100644 djangoProject/hospital/migrations/__pycache__/0002_initial.cpython-312.pyc delete mode 100644 djangoProject/hospital/migrations/__pycache__/0003_alter_doctor_img.cpython-312.pyc delete mode 100644 djangoProject/hospital/migrations/__pycache__/0004_alter_doctor_img.cpython-312.pyc delete mode 100644 djangoProject/hospital/migrations/__pycache__/0005_alter_patient_sex.cpython-312.pyc delete mode 100644 djangoProject/hospital/migrations/__pycache__/__init__.cpython-312.pyc delete mode 100644 djangoProject/hospital/models.py delete mode 100644 djangoProject/hospital/url.py delete mode 100644 djangoProject/hospital/views.py delete mode 100644 djangoProject/media/doctor/13f497750c910e826a8a71f5bc85885.jpg delete mode 100644 djangoProject/media/doctor/907d937d4dd8844a4820d816e0cb7f7.jpg delete mode 100644 djangoProject/static/css/choosedepartment.css delete mode 100644 djangoProject/static/css/choosedoctorandtime.css delete mode 100644 djangoProject/static/css/chooselogin.css delete mode 100644 djangoProject/static/css/doctorcenter.css delete mode 100644 djangoProject/static/css/doctorlogin.css delete mode 100644 djangoProject/static/css/patientcenter.css delete mode 100644 djangoProject/static/css/patientlogin.css delete mode 100644 djangoProject/static/css/patientregister.css delete mode 100644 djangoProject/static/images/admin.jpg delete mode 100644 djangoProject/static/images/doctor.jpg delete mode 100644 djangoProject/static/images/message.jpg delete mode 100644 djangoProject/static/images/patient.jpg delete mode 100644 djangoProject/static/images/yuyue.jpg delete mode 100644 djangoProject/staticfiles/admin/css/autocomplete.css delete mode 100644 djangoProject/staticfiles/admin/css/base.css delete mode 100644 djangoProject/staticfiles/admin/css/changelists.css delete mode 100644 djangoProject/staticfiles/admin/css/dark_mode.css delete mode 100644 djangoProject/staticfiles/admin/css/dashboard.css delete mode 100644 djangoProject/staticfiles/admin/css/forms.css delete mode 100644 djangoProject/staticfiles/admin/css/login.css delete mode 100644 djangoProject/staticfiles/admin/css/nav_sidebar.css delete mode 100644 djangoProject/staticfiles/admin/css/responsive.css delete mode 100644 djangoProject/staticfiles/admin/css/responsive_rtl.css delete mode 100644 djangoProject/staticfiles/admin/css/rtl.css delete mode 100644 djangoProject/staticfiles/admin/css/vendor/select2/LICENSE-SELECT2.md delete mode 100644 djangoProject/staticfiles/admin/css/vendor/select2/select2.css delete mode 100644 djangoProject/staticfiles/admin/css/vendor/select2/select2.min.css delete mode 100644 djangoProject/staticfiles/admin/css/widgets.css delete mode 100644 djangoProject/staticfiles/admin/img/LICENSE delete mode 100644 djangoProject/staticfiles/admin/img/README.txt delete mode 100644 djangoProject/staticfiles/admin/img/calendar-icons.svg delete mode 100644 djangoProject/staticfiles/admin/img/gis/move_vertex_off.svg delete mode 100644 djangoProject/staticfiles/admin/img/gis/move_vertex_on.svg delete mode 100644 djangoProject/staticfiles/admin/img/icon-addlink.svg delete mode 100644 djangoProject/staticfiles/admin/img/icon-alert.svg delete mode 100644 djangoProject/staticfiles/admin/img/icon-calendar.svg delete mode 100644 djangoProject/staticfiles/admin/img/icon-changelink.svg delete mode 100644 djangoProject/staticfiles/admin/img/icon-clock.svg delete mode 100644 djangoProject/staticfiles/admin/img/icon-deletelink.svg delete mode 100644 djangoProject/staticfiles/admin/img/icon-hidelink.svg delete mode 100644 djangoProject/staticfiles/admin/img/icon-no.svg delete mode 100644 djangoProject/staticfiles/admin/img/icon-unknown-alt.svg delete mode 100644 djangoProject/staticfiles/admin/img/icon-unknown.svg delete mode 100644 djangoProject/staticfiles/admin/img/icon-viewlink.svg delete mode 100644 djangoProject/staticfiles/admin/img/icon-yes.svg delete mode 100644 djangoProject/staticfiles/admin/img/inline-delete.svg delete mode 100644 djangoProject/staticfiles/admin/img/search.svg delete mode 100644 djangoProject/staticfiles/admin/img/selector-icons.svg delete mode 100644 djangoProject/staticfiles/admin/img/sorting-icons.svg delete mode 100644 djangoProject/staticfiles/admin/img/tooltag-add.svg delete mode 100644 djangoProject/staticfiles/admin/img/tooltag-arrowright.svg delete mode 100644 djangoProject/staticfiles/admin/js/SelectBox.js delete mode 100644 djangoProject/staticfiles/admin/js/SelectFilter2.js delete mode 100644 djangoProject/staticfiles/admin/js/actions.js delete mode 100644 djangoProject/staticfiles/admin/js/admin/DateTimeShortcuts.js delete mode 100644 djangoProject/staticfiles/admin/js/admin/RelatedObjectLookups.js delete mode 100644 djangoProject/staticfiles/admin/js/autocomplete.js delete mode 100644 djangoProject/staticfiles/admin/js/calendar.js delete mode 100644 djangoProject/staticfiles/admin/js/cancel.js delete mode 100644 djangoProject/staticfiles/admin/js/change_form.js delete mode 100644 djangoProject/staticfiles/admin/js/collapse.js delete mode 100644 djangoProject/staticfiles/admin/js/core.js delete mode 100644 djangoProject/staticfiles/admin/js/filters.js delete mode 100644 djangoProject/staticfiles/admin/js/inlines.js delete mode 100644 djangoProject/staticfiles/admin/js/jquery.init.js delete mode 100644 djangoProject/staticfiles/admin/js/nav_sidebar.js delete mode 100644 djangoProject/staticfiles/admin/js/popup_response.js delete mode 100644 djangoProject/staticfiles/admin/js/prepopulate.js delete mode 100644 djangoProject/staticfiles/admin/js/prepopulate_init.js delete mode 100644 djangoProject/staticfiles/admin/js/theme.js delete mode 100644 djangoProject/staticfiles/admin/js/urlify.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/jquery/LICENSE.txt delete mode 100644 djangoProject/staticfiles/admin/js/vendor/jquery/jquery.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/jquery/jquery.min.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/LICENSE.md delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/af.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/ar.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/az.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/bg.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/bn.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/bs.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/ca.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/cs.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/da.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/de.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/dsb.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/el.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/en.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/es.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/et.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/eu.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/fa.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/fi.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/fr.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/gl.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/he.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/hi.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/hr.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/hsb.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/hu.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/hy.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/id.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/is.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/it.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/ja.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/ka.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/km.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/ko.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/lt.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/lv.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/mk.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/ms.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/nb.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/ne.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/nl.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/pl.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/ps.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/pt-BR.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/pt.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/ro.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/ru.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/sk.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/sl.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/sq.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/sr-Cyrl.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/sr.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/sv.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/th.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/tk.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/tr.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/uk.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/vi.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/zh-CN.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/i18n/zh-TW.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/select2.full.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/select2/select2.full.min.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/xregexp/LICENSE.txt delete mode 100644 djangoProject/staticfiles/admin/js/vendor/xregexp/xregexp.js delete mode 100644 djangoProject/staticfiles/admin/js/vendor/xregexp/xregexp.min.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/automatic/dicts.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/automatic/segment.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/css/base.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/css/base.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/css/base.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/css/index.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/css/index.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/css/index.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/css/login.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/index.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/format.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/index.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/af-ZA.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/ar.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/bg.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/ca.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/cs-CZ.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/da.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/de.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/ee.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/el.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/en.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/eo.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/es.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/eu.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/fa.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/fi.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/fr.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/he.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/hr.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/hu.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/hy-AM.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/id.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/it.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/ja.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/kg.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/km.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/ko.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/ku.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/kz.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/lt.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/lv.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/mn.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/nb-NO.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/nl.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/pl.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/pt-br.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/pt.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/ro.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/ru-RU.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/sk.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/sl.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/sr.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/sv-SE.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/ta.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/th.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/tk.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/tr-TR.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/ua.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/ug-CN.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/uz-UZ.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/vi.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/zh-CN.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/locale/lang/zh-TW.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/theme-chalk/fonts/element-icons.ttf delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/theme-chalk/fonts/element-icons.woff delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/elementui/theme-chalk/index.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/LICENSE.txt delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/all.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/all.min.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/brands.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/brands.min.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/fontawesome.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/fontawesome.min.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/regular.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/regular.min.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/solid.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/solid.min.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/svg-with-js.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/svg-with-js.min.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/v4-font-face.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/v4-font-face.min.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/v4-shims.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/v4-shims.min.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/v5-font-face.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/css/v5-font-face.min.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/all.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/all.min.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/brands.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/brands.min.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/conflict-detection.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/conflict-detection.min.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/fontawesome.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/fontawesome.min.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/regular.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/regular.min.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/solid.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/solid.min.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/v4-shims.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/js/v4-shims.min.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_animated.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_bordered-pulled.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_core.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_fixed-width.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_icons.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_list.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_mixins.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_rotated-flipped.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_screen-reader.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_shims.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_sizing.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_stacked.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/_variables.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/brands.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/brands.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/brands.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/fontawesome.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/fontawesome.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/fontawesome.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/regular.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/regular.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/regular.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/solid.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/solid.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/solid.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/v4-shims.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/v4-shims.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/less/v4-shims.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/metadata/categories.yml delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/metadata/icon-families.json delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/metadata/icon-families.yml delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/metadata/icons.json delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/metadata/icons.yml delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/metadata/shims.json delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/metadata/shims.yml delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/metadata/sponsors.yml delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_animated.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_bordered-pulled.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_core.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_fixed-width.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_functions.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_icons.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_list.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_mixins.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_rotated-flipped.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_screen-reader.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_shims.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_sizing.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_stacked.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/_variables.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/brands.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/fontawesome.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/regular.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/solid.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/scss/v4-shims.scss delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/sprites/brands.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/sprites/regular.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/sprites/solid.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/42-group.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/500px.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/accessible-icon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/accusoft.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/adn.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/adversal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/affiliatetheme.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/airbnb.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/algolia.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/alipay.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/amazon-pay.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/amazon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/amilia.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/android.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/angellist.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/angrycreative.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/angular.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/app-store-ios.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/app-store.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/apper.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/apple-pay.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/apple.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/artstation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/asymmetrik.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/atlassian.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/audible.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/autoprefixer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/avianex.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/aviato.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/aws.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/bandcamp.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/battle-net.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/behance.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/bilibili.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/bimobject.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/bitbucket.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/bitcoin.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/bity.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/black-tie.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/blackberry.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/blogger-b.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/blogger.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/bluetooth-b.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/bluetooth.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/bootstrap.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/bots.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/btc.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/buffer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/buromobelexperte.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/buy-n-large.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/buysellads.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/canadian-maple-leaf.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cc-amazon-pay.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cc-amex.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cc-apple-pay.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cc-diners-club.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cc-discover.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cc-jcb.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cc-mastercard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cc-paypal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cc-stripe.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cc-visa.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/centercode.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/centos.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/chrome.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/chromecast.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cloudflare.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cloudscale.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cloudsmith.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cloudversify.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cmplid.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/codepen.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/codiepie.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/confluence.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/connectdevelop.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/contao.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cotton-bureau.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cpanel.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-by.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-nc-eu.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-nc-jp.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-nc.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-nd.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-pd-alt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-pd.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-remix.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-sa.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-sampling-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-sampling.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-share.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons-zero.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/creative-commons.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/critical-role.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/css3-alt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/css3.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/cuttlefish.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/d-and-d-beyond.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/d-and-d.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/dailymotion.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/dashcube.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/deezer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/delicious.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/deploydog.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/deskpro.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/dev.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/deviantart.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/dhl.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/diaspora.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/digg.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/digital-ocean.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/discord.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/discourse.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/dochub.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/docker.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/draft2digital.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/dribbble.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/dropbox.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/drupal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/dyalog.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/earlybirds.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/ebay.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/edge-legacy.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/edge.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/elementor.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/ello.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/ember.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/empire.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/envira.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/erlang.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/ethereum.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/etsy.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/evernote.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/expeditedssl.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/facebook-f.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/facebook-messenger.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/facebook.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/fantasy-flight-games.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/fedex.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/fedora.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/figma.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/firefox-browser.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/firefox.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/first-order-alt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/first-order.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/firstdraft.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/flickr.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/flipboard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/fly.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/font-awesome.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/fonticons-fi.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/fonticons.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/fort-awesome-alt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/fort-awesome.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/forumbee.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/foursquare.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/free-code-camp.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/freebsd.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/fulcrum.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/galactic-republic.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/galactic-senate.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/get-pocket.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/gg-circle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/gg.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/git-alt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/git.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/github-alt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/github.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/gitkraken.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/gitlab.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/gitter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/glide-g.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/glide.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/gofore.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/golang.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/goodreads-g.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/goodreads.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/google-drive.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/google-pay.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/google-play.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/google-plus-g.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/google-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/google-wallet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/google.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/gratipay.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/grav.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/gripfire.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/grunt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/guilded.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/gulp.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/hacker-news.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/hackerrank.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/hashnode.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/hips.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/hire-a-helper.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/hive.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/hooli.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/hornbill.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/hotjar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/houzz.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/html5.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/hubspot.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/ideal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/imdb.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/instagram.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/instalod.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/intercom.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/internet-explorer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/invision.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/ioxhost.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/itch-io.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/itunes-note.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/itunes.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/java.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/jedi-order.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/jenkins.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/jira.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/joget.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/joomla.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/js.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/jsfiddle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/kaggle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/keybase.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/keycdn.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/kickstarter-k.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/kickstarter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/korvue.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/laravel.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/lastfm.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/leanpub.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/less.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/line.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/linkedin-in.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/linkedin.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/linode.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/linux.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/lyft.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/magento.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/mailchimp.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/mandalorian.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/markdown.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/mastodon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/maxcdn.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/mdb.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/medapps.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/medium.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/medrt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/meetup.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/megaport.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/mendeley.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/meta.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/microblog.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/microsoft.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/mix.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/mixcloud.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/mixer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/mizuni.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/modx.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/monero.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/napster.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/neos.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/nfc-directional.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/nfc-symbol.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/nimblr.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/node-js.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/node.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/npm.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/ns8.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/nutritionix.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/octopus-deploy.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/odnoklassniki.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/old-republic.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/opencart.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/openid.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/opera.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/optin-monster.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/orcid.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/osi.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/padlet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/page4.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/pagelines.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/palfed.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/patreon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/paypal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/perbyte.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/periscope.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/phabricator.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/phoenix-framework.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/phoenix-squadron.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/php.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/pied-piper-alt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/pied-piper-hat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/pied-piper-pp.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/pied-piper.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/pinterest-p.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/pinterest.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/pix.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/playstation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/product-hunt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/pushed.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/python.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/qq.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/quinscape.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/quora.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/r-project.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/raspberry-pi.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/ravelry.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/react.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/reacteurope.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/readme.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/rebel.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/red-river.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/reddit-alien.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/reddit.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/redhat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/renren.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/replyd.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/researchgate.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/resolving.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/rev.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/rocketchat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/rockrms.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/rust.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/safari.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/salesforce.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/sass.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/schlix.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/screenpal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/scribd.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/searchengin.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/sellcast.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/sellsy.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/servicestack.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/shirtsinbulk.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/shopify.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/shopware.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/simplybuilt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/sistrix.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/sith.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/sitrox.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/sketch.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/skyatlas.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/skype.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/slack.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/slideshare.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/snapchat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/soundcloud.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/sourcetree.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/space-awesome.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/speakap.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/speaker-deck.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/spotify.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-behance.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-dribbble.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-facebook.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-font-awesome-stroke.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-font-awesome.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-git.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-github.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-gitlab.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-google-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-hacker-news.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-instagram.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-js.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-lastfm.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-odnoklassniki.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-pied-piper.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-pinterest.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-reddit.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-snapchat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-steam.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-tumblr.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-twitter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-viadeo.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-vimeo.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-whatsapp.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-xing.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/square-youtube.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/squarespace.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/stack-exchange.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/stack-overflow.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/stackpath.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/staylinked.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/steam-symbol.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/steam.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/sticker-mule.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/strava.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/stripe-s.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/stripe.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/studiovinari.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/stumbleupon-circle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/stumbleupon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/superpowers.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/supple.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/suse.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/swift.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/symfony.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/teamspeak.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/telegram.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/tencent-weibo.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/the-red-yeti.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/themeco.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/themeisle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/think-peaks.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/tiktok.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/trade-federation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/trello.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/tumblr.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/twitch.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/twitter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/typo3.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/uber.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/ubuntu.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/uikit.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/umbraco.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/uncharted.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/uniregistry.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/unity.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/unsplash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/untappd.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/ups.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/usb.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/usps.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/ussunnah.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/vaadin.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/viacoin.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/viadeo.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/viber.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/vimeo-v.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/vimeo.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/vine.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/vk.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/vnv.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/vuejs.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/watchman-monitoring.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/waze.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/weebly.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/weibo.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/weixin.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/whatsapp.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/whmcs.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/wikipedia-w.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/windows.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/wirsindhandwerk.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/wix.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/wizards-of-the-coast.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/wodu.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/wolf-pack-battalion.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/wordpress-simple.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/wordpress.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/wpbeginner.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/wpexplorer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/wpforms.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/wpressr.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/xbox.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/xing.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/y-combinator.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/yahoo.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/yammer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/yandex-international.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/yandex.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/yarn.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/yelp.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/yoast.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/youtube.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/brands/zhihu.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/address-book.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/address-card.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/bell-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/bell.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/bookmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/building.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/calendar-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/calendar-days.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/calendar-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/calendar-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/calendar-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/calendar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/chart-bar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/chess-bishop.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/chess-king.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/chess-knight.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/chess-pawn.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/chess-queen.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/chess-rook.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle-dot.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle-pause.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle-play.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle-question.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle-stop.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle-user.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/circle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/clipboard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/clock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/clone.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/closed-captioning.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/comment-dots.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/comment.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/comments.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/compass.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/copy.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/copyright.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/credit-card.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/envelope-open.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/envelope.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/eye-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/eye.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-angry.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-dizzy.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-flushed.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-frown-open.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-frown.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grimace.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin-beam-sweat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin-beam.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin-hearts.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin-squint-tears.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin-squint.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin-stars.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin-tears.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin-tongue-squint.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin-tongue-wink.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin-tongue.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin-wide.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin-wink.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-grin.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-kiss-beam.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-kiss-wink-heart.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-kiss.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-laugh-beam.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-laugh-squint.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-laugh-wink.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-laugh.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-meh-blank.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-meh.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-rolling-eyes.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-sad-cry.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-sad-tear.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-smile-beam.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-smile-wink.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-smile.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-surprise.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/face-tired.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/file-audio.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/file-code.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/file-excel.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/file-image.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/file-lines.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/file-pdf.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/file-powerpoint.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/file-video.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/file-word.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/file-zipper.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/file.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/flag.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/floppy-disk.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/folder-closed.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/folder-open.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/folder.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/font-awesome.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/futbol.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/gem.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hand-back-fist.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hand-lizard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hand-peace.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hand-point-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hand-point-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hand-point-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hand-point-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hand-pointer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hand-scissors.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hand-spock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hand.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/handshake.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hard-drive.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/heart.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hospital.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hourglass-half.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/hourglass.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/id-badge.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/id-card.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/image.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/images.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/keyboard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/lemon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/life-ring.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/lightbulb.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/map.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/message.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/money-bill-1.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/moon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/newspaper.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/note-sticky.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/object-group.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/object-ungroup.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/paper-plane.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/paste.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/pen-to-square.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/rectangle-list.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/rectangle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/registered.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/share-from-square.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/snowflake.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/square-caret-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/square-caret-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/square-caret-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/square-caret-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/square-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/square-full.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/square-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/square-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/square.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/star-half-stroke.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/star-half.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/star.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/sun.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/thumbs-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/thumbs-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/trash-can.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/user.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/window-maximize.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/window-minimize.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/regular/window-restore.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/0.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/1.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/2.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/3.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/4.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/5.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/6.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/7.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/8.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/9.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/a.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/address-book.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/address-card.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/align-center.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/align-justify.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/align-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/align-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/anchor-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/anchor-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/anchor-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/anchor-lock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/anchor.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/angle-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/angle-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/angle-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/angle-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/angles-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/angles-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/angles-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/angles-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ankh.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/apple-whole.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/archway.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-down-1-9.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-down-9-1.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-down-a-z.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-down-long.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-down-short-wide.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-down-up-across-line.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-down-up-lock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-down-wide-short.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-down-z-a.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-left-long.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-pointer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-right-arrow-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-right-from-bracket.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-right-long.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-right-to-bracket.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-right-to-city.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-rotate-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-rotate-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-trend-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-trend-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-turn-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-turn-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up-1-9.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up-9-1.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up-a-z.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up-from-bracket.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up-from-ground-water.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up-from-water-pump.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up-long.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up-right-dots.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up-right-from-square.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up-short-wide.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up-wide-short.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up-z-a.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrow-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-down-to-line.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-down-to-people.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-left-right-to-line.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-left-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-rotate.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-spin.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-split-up-and-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-to-circle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-to-dot.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-to-eye.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-turn-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-turn-to-dots.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-up-down-left-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-up-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/arrows-up-to-line.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/asterisk.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/at.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/atom.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/audio-description.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/austral-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/award.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/b.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/baby-carriage.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/baby.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/backward-fast.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/backward-step.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/backward.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bacon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bacteria.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bacterium.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bag-shopping.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bahai.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/baht-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ban-smoking.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ban.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bandage.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/barcode.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bars-progress.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bars-staggered.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bars.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/baseball-bat-ball.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/baseball.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/basket-shopping.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/basketball.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bath.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/battery-empty.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/battery-full.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/battery-half.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/battery-quarter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/battery-three-quarters.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bed-pulse.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bed.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/beer-mug-empty.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bell-concierge.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bell-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bell.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bezier-curve.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bicycle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/binoculars.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/biohazard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bitcoin-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/blender-phone.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/blender.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/blog.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bold.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bolt-lightning.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bolt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bomb.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bone.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bong.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/book-atlas.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/book-bible.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/book-bookmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/book-journal-whills.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/book-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/book-open-reader.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/book-open.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/book-quran.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/book-skull.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/book-tanakh.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/book.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bookmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/border-all.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/border-none.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/border-top-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bore-hole.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bottle-droplet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bottle-water.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bowl-food.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bowl-rice.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bowling-ball.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/box-archive.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/box-open.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/box-tissue.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/box.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/boxes-packing.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/boxes-stacked.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/braille.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/brain.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/brazilian-real-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bread-slice.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bridge-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bridge-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bridge-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bridge-lock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bridge-water.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bridge.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/briefcase-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/briefcase.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/broom-ball.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/broom.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/brush.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bucket.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bug-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bug.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bugs.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building-circle-arrow-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building-columns.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building-flag.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building-lock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building-ngo.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building-shield.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building-un.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building-user.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building-wheat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/building.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bullhorn.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bullseye.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/burger.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/burst.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bus-simple.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/bus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/business-time.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/c.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cable-car.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cake-candles.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/calculator.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/calendar-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/calendar-day.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/calendar-days.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/calendar-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/calendar-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/calendar-week.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/calendar-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/calendar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/camera-retro.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/camera-rotate.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/camera.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/campground.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/candy-cane.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cannabis.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/capsules.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/car-battery.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/car-burst.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/car-on.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/car-rear.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/car-side.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/car-tunnel.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/car.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/caravan.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/caret-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/caret-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/caret-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/caret-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/carrot.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cart-arrow-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cart-flatbed-suitcase.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cart-flatbed.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cart-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cart-shopping.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cash-register.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cedi-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cent-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/certificate.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chair.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chalkboard-user.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chalkboard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/champagne-glasses.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/charging-station.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chart-area.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chart-bar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chart-column.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chart-gantt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chart-line.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chart-pie.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chart-simple.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/check-double.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/check-to-slot.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cheese.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chess-bishop.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chess-board.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chess-king.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chess-knight.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chess-pawn.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chess-queen.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chess-rook.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chess.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chevron-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chevron-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chevron-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/chevron-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/child-dress.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/child-reaching.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/child-rifle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/child.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/children.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/church.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-arrow-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-arrow-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-arrow-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-arrow-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-chevron-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-chevron-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-chevron-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-chevron-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-dollar-to-slot.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-dot.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-h.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-half-stroke.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-info.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-nodes.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-notch.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-pause.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-play.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-question.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-radiation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-stop.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-user.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/circle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/city.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/clapperboard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/clipboard-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/clipboard-list.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/clipboard-question.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/clipboard-user.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/clipboard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/clock-rotate-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/clock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/clone.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/closed-captioning.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cloud-arrow-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cloud-arrow-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cloud-bolt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cloud-meatball.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cloud-moon-rain.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cloud-moon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cloud-rain.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cloud-showers-heavy.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cloud-showers-water.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cloud-sun-rain.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cloud-sun.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cloud.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/clover.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/code-branch.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/code-commit.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/code-compare.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/code-fork.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/code-merge.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/code-pull-request.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/code.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/coins.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/colon-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/comment-dollar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/comment-dots.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/comment-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/comment-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/comment-sms.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/comment.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/comments-dollar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/comments.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/compact-disc.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/compass-drafting.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/compass.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/compress.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/computer-mouse.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/computer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cookie-bite.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cookie.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/copy.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/copyright.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/couch.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cow.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/credit-card.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/crop-simple.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/crop.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cross.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/crosshairs.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/crow.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/crown.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/crutch.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cruzeiro-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cube.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cubes-stacked.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/cubes.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/d.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/database.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/delete-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/democrat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/desktop.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dharmachakra.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/diagram-next.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/diagram-predecessor.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/diagram-project.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/diagram-successor.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/diamond-turn-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/diamond.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dice-d20.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dice-d6.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dice-five.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dice-four.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dice-one.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dice-six.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dice-three.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dice-two.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dice.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/disease.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/display.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/divide.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dna.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dog.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dollar-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dolly.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dong-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/door-closed.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/door-open.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dove.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/down-left-and-up-right-to-center.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/down-long.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/download.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dragon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/draw-polygon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/droplet-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/droplet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/drum-steelpan.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/drum.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/drumstick-bite.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dumbbell.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dumpster-fire.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dumpster.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/dungeon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/e.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ear-deaf.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ear-listen.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/earth-africa.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/earth-americas.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/earth-asia.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/earth-europe.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/earth-oceania.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/egg.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/eject.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/elevator.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ellipsis-vertical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ellipsis.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/envelope-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/envelope-open-text.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/envelope-open.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/envelope.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/envelopes-bulk.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/equals.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/eraser.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ethernet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/euro-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/expand.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/explosion.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/eye-dropper.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/eye-low-vision.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/eye-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/eye.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/f.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-angry.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-dizzy.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-flushed.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-frown-open.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-frown.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grimace.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin-beam-sweat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin-beam.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin-hearts.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin-squint-tears.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin-squint.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin-stars.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin-tears.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin-tongue-squint.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin-tongue-wink.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin-tongue.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin-wide.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin-wink.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-grin.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-kiss-beam.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-kiss-wink-heart.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-kiss.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-laugh-beam.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-laugh-squint.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-laugh-wink.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-laugh.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-meh-blank.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-meh.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-rolling-eyes.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-sad-cry.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-sad-tear.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-smile-beam.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-smile-wink.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-smile.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-surprise.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/face-tired.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/fan.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/faucet-drip.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/faucet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/fax.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/feather-pointed.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/feather.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ferry.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-arrow-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-arrow-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-audio.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-circle-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-circle-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-circle-question.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-code.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-contract.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-csv.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-excel.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-export.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-image.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-import.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-invoice-dollar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-invoice.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-lines.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-pdf.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-pen.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-powerpoint.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-prescription.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-shield.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-signature.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-video.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-waveform.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-word.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file-zipper.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/file.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/fill-drip.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/fill.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/film.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/filter-circle-dollar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/filter-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/filter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/fingerprint.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/fire-burner.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/fire-extinguisher.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/fire-flame-curved.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/fire-flame-simple.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/fire.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/fish-fins.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/fish.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/flag-checkered.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/flag-usa.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/flag.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/flask-vial.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/flask.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/floppy-disk.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/florin-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/folder-closed.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/folder-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/folder-open.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/folder-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/folder-tree.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/folder.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/font-awesome.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/font.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/football.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/forward-fast.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/forward-step.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/forward.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/franc-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/frog.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/futbol.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/g.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gamepad.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gas-pump.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gauge-high.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gauge-simple-high.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gauge-simple.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gauge.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gavel.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gear.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gears.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gem.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/genderless.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ghost.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gift.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gifts.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/glass-water-droplet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/glass-water.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/glasses.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/globe.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/golf-ball-tee.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gopuram.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/graduation-cap.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/greater-than-equal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/greater-than.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/grip-lines-vertical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/grip-lines.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/grip-vertical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/grip.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/group-arrows-rotate.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/guarani-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/guitar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/gun.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/h.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hammer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hamsa.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-back-fist.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-dots.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-fist.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-holding-dollar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-holding-droplet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-holding-hand.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-holding-heart.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-holding-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-holding.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-lizard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-middle-finger.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-peace.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-point-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-point-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-point-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-point-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-pointer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-scissors.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-sparkles.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand-spock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hand.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/handcuffs.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hands-asl-interpreting.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hands-bound.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hands-bubbles.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hands-clapping.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hands-holding-child.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hands-holding-circle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hands-holding.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hands-praying.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hands.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/handshake-angle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/handshake-simple-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/handshake-simple.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/handshake-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/handshake.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hanukiah.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hard-drive.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hashtag.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hat-cowboy-side.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hat-cowboy.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hat-wizard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/head-side-cough-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/head-side-cough.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/head-side-mask.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/head-side-virus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/heading.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/headphones-simple.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/headphones.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/headset.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/heart-circle-bolt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/heart-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/heart-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/heart-circle-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/heart-circle-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/heart-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/heart-crack.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/heart-pulse.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/heart.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/helicopter-symbol.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/helicopter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/helmet-safety.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/helmet-un.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/highlighter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hill-avalanche.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hill-rockslide.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hippo.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hockey-puck.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/holly-berry.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/horse-head.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/horse.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hospital-user.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hospital.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hot-tub-person.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hotdog.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hotel.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hourglass-end.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hourglass-half.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hourglass-start.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hourglass.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-chimney-crack.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-chimney-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-chimney-user.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-chimney-window.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-chimney.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-crack.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-fire.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-flag.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-flood-water-circle-arrow-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-flood-water.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-laptop.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-lock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-medical-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-medical-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-medical-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-medical-flag.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-signal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-tsunami.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house-user.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/house.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hryvnia-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/hurricane.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/i-cursor.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/i.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ice-cream.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/icicles.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/icons.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/id-badge.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/id-card-clip.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/id-card.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/igloo.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/image-portrait.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/image.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/images.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/inbox.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/indent.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/indian-rupee-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/industry.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/infinity.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/info.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/italic.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/j.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/jar-wheat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/jar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/jedi.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/jet-fighter-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/jet-fighter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/joint.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/jug-detergent.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/k.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/kaaba.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/key.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/keyboard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/khanda.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/kip-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/kit-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/kitchen-set.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/kiwi-bird.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/l.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/land-mine-on.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/landmark-dome.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/landmark-flag.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/landmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/language.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/laptop-code.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/laptop-file.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/laptop-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/laptop.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/lari-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/layer-group.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/leaf.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/left-long.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/left-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/lemon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/less-than-equal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/less-than.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/life-ring.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/lightbulb.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/lines-leaning.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/link-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/link.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/lira-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/list-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/list-ol.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/list-ul.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/list.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/litecoin-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/location-arrow.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/location-crosshairs.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/location-dot.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/location-pin-lock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/location-pin.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/lock-open.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/lock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/locust.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/lungs-virus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/lungs.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/m.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/magnet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/magnifying-glass-arrow-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/magnifying-glass-chart.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/magnifying-glass-dollar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/magnifying-glass-location.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/magnifying-glass-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/magnifying-glass-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/magnifying-glass.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/manat-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/map-location-dot.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/map-location.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/map-pin.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/map.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/marker.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mars-and-venus-burst.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mars-and-venus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mars-double.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mars-stroke-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mars-stroke-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mars-stroke.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mars.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/martini-glass-citrus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/martini-glass-empty.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/martini-glass.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mask-face.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mask-ventilator.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mask.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/masks-theater.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mattress-pillow.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/maximize.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/medal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/memory.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/menorah.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mercury.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/message.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/meteor.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/microchip.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/microphone-lines-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/microphone-lines.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/microphone-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/microphone.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/microscope.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mill-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/minimize.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mitten.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mobile-button.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mobile-retro.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mobile-screen-button.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mobile-screen.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mobile.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/money-bill-1-wave.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/money-bill-1.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/money-bill-transfer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/money-bill-trend-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/money-bill-wave.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/money-bill-wheat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/money-bill.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/money-bills.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/money-check-dollar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/money-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/monument.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/moon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mortar-pestle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mosque.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mosquito-net.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mosquito.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/motorcycle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mound.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mountain-city.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mountain-sun.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mountain.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mug-hot.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/mug-saucer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/music.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/n.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/naira-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/network-wired.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/neuter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/newspaper.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/not-equal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/note-sticky.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/notes-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/o.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/object-group.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/object-ungroup.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/oil-can.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/oil-well.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/om.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/otter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/outdent.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/p.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pager.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/paint-roller.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/paintbrush.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/palette.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pallet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/panorama.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/paper-plane.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/paperclip.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/parachute-box.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/paragraph.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/passport.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/paste.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pause.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/paw.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/peace.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pen-clip.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pen-fancy.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pen-nib.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pen-ruler.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pen-to-square.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pen.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pencil.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/people-arrows.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/people-carry-box.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/people-group.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/people-line.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/people-pulling.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/people-robbery.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/people-roof.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pepper-hot.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/percent.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-arrow-down-to-line.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-arrow-up-from-line.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-biking.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-booth.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-breastfeeding.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-burst.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-cane.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-chalkboard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-circle-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-circle-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-circle-question.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-digging.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-dots-from-line.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-dress-burst.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-dress.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-drowning.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-falling-burst.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-falling.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-half-dress.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-harassing.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-hiking.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-military-pointing.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-military-rifle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-military-to-person.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-praying.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-pregnant.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-rays.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-rifle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-running.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-shelter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-skating.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-skiing-nordic.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-skiing.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-snowboarding.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-swimming.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-through-window.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-walking-arrow-loop-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-walking-arrow-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-walking-dashed-line-arrow-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-walking-luggage.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-walking-with-cane.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person-walking.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/person.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/peseta-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/peso-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/phone-flip.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/phone-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/phone-volume.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/phone.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/photo-film.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/piggy-bank.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pills.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pizza-slice.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/place-of-worship.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plane-arrival.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plane-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plane-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plane-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plane-departure.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plane-lock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plane-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plane-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plane.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plant-wilt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plate-wheat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/play.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plug-circle-bolt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plug-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plug-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plug-circle-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plug-circle-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plug-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plug.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plus-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/podcast.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/poo-storm.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/poo.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/poop.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/power-off.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/prescription-bottle-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/prescription-bottle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/prescription.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/print.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pump-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/pump-soap.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/puzzle-piece.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/q.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/qrcode.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/question.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/quote-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/quote-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/r.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/radiation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/radio.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/rainbow.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ranking-star.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/receipt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/record-vinyl.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/rectangle-ad.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/rectangle-list.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/rectangle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/recycle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/registered.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/repeat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/reply-all.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/reply.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/republican.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/restroom.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/retweet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ribbon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/right-from-bracket.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/right-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/right-long.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/right-to-bracket.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ring.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/road-barrier.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/road-bridge.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/road-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/road-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/road-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/road-lock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/road-spikes.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/road.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/robot.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/rocket.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/rotate-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/rotate-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/rotate.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/route.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/rss.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ruble-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/rug.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ruler-combined.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ruler-horizontal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ruler-vertical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ruler.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/rupee-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/rupiah-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/s.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sack-dollar.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sack-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sailboat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/satellite-dish.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/satellite.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/scale-balanced.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/scale-unbalanced-flip.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/scale-unbalanced.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/school-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/school-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/school-circle-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/school-flag.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/school-lock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/school.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/scissors.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/screwdriver-wrench.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/screwdriver.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/scroll-torah.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/scroll.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sd-card.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/section.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/seedling.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/server.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shapes.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/share-from-square.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/share-nodes.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/share.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sheet-plastic.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shekel-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shield-cat.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shield-dog.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shield-halved.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shield-heart.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shield-virus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shield.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ship.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shirt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shoe-prints.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shop-lock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shop-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shop.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shower.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shrimp.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shuffle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/shuttle-space.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sign-hanging.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/signal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/signature.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/signs-post.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sim-card.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sink.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sitemap.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/skull-crossbones.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/skull.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sleigh.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sliders.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/smog.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/smoking.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/snowflake.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/snowman.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/snowplow.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/soap.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/socks.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/solar-panel.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sort-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sort-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sort.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/spa.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/spaghetti-monster-flying.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/spell-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/spider.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/spinner.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/splotch.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/spoon.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/spray-can-sparkles.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/spray-can.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-arrow-up-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-caret-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-caret-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-caret-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-caret-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-envelope.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-full.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-h.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-nfi.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-parking.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-pen.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-person-confined.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-phone-flip.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-phone.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-poll-horizontal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-poll-vertical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-root-variable.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-rss.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-share-nodes.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-up-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-virus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/square.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/staff-snake.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/stairs.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/stamp.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/stapler.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/star-and-crescent.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/star-half-stroke.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/star-half.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/star-of-david.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/star-of-life.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/star.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sterling-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/stethoscope.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/stop.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/stopwatch-20.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/stopwatch.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/store-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/store.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/street-view.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/strikethrough.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/stroopwafel.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/subscript.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/suitcase-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/suitcase-rolling.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/suitcase.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sun-plant-wilt.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/sun.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/superscript.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/swatchbook.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/synagogue.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/syringe.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/t.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/table-cells-large.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/table-cells.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/table-columns.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/table-list.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/table-tennis-paddle-ball.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/table.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tablet-button.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tablet-screen-button.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tablet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tablets.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tachograph-digital.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tag.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tags.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tape.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tarp-droplet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tarp.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/taxi.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/teeth-open.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/teeth.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/temperature-arrow-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/temperature-arrow-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/temperature-empty.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/temperature-full.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/temperature-half.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/temperature-high.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/temperature-low.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/temperature-quarter.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/temperature-three-quarters.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tenge-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tent-arrow-down-to-line.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tent-arrow-left-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tent-arrow-turn-left.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tent-arrows-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tent.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tents.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/terminal.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/text-height.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/text-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/text-width.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/thermometer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/thumbs-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/thumbs-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/thumbtack.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ticket-simple.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/ticket.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/timeline.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/toggle-off.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/toggle-on.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/toilet-paper-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/toilet-paper.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/toilet-portable.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/toilet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/toilets-portable.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/toolbox.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tooth.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/torii-gate.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tornado.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tower-broadcast.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tower-cell.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tower-observation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tractor.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/trademark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/traffic-light.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/trailer.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/train-subway.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/train-tram.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/train.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/transgender.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/trash-arrow-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/trash-can-arrow-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/trash-can.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/trash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tree-city.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tree.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/triangle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/trophy.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/trowel-bricks.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/trowel.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck-arrow-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck-droplet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck-fast.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck-field-un.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck-field.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck-front.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck-medical.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck-monster.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck-moving.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck-pickup.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck-plane.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck-ramp-box.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/truck.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tty.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/turkish-lira-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/turn-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/turn-up.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/tv.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/u.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/umbrella-beach.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/umbrella.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/underline.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/universal-access.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/unlock-keyhole.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/unlock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/up-down-left-right.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/up-down.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/up-long.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/up-right-and-down-left-from-center.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/up-right-from-square.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/upload.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-astronaut.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-clock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-doctor.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-gear.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-graduate.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-group.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-injured.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-large-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-large.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-lock.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-minus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-ninja.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-nurse.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-pen.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-plus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-secret.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-shield.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-tag.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-tie.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/user.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/users-between-lines.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/users-gear.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/users-line.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/users-rays.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/users-rectangle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/users-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/users-viewfinder.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/users.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/utensils.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/v.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/van-shuttle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/vault.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/vector-square.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/venus-double.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/venus-mars.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/venus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/vest-patches.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/vest.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/vial-circle-check.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/vial-virus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/vial.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/vials.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/video-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/video.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/vihara.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/virus-covid-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/virus-covid.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/virus-slash.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/virus.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/viruses.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/voicemail.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/volcano.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/volleyball.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/volume-high.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/volume-low.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/volume-off.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/volume-xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/vr-cardboard.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/w.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/walkie-talkie.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wallet.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wand-magic-sparkles.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wand-magic.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wand-sparkles.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/warehouse.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/water-ladder.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/water.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wave-square.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/weight-hanging.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/weight-scale.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wheat-awn-circle-exclamation.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wheat-awn.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wheelchair-move.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wheelchair.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/whiskey-glass.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wifi.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wind.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/window-maximize.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/window-minimize.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/window-restore.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wine-bottle.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wine-glass-empty.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wine-glass.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/won-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/worm.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/wrench.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/x-ray.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/x.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/xmark.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/xmarks-lines.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/y.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/yen-sign.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/yin-yang.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/svgs/solid/z.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/webfonts/fa-brands-400.ttf delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/webfonts/fa-brands-400.woff2 delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/webfonts/fa-regular-400.ttf delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/webfonts/fa-regular-400.woff2 delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/webfonts/fa-solid-900.ttf delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/webfonts/fa-solid-900.woff2 delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/webfonts/fa-v4compatibility.ttf delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/fontawesome-free-6.2.0-web/webfonts/fa-v4compatibility.woff2 delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/img/bg.svg delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/img/favicon.png delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/img/logo.png delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/js/axios.min.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/js/axios.min.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/js/cookie.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/js/index.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/js/language.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/js/login.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/js/menu.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/js/vue.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/js/vue.min.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/locale/ar-ye.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/locale/en-us.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/locale/es-es.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/locale/pt-br.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/locale/ru-ru.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/locale/zh-hans.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/particles/app.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/particles/particles.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/admin.lte.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/admin.lte.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/admin.lte.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/aircraft.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/aircraft.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/aircraft.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/ant.design.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/ant.design.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/ant.design.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/base.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/black.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/black.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/black.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/dark.green.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/dark.green.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/dark.green.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-black-pro.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-black-pro.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-black-pro.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-black.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-black.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-black.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-blue-pro.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-blue-pro.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-blue-pro.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-blue.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-blue.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-blue.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-green-pro.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-green-pro.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-green-pro.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-green.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-green.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-green.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-purple-pro.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-purple-pro.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-purple-pro.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-purple.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-purple.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-purple.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-red-pro.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-red-pro.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-red-pro.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-red.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-red.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/e-red.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/element.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/element.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/element.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/gray.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/gray.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/gray.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/green.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/green.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/green.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/highdmin.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/highdmin.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/highdmin.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/layui.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/layui.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/layui.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/light.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/light.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/light.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/orange.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/orange.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/orange.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/purple.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/purple.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/purple.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/simpleui.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/simpleui.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/simpleui.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/theme.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/x-blue.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/x-blue.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/x-blue.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/x-green.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/x-green.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/x-green.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/x-red.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/x-red.css.map delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/theme/x-red.less delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/waves/waves.min.css delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/waves/waves.min.js delete mode 100644 djangoProject/staticfiles/admin/simpleui-x/waves/waves.min.js.map delete mode 100644 djangoProject/staticfiles/css/chooselogin.css delete mode 100644 djangoProject/staticfiles/css/doctorlogin.css delete mode 100644 djangoProject/staticfiles/images/admin.jpg delete mode 100644 djangoProject/staticfiles/images/doctor.jpg delete mode 100644 djangoProject/staticfiles/images/patient.jpg delete mode 100644 djangoProject/templates/choosedepartment.html delete mode 100644 djangoProject/templates/choosedoctorandtime.html delete mode 100644 djangoProject/templates/chooselogin.html delete mode 100644 djangoProject/templates/confirmregistration.html delete mode 100644 djangoProject/templates/doctorcenter.html delete mode 100644 djangoProject/templates/doctorlogin.html delete mode 100644 djangoProject/templates/doctorshowregistration.html delete mode 100644 djangoProject/templates/patientcenter.html delete mode 100644 djangoProject/templates/patientlogin.html delete mode 100644 djangoProject/templates/patientregister.html rename {djangoProject => djangoProject2}/.idea/.gitignore (100%) rename djangoProject/.idea/djangoProject.iml => djangoProject2/.idea/djangoProject2.iml (57%) rename {djangoProject => djangoProject2}/.idea/inspectionProfiles/profiles_settings.xml (100%) rename {djangoProject => djangoProject2}/.idea/misc.xml (54%) rename {djangoProject => djangoProject2}/.idea/modules.xml (52%) create mode 100644 djangoProject2/djangoProject2/__init__.py create mode 100644 djangoProject2/djangoProject2/__pycache__/__init__.cpython-312.pyc create mode 100644 djangoProject2/djangoProject2/__pycache__/settings.cpython-312.pyc create mode 100644 djangoProject2/djangoProject2/__pycache__/urls.cpython-312.pyc create mode 100644 djangoProject2/djangoProject2/__pycache__/views.cpython-312.pyc rename {djangoProject/djangoProject => djangoProject2/djangoProject2}/settings.py (58%) create mode 100644 djangoProject2/djangoProject2/urls.py create mode 100644 djangoProject2/djangoProject2/views.py create mode 100644 djangoProject2/djangoProject2/wsgi.py rename {djangoProject => djangoProject2}/manage.py (82%) rename {djangoProject/djangoProject => djangoProject2/movie}/__init__.py (100%) create mode 100644 djangoProject2/movie/__pycache__/__init__.cpython-312.pyc create mode 100644 djangoProject2/movie/__pycache__/admin.cpython-312.pyc create mode 100644 djangoProject2/movie/__pycache__/apps.cpython-312.pyc create mode 100644 djangoProject2/movie/__pycache__/forms.cpython-312.pyc create mode 100644 djangoProject2/movie/__pycache__/model.cpython-312.pyc create mode 100644 djangoProject2/movie/__pycache__/urls.cpython-312.pyc create mode 100644 djangoProject2/movie/__pycache__/views.cpython-312.pyc create mode 100644 djangoProject2/movie/admin.py create mode 100644 djangoProject2/movie/apps.py create mode 100644 djangoProject2/movie/context processors.py create mode 100644 djangoProject2/movie/forms.py create mode 100644 djangoProject2/movie/model.py create mode 100644 djangoProject2/movie/urls.py create mode 100644 djangoProject2/movie/views.py create mode 100644 djangoProject2/teleplay.sql diff --git a/Python程序设计课程设计报告模板 2024年fyw.doc b/Python程序设计课程设计报告模板 2024年.doc similarity index 83% rename from Python程序设计课程设计报告模板 2024年fyw.doc rename to Python程序设计课程设计报告模板 2024年.doc index e851014eb8efa6b8800229d0f89d74d3736e52e8..18d5c1e091135d543f17598ff3366e915adfa793 100644 GIT binary patch delta 34916 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 diff --git a/djangoProject/.idea/dataSources.xml b/djangoProject/.idea/dataSources.xml deleted file mode 100644 index fedf0bf1..00000000 --- a/djangoProject/.idea/dataSources.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - mysql.8 - true - com.mysql.cj.jdbc.Driver - jdbc:mysql://localhost:3306/hospital - $ProjectFileDir$ - - - \ No newline at end of file diff --git a/djangoProject/.idea/jsLibraryMappings.xml b/djangoProject/.idea/jsLibraryMappings.xml deleted file mode 100644 index bf195531..00000000 --- a/djangoProject/.idea/jsLibraryMappings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/djangoProject/djangoProject/__pycache__/__init__.cpython-312.pyc b/djangoProject/djangoProject/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 063fe58e7f95232939b40fb1b01112a67e81df30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmX@j%ge<81lNB%rGePmCf+0#j%~aSX&2hn#xrr&?0U`4 zIw5;9Cxm){TRCt*NIg{aKj|eA2dt?oMe3TOXJoyin z4N~O$b@2B3ZL<2?5%xc(vv~JAO;Nv4fC98eNzUxiXx$@uXv#xD5A1tM?9NvSwCC>e zWk;yE`*d4~|0i^k5A;cX;FXv%B?Zb9=zl>=K{ETu90GnR3>fGG0XsxdWg2*aV+*~Y zRT_k!dCRoK0#=HE2p9lSFbHDc5Qu}JXFipd2EZ^lO#FsH!X1yecZ_1WR=jj*rct(#+K6nhx)Nci*mWPM^JU zdIQZ?FHf76F>`)w>*AHkvGMxV%}ZCTX>|3c`fM@DU&#Wazq4<>uY# ze_WBd&drnImI}AJT(9)RqL4Ip$H5bsWKb=UlN;48VDBOJlhzGhZYQz}HS>u>Xlm(h zMJe4?t7Y!{1yj*suI6lpx^S^JE^itYShBdfsUdr!!(~BID2fHSH9`Wb0C62d$}PlV z$Bb}b-xJ}OTN(E)xn>$A5~X3Hq}M*%%XrX>18}Wgw$FWrrwQ-XA+qfA9p4Z2>!kP- z%uedYk7473~;{6P6p|Z*; zwHisjd$ZUN;JQ-REIZMO0IYpXsJ@NvX=Xop=QyAlB}F5}Z(;A$)WsR>H4VeULA$cH zzD=I;rHe@)_6ga=bXLILEWb>~rJPtK-62;XQR@6w;Ph9;wQNxIwz4wtqs0fS_@|JKM)PVUbJK4FEO7&8cPbwv7c9Y9M(WdklpAHPXK| zb~6!Kp7C6ovVMP?T>7Kj8k9Ft@UZSw54= ztqLjGxpfgo(pj-cR763FQpCaKbSjk*R{4T}!-ZU~D6bSU^SSH-4itsue1YPC~G^VyIOd zZR;1(89{76tx(6)IRp+Y3#l~kqJr(EtB&oHlbCbzLR!eAexu%z^iuCHr>@<}Z(AEi z)oDU^+85M$o;?zRmPNWF;%eLPnQzDi)-`zDyhd1@KSM|)W2=v*=|8E!UsU3aj|xYh zFh5^^9Xh!iI{7Me`gQ2sZs^?W(By7tvcc@JHygn{Cfw-Xi^dx4TVF8dX++*8n24tl zY{jYQSR>qGsJK8k2ai0xu{-$nPW0?vJh2x(@s{d89clIXL4<4Y;l&RA68yDz*AN1kSiZzFWB2Efm_q z5PQ_KLnT^Aslky3+YFC30?k0A;cJEl8cZ{BW``PXvWLl;yuOEv4;CM09%P;*p3c7V zjuCvEK%K}21|OFnl^<)5w5PMre|#00YJ~Q}LxhPPc)a>(_3@oYcb=YozW9p0&$rLcrGSHrrir*kbV$$4f!FpAuOe!h|9iL;@3M=y8ZVh9Ek{ms$T@Gn=5P`RUFOJON0eudvHZD*1r}=?mq$@IC7zZ|LC@K6 z(f6Sj!2rjE@-~D$N-)G59WRb^XGSxPe?5W7CDA<}2a%;Fnp8Zgb2^iN0gv9~(LRm(nHN*iMVHEKWC4|dr4AI+YY+&REo-=2kwWyi#D1Uax zqkZrPa-=pD?N11l zR~~^g2LK*`vyZ?VM`fVbHc#C>zun$yZ(rEDu&15=RjY1JfBo^@Pxl(H?rCQZ^-@!n zapvY*`{wMfIeY(;{e_FW3l|@1i$|4G^OEwVc~k{j?Lf1B(VF|(%&s=G#qV9Y|NM7f Y{4oCM&DDn|Kl)i)JJdxCeNhnl3;QUD+F0P{re<-j}iJ&Bnzut z1oJ%`yh98P5W~z7cz~^Ug_F1g7bC!vsGrAJ+)kk%7AidX_NB;RnmfUO=B+LKGgtZ zY)q=xeV?gFd!@F8rbs0|NdKYN^2h4HD4#(p)GPsM`~yAWKKWG)+iT+d&In9U+yz%; zGnGP;N@2P)r-x;#1`K|Jq7uhMi z0z7jqU0ww_<(ZN>v5gGka9^0bc7^u?nismx*4pd4+cPs(GO#1_y$Eo7V{5HbmCtCZ4oVVnNoTAlFX!WGwowS~PLEZ25yPxa# Kj%wLW+w>0^uE7fc diff --git a/djangoProject/djangoProject/asgi.py b/djangoProject/djangoProject/asgi.py deleted file mode 100644 index 5b167c7a..00000000 --- a/djangoProject/djangoProject/asgi.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -ASGI config for djangoProject project. - -It exposes the ASGI callable as a module-level variable named ``application``. - -For more information on this file, see -https://docs.djangoproject.com/en/5.0/howto/deployment/asgi/ -""" - -import os - -from django.core.asgi import get_asgi_application - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djangoProject.settings') - -application = get_asgi_application() diff --git a/djangoProject/djangoProject/urls.py b/djangoProject/djangoProject/urls.py deleted file mode 100644 index 950a705f..00000000 --- a/djangoProject/djangoProject/urls.py +++ /dev/null @@ -1,29 +0,0 @@ -""" -URL configuration for djangoProject project. - -The `urlpatterns` list routes URLs to views. For more information please see: - https://docs.djangoproject.com/en/5.0/topics/http/urls/ -Examples: -Function views - 1. Add an import: from my_app import views - 2. Add a URL to urlpatterns: path('', views.home, name='home') -Class-based views - 1. Add an import: from other_app.views import Home - 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') -Including another URLconf - 1. Import the include() function: from django.urls import include, path - 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) -""" -from django.contrib import admin -from django.urls import path, include -from django.conf import settings -from django.conf.urls.static import static -from djangoProject.settings import DEBUG, MEDIA_ROOT - -urlpatterns = [ - path('admin/', admin.site.urls), - path('', include('hospital.url')), -] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) -if DEBUG: - from django.views.static import serve - urlpatterns.append(path('media/(.*)',serve,kwargs={'document_root':MEDIA_ROOT})) diff --git a/djangoProject/djangoProject/wsgi.py b/djangoProject/djangoProject/wsgi.py deleted file mode 100644 index 2cf686b2..00000000 --- a/djangoProject/djangoProject/wsgi.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -WSGI config for djangoProject project. - -It exposes the WSGI callable as a module-level variable named ``application``. - -For more information on this file, see -https://docs.djangoproject.com/en/5.0/howto/deployment/wsgi/ -""" - -import os - -from django.core.wsgi import get_wsgi_application - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djangoProject.settings') - -application = get_wsgi_application() diff --git a/djangoProject/hospital/__init__.py b/djangoProject/hospital/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/djangoProject/hospital/__pycache__/__init__.cpython-312.pyc b/djangoProject/hospital/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 73128457f1e506210d6d3b3d2d9a8af59a1b9394..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmX@j%ge<81kGH|X(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJV8Ms)*1XPw}VvRsTs!)_$L~`nh_hw@|F{zSfCI9yA+uxg= z_nY^ge@ms}1g>vCeXsCSl#oaG(7YnM#`c6x$X!AS)f`gRa+*e{PD76VgAP`hX>&$1 zqdbaIVQV}Z~pFq6%=_WfZfuyawxi~+Oj5N1p<{xL$JKhX zeVdqSR+ABnmTh-a3!b#I)n~!_=c|>?ZPPJSJYqY56!Ze(V&`43s88sstl|AFEVsXFBT>lDg zARCgpO=Z}%%1lNrN;wmPcfoQTTO+HtZ5{*1^n<93nI_UrQ^rlR?9r-&cG5IIt6I+P zo1|k4-=wyvI95%j1haU)WEO1ZP$3iQWx;lQ#%0XolyTcFJ|Nrh0rL3#_?xpcHNWJ! zW`%pRbk1^%-VFEVSl*v4d7@(bmNTp5yHKfd=v$%ywq zPc`~a)vq^tGhg1iGr==W{!x`ILgz1Qpri&$>PpE_HY}4fmT$LYG?Y3@EEy7PUWTk9 zlaUH!!DOsr32__p3?$?U+(H^bZDs(iXPVFrhQMOLG~TUG%FGqa;GK>PkpI*f=#W83 zWf0CrWMbUQ`yLPKAl^=Z5>I*z?Nh5=c>IH)RE@ z>iDLs7FStIgDUNzzfc5z9$@-FCC2bI0?I0$2f(@zSl&ZRXBKau8Y3NQApNLnKy~Y_ z>TcIY>O*zP9a=;yLCvfE%2ZGZjGI14C;RfADK!s-%yhP2b_XNq0_5j&`z8;8Um7s@m?LCZ z*giA>qFG{)8&rEDHV@f{}PQ^-?27K|#@=&HW)nAFB(tf{1ox978r?oJqK1dS@= z?Glx-<^gpKlE<;Pf|2|-ABXkv|3y3k*a~Ty_7@rclMMVlbg3TsB7P^nMg|*0BQ1N! z2y26jY<=+b>fq@e0uMV$^juy~kFBQ1_IOUM_m8gjkM8mOKkEJU%*oZvNyXVp63xIb xu9NgCNiTlzea{-X*dS^byS{5nvuot+e&5xl>uco9e&0c{6HDbk$T>Al{{wm%ELs2n diff --git a/djangoProject/hospital/__pycache__/apps.cpython-312.pyc b/djangoProject/hospital/__pycache__/apps.cpython-312.pyc deleted file mode 100644 index f13faaa346aba3d1a82fee97d02742493597d892..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 494 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 diff --git a/djangoProject/hospital/__pycache__/url.cpython-312.pyc b/djangoProject/hospital/__pycache__/url.cpython-312.pyc deleted file mode 100644 index d248050712693a1185873e30208b3820864f8d36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1884 zcmbu9O-~a+7{_PZEf%_^2y=|@)U7EiFeCxg~80Jg!Uf}!Bflhd7z8m<#4)`A6uXVut zfDd)R3mx));3FOE-wV9h0UrQ<VJ%n-Ci;#oJi#^jYQZcWbN0gXR+0CNCaU`( ztH`QZ*0vQjSr;U&XllB%3Ob@LZ!3l=>&berlPLmXt^0~4O*3Rkt`>B&0?B0kj+0`I z3aVr(6*)PhsOEILYEzNslJ#6sQ@0eoVz<}fAewq%rA@PjjGQq{eHvh6w`?+Mv!w0n z&~fmhj`fgpXrrX<{jpcwZ(p}{n<0DoSKUgYuj!L^3hK5tzN?oF9ezAW@3ICD49&nI zb79Hy@HH6QyizbWEr*-IoNaGg3S`(l+KBQ@n`^hV&1J%{)A|Lt@s}91Pj_zHh@H8x+6QJ-3nsh?s__B+04vbhXl6Q} ztC=ND-K^?b-gYggYddn$%$GEys+fgx9>DQx?aVt<(WKq7Jf~Y9x%F-uZ(uxea~$^- ziC@vcsTX;=_xty=RJehK8&pVOAwh&u!r%SEd-tz5uF`N4hm$m%#^E#xPZ56F5=I&x z8XCi)F&di0p-B=-6aGF3N8Q7XEEOlQI7!7>EY1>fp70O9SxUHZn?@#ZWP(PfaAb-^ z9uR(pF=FEtjizxlO{4QTI!~etgnz`8dmpnj^$e$;(bOtVt&-F_;qy#cKgt(qzJ~L) zp9pPmk6fqr1U7AO85c~Rtcz7%Kk(4lERN06SQf{!B=(r_PndG+AWP#}9EWik$CpX` oDdBUV{PW&N-8U^HgX0+*U&8Sv5?>+w)05%efa{%4w|>RH0OWhPZvX%Q diff --git a/djangoProject/hospital/__pycache__/views.cpython-312.pyc b/djangoProject/hospital/__pycache__/views.cpython-312.pyc deleted file mode 100644 index 06345d723d387536034197e7d547dbdbc00b7a7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16079 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 diff --git a/djangoProject/hospital/migrations/__pycache__/0003_alter_doctor_img.cpython-312.pyc b/djangoProject/hospital/migrations/__pycache__/0003_alter_doctor_img.cpython-312.pyc deleted file mode 100644 index eaae99005b631e77f3801811e4216ec35b2756bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 768 zcmY*X&x_MQ6n>MWvq@-Ww}`9g>Y=NU%Wl=1$ciBTLd%|GVMsf(-IOE~lT@fDg%uS% z>_OP0N0r@+Xa51gQ$c8%t4Q%y=!&oxok?0&=P>!cH}Adq-Z%MLsn{UbpUaJ{PYB?< zBJ)+6f$4?>dq9Dr07B%VP;)f|8r%V@?Euvo>f(9P@poS@u&ehCr}R@1M-z7FcM>o2 zd6Wtqa>|0VeOv=z&d9VS!5%Ph5d~MHsDoTx17>t{!T*+kltI-Q?wYF* z#mT|KT$b!-_D#nU*2B3XDbL*IY3yfSAjJm~6O{5KL zaX(Sdo^J}IH{`Yh6AaeHiLRZ*&mK%{u+G1-hvv$_Tp2B27%iO|RcpJKhSl1jTKmAi zG`>|I9WEG_J<)L$Kfj-xo_B0GhOi20YqXUQnh#gpxvbLi+%pm#nb!-qHj=ZF${!ih eb8?&L2%+B?kaLL32=Cg%#nr*$>MxKaul@@d6v!n2 diff --git a/djangoProject/hospital/migrations/__pycache__/0004_alter_doctor_img.cpython-312.pyc b/djangoProject/hospital/migrations/__pycache__/0004_alter_doctor_img.cpython-312.pyc deleted file mode 100644 index 792347e52d10fcb32795980739d343ed47d0be9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 771 zcmZWnO^DM#6n>MWX%f1!Thvu__0UDgr54uHA}fOUhnBr~356l;%yv_fOiWUto)lJ8 z@URDAj~-QakKVj^_f!yC<|)fdY4cD0@Iuih6p{wD=yXId;^6W|w|SVk_JVyl(8K z9t#t$2aHfZ=`4Bxj5(RL1vmf-4kF+v1a*<4DnPYfCiw3b5Hg6|(|f1>%}Yi!QaaKP zm3-%@T*wmhjDcaB+ct3glQcN=YkQW z4H5QWs)Jdds>*5o*@LMC=A~EG$XFX1Yva|+6?RkMtjO)2uTk!=!#ao8tq6kwJA@o}Z WWFPAlr0-j!<@Mq6`Y#Y9>;3~zX~_ft diff --git a/djangoProject/hospital/migrations/__pycache__/0005_alter_patient_sex.cpython-312.pyc b/djangoProject/hospital/migrations/__pycache__/0005_alter_patient_sex.cpython-312.pyc deleted file mode 100644 index a674817e9c9638362bef9c36208ed88e16c59fc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 769 zcmY*X&x_MQ6n>MWX%f1!7JuW4ltsv;^q?1!6;TvL%U-;M!jN`m+ms{|lT@}Bsj|Wz z_qKn42Uogy_J8nH6k6sgF7B<+6=6@#Bn_)`n0()x_g=pD&3s*1u|TYYZ!fn#BY+>0 z6sxoZiwyzxfdD~11js>w;wT6dcmhP(0isgW*NdXF?^w;TqYgE@bS#Oja4Yb-v734< zOt>B}Lj9z3Rs&!x$)YX5K2UHF0Y@RIiyTz}s`WF$|CWG|LFAdCUpB) zY8h0-cJ%JUuhILX(Z`>=<7`TI8~ZfurafMHP2)C8C=T6#+Ny9sPMtBX$rvwfdDJIO zp~b*i9Aj=_Eb<0E6}W=&tAXpwT*(NHXh>+-@n{lDlezUk%6u%l#F`A44|{ITxy2&7 zH2f1R#37tMeRQ|AIZS&j#8J#zr0<4Zwi&ZN?WC>3fY#YXwS*OSmR2ms$71?=G>qlF zXPX4ceX;GpTnDp0SCtF;==t0N^Tw_/',views.ChooseDoctorAndTimeView.as_view()), - path('confirmregistration////',views.ConfirmRegistrationView.as_view()), - path('confirmregistration/',views.ConfirmRegistrationView.as_view()), - path('patientshowregistration/',views.PatientShowRegistrationView.as_view()), - path('doctorcenter/',views.DoctorCenterView.as_view()), - path('doctorshowregistration/', views.DoctorShowRegistrationView.as_view()) -] diff --git a/djangoProject/hospital/views.py b/djangoProject/hospital/views.py deleted file mode 100644 index e5830acf..00000000 --- a/djangoProject/hospital/views.py +++ /dev/null @@ -1,210 +0,0 @@ -import datetime -import uuid -from django.http import HttpResponseRedirect -from django.shortcuts import render -from django.views import View -from .models import * - -class ChooseLoginView(View): # 选择登录 - def get(self, request): - return render(request, 'chooselogin.html') - -class PatientLoginView(View): # 患者登录 - def get(self, request): - return render(request, 'patientlogin.html') - def post(self, request): - phone = request.POST.get('phone','') - password = request.POST.get('password','') - patient_list = Patient.objects.filter(phone=phone, password=password) - if patient_list: - print(type(patient_list[0])) - request.session.clear() - request.session['patient'] = patient_list[0].name - return HttpResponseRedirect("/patientcenter/") - else: - return HttpResponseRedirect("/patientlogin") - -class DoctorLoginView(View): - def get(self, request): - return render(request, 'doctorlogin.html') - def post(self, request): - phone = request.POST.get('phone','') - password = request.POST.get('password','') - doctor_list = Doctor.objects.filter(phone=phone, password=password) - if doctor_list: - request.session['doctor'] = doctor_list[0].name - request.session['doctor_image'] = str(doctor_list[0].img) - return HttpResponseRedirect("/doctorcenter/") - else: - return HttpResponseRedirect("/doctorlogin") - -class PatientRegisterView(View): # 患者注册 - def get(self, request): - return render(request, 'patientregister.html') - def post(self, request): - phone = request.POST.get('phone','') - patientlist = Patient.objects.filter(phone=phone) - if patientlist: - return render(request, 'patientregister.html',{"err":1,"tips":"该号码已被注册"}) - else: - password = request.POST.get('password','') - name = request.POST.get('name','') - sex = request.POST.get('sex','') - age = request.POST.get('age','') - patient = Patient.objects.create(phone=phone, password=password, name=name, sex=sex, age=age) - if patient: - return HttpResponseRedirect("/patientlogin/") - return HttpResponseRedirect("/patientregister/") - -class PatientCenterView(View): - def get(self, request): - patient = request.session.get('patient','') - print(patient) - return render(request, 'patientcenter.html',{"patient_name":patient}) - -class ChooseDepartmentView(View): - def get(self, request): - department_list = Department.objects.filter().all() - return render(request, 'choosedepartment.html',{"department_list":department_list}) - -class ChooseDoctorAndTimeView(View): - def get(self, request, department_id): - department_id = int(department_id) - department_name= Department.objects.get(id=department_id).name - doctor_list = Doctor.objects.filter(department_id=department_id) - doctor_time_number_list = [] - for doctor in doctor_list: - doctor_time_number_list.append([doctor,TimeNumber.objects.get(doctor_id=doctor.id)]) - tomorrow =(datetime.datetime.now()+datetime.timedelta(days=1)).strftime("%Y-%m-%d") - return render(request, 'choosedoctorandtime.html',{"department_name":department_name,"doctor_time_number_list":doctor_time_number_list,"tomorrow":tomorrow,"department_id":department_id}) - -class ConfirmRegistrationView(View): - def get(self, request, department_id, doctor_id, consultation_hour): - time_number = TimeNumber.objects.get(doctor_id=doctor_id) - if consultation_hour[:2] == '08' and time_number.eight == 0: - return - elif consultation_hour[:2] == '09' and time_number.nine == 0: - return - elif consultation_hour[:2] == '10' and time_number.ten == 0: - return - elif consultation_hour[:2] == '11' and time_number.eleven == 0: - return - elif consultation_hour[:2] == '14' and time_number.fourteen == 0: - return - elif consultation_hour[:2] == '15' and time_number.fifteen == 0: - return - elif consultation_hour[:2] == '16' and time_number.sixteen == 0: - return - elif consultation_hour[:2] == '17' and time_number.seventeen == 0: - return - department_id = int(department_id) - doctor_id = int(doctor_id) - patient = request.session.get('patient','') - doctor = Doctor.objects.get(id=doctor_id) - department = Department.objects.get(id=department_id) - patient_name = patient - doctor_name = doctor - registration_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") - consultation_hour = (datetime.datetime.now()+datetime.timedelta(days=1)).strftime("%Y-%m-%d")+" "+consultation_hour - patient_id = Patient.objects.filter(name=patient).first().id - address = department.address - registration_price =doctor.registration_price - return render(request, 'confirmregistration.html',{"patient_name":patient_name,"doctor_name":doctor_name,"registration_time":registration_time,"consultation_hour":consultation_hour,"patient_id":patient_id,"address":address,"registration_price":registration_price,"doctor_id":doctor_id}) - - def post(self, request,department_id,doctor_id,consultation_hour): - registration_time = request.POST.get('registration_time','') - consultation_hour = request.POST.get('consultation_hour','') - illness = request.POST.get('illness','') - doctor_id = request.POST.get('doctor_id','') - patient_id = request.POST.get('patient_id','') - address = request.POST.get('address','') - out_trade_num = uuid.uuid4().hex - payway = '支付宝' - status = '已支付,未检查' - register =Register.objects.filter(consultation_hour=consultation_hour,patient_id=patient_id) - if register: - return render(request, 'confirmregistration.html',{"message":"支付失败,该时间段已有挂号单"}) - else: - Register.objects.create(registration_time=registration_time,consultation_hour=consultation_hour,illness=illness,address=address,out_trade_num=out_trade_num,payway=payway,status=status,patient_id=patient_id,doctor_id=doctor_id) - time_number = TimeNumber.objects.filter(doctor_id=doctor_id).first() - if consultation_hour[11:13] == '08': - time_number.eight = time_number.eight - 1 - elif consultation_hour[11:13] == '09': - time_number.nine = time_number.nine - 1 - elif consultation_hour[11:13] == '10': - time_number.ten = time_number.ten - 1 - elif consultation_hour[11:13] == '11': - time_number.eleven = time_number.eleven - 1 - elif consultation_hour[11:13] == '14': - time_number.fourteen = time_number.fourteen - 1 - elif consultation_hour[11:13] == '15': - time_number.fifteen = time_number.fifteen - 1 - elif consultation_hour[11:13] == '16': - time_number.sixteen = time_number.sixteen - 1 - elif consultation_hour[11:13] == '17': - time_number.seventeen = time_number.seventeen - 1 - time_number.save() - return render(request, 'confirmregistration.html',{"message":"支付成功"}) - -class PatientShowRegistrationView(View): - def get(self, request): - patient = Patient.objects.filter(name=request.session.get('patient','')).first() - register_list = Register.objects.filter(patient_id=patient.id) - return render(request, 'patientshowregistration.html',{"register_list":register_list}) -class DoctorCenterView(View): - def get(self, request): - doctor =request.session.get('doctor','') - doctor_image = request.session.get('doctor_image','') - return render(request, 'doctorcenter.html',{"doctor":doctor,"doctor_image":doctor_image}) - - -class DoctorShowRegistrationView(View): - def get(self, request): - doctor = request.session.get('doctor','') - doctor = Doctor.objects.filter(name=doctor).first() - try: - register_list =doctor.register_set.order_by('consultation_hour').filter(status='已支付,未检查').all() - except Exception as e: - print(e) - register_list=[] - - return render(request, 'doctorshowregistration.html',{"register_list":register_list,"doctor_image":doctor.image}) - def post(self, request): - register_id = request.POST.get('register_id','') - register = Register.objects.get(id=register_id) - register.status = '已检查' - print(register.consultation_hour) - consultation_hour = str(register.consultation_hour)[11:13] - register.save() - doctor =request.session.get('doctor','') - doctor =Doctor.objects.filter(name=doctor).first() - time_number = TimeNumber.objects.filter(doctor_id=doctor.id).first() - if consultation_hour == '08': - time_number.eight = time_number.eight + 1 - elif consultation_hour == '09': - time_number.nine = time_number.nine + 1 - elif consultation_hour == '10': - time_number.ten = time_number.ten + 1 - elif consultation_hour == '11': - time_number.eleven = time_number.eleven + 1 - elif consultation_hour == '14': - time_number.fourteen = time_number.fourteen + 1 - elif consultation_hour == '15': - time_number.fifteen = time_number.fifteen + 1 - elif consultation_hour == '16': - time_number.sixteen = time_number.sixteen + 1 - elif consultation_hour == '17': - time_number.seventeen = time_number.seventeen + 1 - time_number.save() - - try: - register_list =doctor.register_set.order_by('consultation_hour').filter(status='已支付,未检查').all() - except Exception as e: - print(e) - register_list=[] - - return render(request, 'doctorshowregistration.html',{"register_list":register_list,"doctor_image":doctor.image}) - - - - diff --git a/djangoProject/media/doctor/13f497750c910e826a8a71f5bc85885.jpg b/djangoProject/media/doctor/13f497750c910e826a8a71f5bc85885.jpg deleted file mode 100644 index fa9a5c280e5d353172e582fb4449cd788f600bc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139382 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%0DqLQ)OTx(xT+*MvFT50!xwzc(4#|3q?OF z`F-klrXJqeJtp=(ze~>tF1r<31o#KINPd>BZROFiH02ZITX=IGI{hXsdDXwfKlk@4 zNWXlB06J4H;ZT!?e;zVADi`8svs$iN+ECQ79QakDI)Q9OD8N-klg!D&L|gI5`a~es zC<%ThVChfL&)*83MsHdD>$ogi7G9h9LAeXZ*U6TxpSpzXmb%E-m2at(C zCY`vwS%J?tF>XTAKcgb>n1K|S4jvSqb&n9R|AMbWNV=`Tc8L^v^ApRRp;YEx{ucc3 zK^$=eCkXDE1GW*xp}VWO^b^}^_pign$+84ZVozUVAouCX(YfWj6I-cT!CTyr{LnAt z^5lBiJB2-$KRn*9ZCaqfl3U%Xzvs{&yr&e>BJp?-djm7*z?o1@mNGg`3p??#V4`6U zE~uya6D#+xrzHDMQn2V6&_Oi&7kK`l-zQWRg&xFVVyUddxb5@QANDtYw)^6K?N!QP zZzPv`*b5Q_*3pekqMe@oAJFo(T3Cv>eoaFrb=!P=`1QzrQ&Cr|TM^4Ujgu(*WAwLy zmCL3fOa~MO>K&?ibR-khawU|X+)E55J)n-)l1+(4`LtoHbM0kzc55~2Ikc0aa@#@t0Z0Q9u)sUscDY-g6B5gD2FotY*0*VE^} z{BceoCAc2N*^ptxERrpJEX1jM{0?m>m;z9-p486rf@>ctnV&U|Y&{Q! z%Rry5&Dapl7C;

m6L`@!lv}b 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

8?&GqM5*G@}#?3%uucwy4RCO!kLdFJCc3)Ccj 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 JG-T2b{dWZh&;W%b)-MA;9Qf&i|nf05k0W1J3{L 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 @|@^juT7{QC?YjBeUE@(|P5|@r9f< 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�#zI6W)F~CN{b3VnNrgQzd_)lFb1@6+YtP-@&rI5!{(CaThuATy@Tx zgQ{ZsjY*|A<{)vLyrpR1&r-vz-mMrd;5qFngyhnKVkIEsPWlHWyE%EZ5TPjPg#_|< z?)Nwbp)oR5A0l`BOGoUp(9?V~6P4$dni(>*PEfJ! zYiYXQ%sy=1V^?kZZ>r=dkD=P9@k&3--x#DD+q1on$##~YeBHH5Xz-!aUh1o504uV# z`j2PN5H$Hx;h{moOQ`IJUz$uwS23DtAOd?4rin>9Vz^(4<<08y#?>3IbijA!n?7wZ zTP*DG&aVky=wH2IH*ZA|t($wC>{1dPVEYAW7Du?UTi<);mJTz z6FqD8VrM7_EJxZN3QKQmqIkiA&#hIrMI@pPZNpp9qJLp|D)zngyjPI&*+cz^h6V%t zt-TYc$>Sf*G>ZkuN0mS8OF_fwx}i@>o-Dc&IGK8^FpIRM6dgAFwl8;ZZgeGRgHzX^ z<@GR)dy9Vfbo-)y$(mh0SD3w=y5(UEQH!Y8q^A>J_!LNqHl8=60%4pZ^(Z1asjh%6aL{zw662hl2^PX5X5uc~R<;Pxtx6_0s{VA^jmj{UkP=V+E+s z<9fu2yM-nl-C_<*?f9y>>?>9NWMRzjV8B%S9qu@(HYkWr%y4_5&%my84zG$zr$N`3JU z$H&d79i@HQ3n2&7!-50cc`qvkb6eLuz5$0PY}7e|^6tov4| zcj8PGy?rV<0$uo!EvmLJbQ4_C$q4^JrZ9#x5T&~om~rzV{?lw8ptm{Ju(gC;O`9RB zLc`z~XEeMtzn}Ep6x`XcmRDF!C;j_=x)rpBU6A-}sFyDz^0URqk}9<_ID3)or>#SJ zM6nTlBU@v#w#7$2QQFD^>)bYBO<4k2X3lsDA-2$R&TaLS!y&pJik7id`%0svHah|? z+AtZjAr|N1RoKM>n4)AnwGd&rRT5Y4TBdVu{a(=bI5q$!jMfstMP_q${1TZJn>6dWowyr+GO4U5jK7ll_pnPnsv3Z)@_a9kbF5fxLNg-?si_#J3 zdc;?`3`%<6m^D3}6Z1~TgXSe`R17mEbPxjGI1K;rSdsU29}7(Pvrhkz=m(gDKIE0a ztAM~`LZt>{mUn3?(JDOfdC}1%1UTaMh?^PL)Z6(`)AW=H-7Z!|#Gd=`2yP}~idBsN zE7U096S7h z3r~tKy<7fMny1~ud+rwWE3?vsJLS%!Uoi!_X)DXB532Rt&^oTuB0 zTl+nfK`PKNzO3K^2PNZIDkS;A+gF8RCH(wZ>qIN- zq!m3@ygXKB`s4GO3GuQC(?%CNvdgaGN_)%C99hjiu-L*?h|u(LIi-E{tDREq!OECE z{?BHO84FnvH3dVfFOR0@s$RFu|6Cl+3)upviB|I99|5mam!Wh{yp<4YK1Mcf8KG`< zWA1tU50bJ<>GG>Qbf1b{FPtv+HCPBpvB5yiFFprv2RQ-y@{bp!Hq7}b^{Rq=`j=); z_oe8W@Z!YR9Leyrl;EWy#p!Gw`mPfEydahO*8#i^_(Dtp9+_b%{5=Y<1uL z_@>XPV@E?+8p;J7n{Ik!({rR+u%+5dhz3G84p}xs&bKE|qJ;@f4*^YqrpldPdatOO zI(;5ijc@}Kwv5BqByfBCe9k?q47A1@nA0so29B}GJ}f1&cj}AwUNn)~7|Ji&lj2E8 ztNmQeQY3T!mSKHTYBDM3*n`A@#w-jdi0QRHu^hES5fBv}0pNJnuKRKNE1!Ya<|ys; z+}2AOh|4hUSgyky3&FT+z`1qH$$I~JL{%(2?znB+T9l0)09HxKIdf1{vOFOA+Gm@D zX$%OGj@we0M0EP;93;PCy!ghh*V)njlZz$Rs*+1zi%&)w^58)d%g=bGna9xu?bMI* zJh>1t1Xd4*NsiHgmO3QkR~ydjxo>4~$OoIIeUENJfiDKfKQfJTl*~VpkO@HT%~J*4 zZ?V;H7ey3jJ-vdCSI9*Jnl+ko5~_cPTr}x;D)>-5#eJNtoWj+&&o(#Qg>j zWx$p(tYjVzamACp4?kZA@ZSG%5NNKPM&GdNcl{Q6rt+S?cy(SP$K7hsg6$gIRT3O) zKKd6TPkH8B!`5&d6xT;)q`QjXdz{C`hVc1r z0f2-L=#J1wiRoepW^Im9T$YT#TASVD1Q4%`C&YWgFj%T zNf+kzD0jZt7%n*?mDjNF(+Xc`He?$?hJd{%&S; zRb();e;s|UD^=RLw1TSRE)!=xT=Ny@%Uiz!wvQ6G)0FhaDpWl1tefgq{9J1%T+R#h z>cU-F;guBfXs3JYei|&!BHzY=!iWLz*!1l0R0N5EbL&KNx$H%rndvchir6JcFFXX= zN~7n8{WApuUca6LIV9l;bEPPO;BD?+nj ze;h|9r_4QlYn^@Y$BnA9iwkbo*yYM|`FBMY#`CvdFK`!_vvj%Li~%WH)yI0y*7G+W z^*YS6sKRy>5>+LG$f@Q8z>9h-*^pJa@fzAG%lc_dBsw_lDA4UTLz66!*a9Rb9;f?x zu}z-ZaWzLO!mH~*>>}mRVWwQAffzL88qYi{1?el%Mj~goS+muIv=Nc2=>_eF!)db| zrjdmbuqgrcJ3kXYm?`6%+oHkdGqM6TF}h54vuwdgHDyTb>c}UG z>HKsp7S0t!fQbW>zM(>`l*rJ<5&Vc_@vEQgE9rKO7MT*ju4-5cgZov&A)}h#cwqwF5>py@zQOjk>a%pNIQy`1Ih>q+85w4?A%qqj9W3H7k`wV-zflba*$QwIy zVtlJoWoC$QLnX_G4d8s*(y#9DePg1y$}hAP}iH7*1c*H-rAACj`FS^9*5 z^bY-hQcu`xD~%2V)wYn0Wt^#Fc_m)wWsu+j1wL^DP@A42@Hx_oK@}$y{gQXAfNyVa zgN)S<2Et`o`EA57@$qKR$Kjic#Tlf~#K*2Vm0FgZ{lk1TcThVr+loQT!_&=kjm5m5 zDn%Tkif=Sq;2FhRiiz?Ts#b>l+v{#$H9IJL=Cxxl`+;bSQ_g!%G)qffT7-|&s`WGq zkqU(VTqPnfX3<(YE$>WqQOtAvJhOG~7W;`{;7C+6)|gc_b*{>dixqBvkRed+F`maQ z-{4wG(jYB2hX`uwA_e63wAZmTNu6L4+ZgR91UUZgNqBqbZ3Js`xOC2^YW z!I0~*cdR;F6mqzxsFKdJ1v!`eR6+jj;dq*m0YWz|E{yO=pvm73?X$gm3dU^xm>R}J zzrn!_sZ!eP2QOo$4k%|3WuBwCEM6Wdf)2=OZJ|iQyw}57?1u0|XqglZd^wAckeYx_ zrfoQ7LtmfD!P)Im@jrkMdu!ec%hq?pkSuM0HrJCWJra6v`md?29abljP(QVLLx7M` z&a>M@`;fj3*B-mKp`VtXJ;nOXIJEk~r|(}yXm4#zS>M6_g07lste+jZy*+#FrRChP zGV);5RK35xBuxN))$(-SXebt{p#Ez?`&1|mz}m++<{8|y0Jcv)^@l9heGNWi^d z@It%%dV@BsBB|1@uio&WnPMFX3Dpn;``N*~C{TrzkHxnS%PDVruiWuT{-~`kO;_4H zOx3^-dBE((2Ld!a2=!GiXQ{Aod*b_vJMjzmD?&@`A77l-A0<)2-d~17&c+gf1yR?t zk9f3al`GQwz0kONz`^YgPwanKma-j21xZcIl41kIG1{8Hv!g5!5VZ-;OL44o<_mIh zzLTmmQiRHv@P(SIggQ{UkjU@Qg-dWQbJVDyRnFHQn~DXP8WO~X^%K72m%K{Qdg-%L zwsgX3nvF=3b@jr{I^6(l-6<dK;Y4@-(fK;#X)gn^RO^OZ7+FyT>z0r`aOTO<`2y zVEvWe%khogtwBbuDxT6(mQz?u4lCi3i#J`(a$vs4pZ zd~QT&E*PwAqh$)-5}@bAF>Dx;eBA_F9-FoN$W7%{si^El4YQ4w%D!Tf)g zvP;sAO!*CUg&5zm>A%<+nVKoP^N{_u0v4<$sq#ryUFF@MWZ*`n$4Lo&2)`KOOs0e2 zM&5fXMz$$?Fx5z!jjPZ5s`M?7pi?*X9LwtJWX&lIekgcs@D+>QCAj)ZG5SWkm$x5W zjCpt7NAum7FQZx80@25ko$@S}xsxi)?sVXj6W`+Uh$VobWw*k{IfciDP9~qzR^}_U z=2Pr6&LuLZRN~)5KW&X*m-3yjgI$l9DmJl#SdNrcr*xi6F3{+RaFr)Z*z-b*R5&0;)OG)}>vmU5;#Sob?bUmGpDkAM91BE(_b1q0pl2Dw+s{4j+%U;K~OJ z-^-M5N(aQU2V|8DG_%Rt{MJ$`Fb=|51AIf(W&H_?2L3AZ-9m+4piI~^At+^}P&|Q}kIBQdd7+snOH{$@S(?*ijs!PiHmrGs3$qDAYpItAhq4F1 zzj3T#$qGi{qmtS}nk)#lzt%^ln@dm+hk!iF)u>J~I{DkI73xN-XH^F(X{^IqfFTsQ zkSJbRcls6;0nGdU!mSd>0@)0YObVrle;w7JM8eWr<767vcnIL43i8K#bftf4-`?fH zSFBXX_j!*Cli*Ze&89>xCYUZ#?pYwVt%WUa-|nIoDJ&ih%)ZVxP8d!vNgJD~rIv$e zvwKjhR^8s-^w7zs+EEZV;?Keu&#kd9?S3X8Wwo(hDvq>wYB2Ipw571C<~=pvpUM;T zu$jy*u1qN#*D@MOp@4B4E@JSNMrd>9<1kuE@xR%CEJ#`Itm^~E#K+<<#wh+WYJ5q_ z)kS{(-;&p)3lw<{MHZXN3s2cn&*r29XX?JneXIXAI;(P0lQ9gq+stG=9#_|@yRE_3 zBq7;%#_p0HW)+XYBm@6Ba1t~|@t7S=zS%sX%bk{sCH4D?Rp^;8I54{vts)L`W^Ne2 zv~d!X0@CUF?+8hyyDBw*e;{Qrb5gQK_#G#~d2ot}y*+s}HO;2kdHdxHAu;JIZibw< zf=frUGo~M{45-h>G8L)s-bFOH&Re_6+Ro?kI-Ct z(Phyw=08x>SF>JbUMH^WYM%Y(Ka=zpyiI085I4n+WsnQK_^*LXG=(qtY2FHR8>V@_ z!SH+H?y7ek{q;#2lPQdpQWAJQI+hG!vbgC@^W?gEAES!d=iPJdZvI(OgKJS^8gIFk zIuZtO4BKfV0<`?ZX(Fp{@9ytB8JJ^5pi)>`!&FL^%2_&>_q!ro*adaD1a9VFY}STZ z@=a6_F^95Ad<#=~x5j{74ILf$yl&-rD)_TGh0)HXDdW^g+~J?(#}?M@6Y&sK3KBet zgAe1&H`R^*xsgY>rp>1}{Lvb^t89+1!a>`sfLA#$NC~{^HH}eb7F;K%zkDT}UuV?W zvhcRC+Z5C4Rj>QxpyrFYw(`}ybb(J>ehvPWjIsQCpRjFNG-+}n@gR<>fkO)b>M<5j0lB!!wBf)aTpsqNPL=Fb>l^A8B)oGzsHcs zdVByB;y+km=5!8N>jBv+vuSGdmN26^-s}I;r`p=LQ;5H^p6q*^_!I%HM89Vk_!PMr zU-MP60c0^W(f5=8#Tn6GaLxD&+tNJe z%1B%F^uc&yyLmD|?!yy+!noM~7?Tli->5i^R9HpI+Eqz1P^%h@72=lsP>s4WoUj3 zmiy^P7vj9f#C58v_^C@_0OMypB2ZxjhRsk@1cPwijstgH{%(H8#PcXKVmoDzR3=$N zv@o|fnZv?<@XWQ3cTMnT-d7Pg8=9Y&^idnCOvpN97jsxe)yOq!9bap@ zqSV>m(OuTM1j8yp<7fy8+H+aqC5MeI>45siiO8>7RW^iQ_M&2oV0$Gp)$n1le&@5& zaYIt7c5Z`|WOf6cH_LNi6e5?@nvdBilqqAQ<>Iizz;9sg-uz3`zQ()Rd(J^YFV)=I z$_|<+mZ!x=Eu3o?6o;5RQ3V7-8=jAjELVtlgCu=lPytxN{d~@xD^@j!c!+17O9b4p z0!$y^HL8#rtQ-gNKVwN6COQ};0;^aOCh;zULL{d+-zy>Odl7L-Qo3!TZDR$T^S*)V z^l&W!N3Nw4!2eg+bwxGRb=v?DX(COfONWFay$VvKB%vn}A|OZy=^aFxfYbn?2}lnm zG^I+B4pOBEA|XU+(xeE22#DVJ{olR!>5e5+XX{K@NTl)Q=s>qT+1WZsYledQ1e9e4P;Zd zh4Jpb>nMr38Zk212aAM?G;aoA;1j1w{ev`02adZFr!R%O2Qct=sCvXU_~&>nEL z4g7nbB)P7V`W=^xl&()2k_zNRl2Sb9`ROa&c_D21MHj2xuNB|v;pz4RqsLQkG(A{f z-l0UTpZX-U$(Nxj@D*diEX{Np4S+Aie7?_a^@;wm9~@q!#n?ngjTRU4J*~DHQk?b& zKuysPCpnJeeDm(~-C*-S%oM9sZ21tU62~+DX-JfNxQDRz(e0G{2j}pf)HLBvP|5cW z>^oCU$7M3@`9gmlV8;-U(FN)Z~J08EJ)L^(7 zA(B%5YR5?uwW9=5y*DL^Jvbnyi@6jnQBmq#dwMRW44S&Jp@h*t1MJ?&Wpv=7BNrX1JRi9 zWb$Ol;HJ-*EWEv2lj0Wb4uhw!2oL&+!epKFy}-EHpov7g)&P~*S$NG@ZbAZ0v>_EO zjHTR0L!-6BQg@qev%hxn&Vx@WXV|%x>o~`Ixz0Kii3S<*eSsQ?D&=7RhHU8}cV^Am zq9PXg_bh|U1B!+Rh5YIHizF)%mD_K2#m61!Z`s$)Qa3~Ix?cO{N zb$gCHC3+B9uW6`=!&aS9(5`+ZW&dHh54-t-6h^C?%iN0r__BsDsBSaa#Hw}vHA6k1Jb5j0c!qde#g^hc~ECZX+A_wlTZ z$g_%$aSh<37q_?(hl4zrYNbFYc{m5T1lw+BDY85q%2bOXTT~bBjuRXvtAV?3cpmvA zjhmYYkV86{KLGb%@x=0UMy@npk9FRuKT-<@3q$hB$1UR~iXNf`=t`DF-ky434)I-hs{V;lVmK-%2e zKwoD>Oe@PvD~c>M-sy{7=iY{eEkGP7AU|qa(GtwC$jKye-rAK?K#ufUB2~^KE(2R9 zC5+bjJ>9M>OZ#P@7FQsUJ{X)x2Cna zi&3CCj$};LgCU=CzP^e;2aF#xo`DV}Q)=pFem4)U>u>XYMyi~08>7=}sy$Wy08~Ru zL219Jt>51nl=1{#x}nVYF|LrxB3U^PRlTpGFklG%qoC?V)*(6c#k`-yaM)2V0* zfilD5rcjk3-*62lET0_LR&U9?g!qFhRpz-5Oh+8oX!EB{#|A6JCVNC(A;wvZ;1E|F zW(#b&Fd}m42Wq6c;3KE3VhMH)1F%X^&T=??!Ym+cer)}0r$Qy&dP)@yjp z*To|qis&Kd+M2g;P_4!Wm(jQzEe<6O+Zni%vM4?J%t;-Axtb<9ZD%Q0u9Yn>sO9;O zZEE_koLgGfPgourDBcdHyX@*Zp>Kg+3g1>^m^ZzQa{XnyyLcJDI?BQ2YYWlFOkgV-WS!RhrTgbzmorb8`73181eP@32O-gw`PyHr4ZW_FzM5@itS7s|0{T31r z=O#fhN?##(WkrS{4X zpK=}vLl9W!-_e`Dg|R_>Q|hD+yzQt=cpMlgkTJ${orj4V?{>N9Q;x7fC%eCH@-;zU zuB zBp)?)#PQ=>qZGM8LuiXTvt(p@5`L5Ww$`JQ`$1jp$3r#AkL=RdCkOoYVNyxKj*e57 zRUr#!@kg?xcDU!cvGxf*WHwk4TBpY8-~_OVAaMjqoQ0)30lNa-@UeagT6@K>XVN#m zf4*K~*>y3c0pu9+Y~YKI5(J6z@+g@ADBcvzo11{~iyQsnRPV4DCj>8bhltWx?25b3 z$HO-aI!n&G()Pm(JW+VeU?0l{2BL8FaU#`u9E!$));*P$AOs{x^@p=+i*=#(u@Msy z2t{QHr6>r|?kWfvo=HaN?aY;JsF4{k^O*~AE6sz}ysB#HDadFTMMS|e0_0n9M`RfMAN^$Usf54ko&kvshg(i=bu_0^KSm6SLqiC~nm;slSH`=&Wcfdq;4qFPXP8P16bup8YziD#>Vd^uNqQ0>~R7zAyxbl#J0|<%CWlU zyGvrq{^l0j=^H@<|NakhVNqLQa@9ncX)A^4?Xvf)?7~>qd#TIc%S4JHHGSZ8xZ#>g zg$sBA!YlYg@0L3++f5HI8iqi1T7>Sl?q*q?oA7&z>92_P`QD7onJvc{8~;pzJ~Lg- zUE`5#D?wNLf;5@*me*uSJ@h)ti)S9PsZ(dF&N?(vG~Vvc4`BtE3l|nv9bsu3ugQ98 zw+8E=8w^j#1(Lr=1QXD>9XuWq&Oocv~`%k99GjgJDlb;mH_$jefFOz0AgdLj41UeJ ze?%v3U-V=R+YKOB-zI$=WEk%B6OYYHzcm*ElbA9>0h@fLTOD4!YFOqXTq>@Xax|KU zDn5gtmt`;w+u3|A&Ll%x8}A)oWJG>BwTLO)rvIJM%<`5hvhEfvexbfkirJ)uJ*~&( z$frO*^L9G+XU5hC#a|yPx#APEg&wehcze~EjZO1QxxPN3nsKZ!J6nM|>g(yGJxpgH zpCuOxha;1lB2c3CSa(V|fV=Oue~9huEb`3wOk=XDP`NzhxV~J)w@Rqa@52saR5PGl z-!!W>BO;?sEEQk_K${V0l?B|dHB-n$SbIKiBwYD;rp({_MaxDaZ8E7-J(kR<{r17 zP6faDKrPpde+1d8&-AfFKd=x>jM%=8(U)HyOjlg!r&CYuIC=l%c~ z4-t?N)j}6E26E!S1!cNw&h0&57DbLI5*g+3uUG2AzE=FdLeeu^8<8UlHNf5~>jA0U O-^q?(ZCw-o2mfDc2k`v> diff --git a/djangoProject/static/images/doctor.jpg b/djangoProject/static/images/doctor.jpg deleted file mode 100644 index 162b88c3e55471aaba842432dbda09c9013f9b68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15533 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 diff --git a/djangoProject/static/images/patient.jpg b/djangoProject/static/images/patient.jpg deleted file mode 100644 index cbfbaba6b0fe2e652e6da0709e99d8a65f15416d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34068 zcmd?QbyOWq);D^9gF6Iw4-nkl<>2lRG`PD33l0Z3xVyVsAQ0T$-Q6`LB$sDqec#Ny z^UZzlTJODo-RjldyQ+3q?XIe>s{Px$|1AI624KiZgQNjaPyhhb+X48q3$+ZAkoc&g zrYsFokotSZFyJi!Spfih2R9cr8F6wQT|IL6?Y}?qSDuNPtJ7ci{}A5FeO&yjbO2zE z=|AxN-z6iOTezCNF=K%odUjTrXseh#XqfMMlTulB}9PsT5 z{pk|`a9auhpy~nu*wX+2lK$WF-Y)+^HuASD;y1Y*-wsQF9l!!W4gdih0A>K@H;Ns= z3Sa|p|5*b_ymjaQEc{i-|Ez?!r~mW-FcF|Kpi*FFE8%wHq% ze+4LLSOi2Q7&v$!@*9H^1^@~M1{wwkM23Zhg9XC8J@6KT#e}1P$6`ak7E?u}G;w~% z&TZ-*l#p28Jc~mmo_|fP=F&TZgv-&eb3?=F8vLEh3{s%(*7#N)>04D$z<;R_1_}s= z01b}_i}aQ+hY5g!2EqX0;1HqUVW8pP#sf4a00u|_i^T>frfLF@?HrU)|Bf<$X7(C^ zol{)hrJ(ow4h}ArnknQ4k0aQufm%XRN<%a8&nf@~=1o>i7)*c&ptD+MNI=s@`}4)u z)!^GpqhtHbSkT}kjNP6w^x5m$*S(+lFRA7WAL$>+=9c2d8E{}dF*b}15}bdSO>~T= zH&i4uF{r{C`0{>36EurMCo(A|vP=m1f#Lj^^zaAJvGoUl8&I$>MUa&zJDN!f?-@X` zgYlxMy!YPkv4!(LKCl%+SRZ!AWB3Nj*GxgJxq>3`!)1}ZgOE1y2Mqa*l8DetlL z|1$XcoCf}ED}0e#%yFmtWcSK|kZrx4yKv(|ig6#6JNPm3x!wDQjriB1|C)%LCm%H8nB#Xo>Ljb{Ny4{1L{(jfL)j*${G1X~#q9S>w z4E$Xi9e*8Or16{mm-4{aRAj`_-)d0*yU=-&i#dp|AMq%5&}GYiSv==Pr{-c~{{3xB z{w}l_cC{e(OEVLc47o^PjkLA(*@1FRdG;WD zdv9#x_VB+7@5&l1flT(`@CPs!e;xJzqi*}3HS;@6{=P2y8|`mL9asMtJUADcx4EjX zLSDbV=c{P?YWkJV2Phkfu$F1yy#M(v?GFIoRK!83PEyLQTG{$8A}=B;KA4i4JR%Z- zl2RNY;-4dt3zT^x{@v1@PY9F|u>G9SAYMQ~Zv0~w?0oa5j+s@$6q^a%a=S+cFTx|a zm(^vl*gRLP<2^SB01mxh?L|x$J>CIr?}t=>27mb}Lb9^32{o@|aalu}E$QwMCFmf{);E#{tt?G2@eBmZ5&j-3?vSQs!1KOh zi?*W7BX`Gw`d#2|?qlfS#yB}5)?>hun z6+kSYa1E3^dbvzm^QNrv5xEqATHBX(G{USIy4ODdvU^6@zS-0P6F$_P&15%SUiJme z=C(D0{iNZ5$Do{2c#C77kF(i2)Uh3XVQyKOPl>wBu3=39UQ!y!Q;leAFjQsSNd3jd zlI{`4x}y+Y*F(yu--#Ege*o3#+upvL9ArUV{9Pegsb1Nbt!L5Ij7=JJNXZYa1S4*vm28*AzE>q;Mww23;Ktig5J~e{{Lw zBkoK^7$&82&Wz-W$RK{FgM7HK%)0G$i5a`APZPU+hr~vRlrAdpL0(lc4I+=hHT~mc zO;u=*^n3KNe7Ra54RenbqCHH?6A$mRkQy_Tma$IoBx#Og!xJ&zpn;?Wkrz zNsTX-{H^@KD09Z6oW-Z&$*z8N7mc~HwlazqFatrccP*j&#YTpX zqk>om%mD~0(`FRpflDM;+9O~p#gi^qS(lP`+c$?MsnB4L3Z>=a=GgJxR^S66^Sj5cGMC%de9ySP)u(5B}TWGuZeg0M48Enoo=pX)l2P6Ta~WW)^L7* zdx{5DRP60HviJ^eEnFO}YP@>@a1Hj_?_KrE3XT!0a@k-NW z^oK6W+_&v%*UsF|;51AWw&oQkTcW_7IVbJG%6>)G1sWwW#Yh0a;2LV>=^DJYLK;~w zlyChYn=T<2pGN?m2V zz3YI6VBZeKY3O|x|ED&T6by-a{|c_b)}jC+`6lDW%X-re=Y)w=~%STOh z27~>N3u#}f@K6jeHtG|ZQC{Sl7cZF~j&>OoGS1q|17fkt;J>E49i4aA6p zdvvMpkgl)%F(6B%%#=S-JVB+i>I8Ej1x9VF<%i zM1dY>dly@q6}SSw^JYEqYgTP83_sNdT_hyVOi^1hkq2JNa0)oF&$5E}tVfW~RrV6g z=lO?JJ|Gh{h70|?`n)!zZ0{+lqeRDS{)<_Up7Gr&qc}45Cnp5Oi6#dvwl?H0Z7y(+ zYnUD)0oAxKdU$SdB#@XSE_ETdb!FbGiq^yRK6Yt(!eKVc%C@-3+CoUU+>(U@Cc=u# z{Av_gjQTdm$Se$O+DKB&^*Lh+*T?sFa+k_SCU+FGOieLORMD8Pq&f$7%B}@os8q>2 zr3=*N4h=6pCpcEfsjRU2?1+F6dzg)WTW)~{{J|-W8YK#4&M`bGIV^?Z*#7beko`bm z17*NR8^*k~*PP!&F}l{n1&Qk)U(kHNm1AP@_Wt{15)~cKoA5Tze8UAe{kM||Zd%-0 zoE;{nKBM}o-|l-#%A$W?yyzYtskvIfeS_cm@vz%MEOtD?=JhsTS;1jrVw@M29D1iw z1w($g8SH-m>N&a+V(8?!&C6TJI>Ic@rH0O>+M5sDC102Ppu0P2^gVLJT8eZpnp~8Q zdX-`61dN@{#ktcBF?^$4|G{Z@Bq2aX z>rZ^Hj0H(=Sj5V3W8#K_W$s#{4kR2!^OW3LT%)AyFVRp)D=2_cYLklt0{z6xVHLa*-KYY5#NUs&YRs}$ z2zEewuK^-2W@l>hne1}G2USJU%kcuwLxcTJ6)0M2MOx}|8KJ?DcVFTMS23$6_Uwi6 zZ_ow?6tPX02wjwX?N6f!O9qdcZ`H=AIB2LRZS_#5Wy#*9*}6RPhK1F<)U6zM>=s*9 zFACChEJeQ0mKQFan-*Geqa`RWXcHxV!oxkxZ)mQDN@(tJ*@ke?Eft&#GM6pP%BPi1 z!fCe62O^MPdCeNdd$TOH)e92X>U&hFI z$QuUEut`@=q%iUR1?TfKb@^*}oKHfAOvt*}xAt8gRqM)-LT@Ul%ZRX$>@Ks`pe=%p zcWUVzhxB4XdeDh!2fl$`o?*gg>%z(I$w{*oNj?u)7;1|1c&yZ4Vviz-Wz202SIG<( zZpdO*&r}zbEW`9)2XmsC(ab$wN}LD&lEQH-HD$NWQAyr zHJZjYjj`w2&V51WhKVVfkmvgSi7mbt^Idcu)IExS%r1tc6!AZQooc@UDj?$vx_oc>e$UiJog)-#JSjuGD(+JeH?(IGL;Qk*r7P%tNSKqvQ#QpxV|~m~$9K%{4r|ZwyIPngA@N)=7Jh6< z2tX=<%-I7v9c4+PS-xyDir0^Y!P62{jU{_T#z8a73;kbcCNjbci z_s=r_V{e?`Mx7t@Py;pZa&UWN^v_zccC+@Vzs&u^-W^h?n6|{_Z?j*fA7n0uS`Z?t zlglrJo!s@N6Og@cX&n@ltyM|2PYd6&w zo`|*+Dj}VWGCOE#pYcnJP{Xy!IJUKM9+eGG3M~UG^{$1`3UAr296f4Fjz>J?M03GA zBiv)U3i)e`LANi`aHhuQs&#H=gj=5p;XLmQA}^&Dg^Y|xmxSH2{Xc5;fAbG}z9*Cu zHy@RqVV{O~k?BB)XfHInT9|FUC!izry2 zuEd5nc}R_ZTDBrw`U6O-wW&>di90zPI>bQ=u3W7=5H5W2x%m+)o>vaP@oVV0-|N3! zY(DtDfbKu6wl*#pt|mi3>V>r)XJ=+69w-#Es`FjF?PI2;6)DQPHC7*hx92NlV!R2uFocE{-4c;9Nu(^gJ zUc--iCK&QO4*x;LfO)@ZgMs&iNQc($3nIoR>aCuOL3F%>?^s@ShMvOpyw;hZwjys+c&LXV^p6_6o zT1|}0_>`#Ha%mBO=H|bc(70wO^|PJ)+dBPe;XWiUen|Rz&vRia1ncetgvX*&ICgfi zjH0+j=YvO-+$VN?dixdu3lb4mWWwPd);V@j7=W$I?xle%mWvi*)Wz2rE^9fO$fB~m z)+#7@p*fTB?AI^>Y{X@saXE2IEDK&FW&{+MWuffo#+y0M!$jfG#io^KrTF>zX9A&z zs3Q!R)sJ#ByLd(w1=ac9;FhqC9NImY8t2d#m!%U_Iycx>61LJy zRH4sA*7+5O_=AT&)`<9P0RVW#RMC#d&)e?jB9FBQUXBJv2+rj*i--p2F<3{!>$|Qw zr9#46Y2XCvlqm&?_-&!kT#b~iTH&ikmO|ZAMx-1#6(k4Z<6lshaTC0}WLE*tZJ#OR zx5Uv<>Vwe`m= z(d{y7a2#3Xy+BuJWTl;+V1#S(*a%@D&R40kY3F67?GqBQV)xLrVb?Lo`7hkU-Bk`5 zJUL=nF)>FqKDq4eF92WCi3u*Wg56lENNQ0Qjph%)tT;XC{_VxsXnk-g2^=%r=FS(G zlzovU;@awm%d2R2H}@#$l{goiu~)&V;qEkxa}tA@D<`r@6?SQ!D}tk&jDUE)myYTo z{ohmHELx%Ws=dO-?`bQa_$$71u+}+(g>7DBnjwXa1oa5<}pU{}F zenpo=M6|>$;E}OJ*r=%M@Uf-pQQ+bGg8kR7*w`iBG8#YT$|&C3#o0+6nv$uj7?;ma z6nVANXDv?{R68Q(U=iC2nIS3R+?~%QrTP8>lto~IT23q-if2K$i>UVpEFC-$X|7t^ zKqe=FxJeVp#0PgAZ0u|BQ}+76z@#4-GamF1-9y?MU3Z?f&C=Mgrue#JsH>33V8}m> zQ2>E%1I|vAM^sL2FGyysItn)r6V3nuO-3&+}>!1#00RsFyHp>Ke$=Z4k&>5>+F}90=Q=d zUr#KFxCHcdu;dO#&B;Syp^^ZePF-3`KU50b82)@l#sO?i64xbc zb(wvY)&#*6hqS?@0fax?jsZJ#tfI_G7M^_loYLRoUPAL7-)=TA3Z z->K2e&Vmv?U|@ZL$eL>O_$+;JSfWnc!kI<`3_cUR=M9U=H6~bdovY1gR-*FQKF|D~ zqWt^Sc}aY=f}9))iKtm<_du0?ibn8V%afAP57uo2r(S@$h5kfmYfIh*tlOv5^Yq>c z<*N6m6%!w_)E2cmb26s6+we(96a&6j{EV!bo$DHRd*^ZZ){%>c6xA+!$;P_KgT`3<`OpPtYpT)n2t&0dAfvDKJ64T4;Cw)E+EuK)nnrS|Ph z;y-{G*X}=nX{~6Dg_jDk2gT}@PcZJa2UzM=&;>|tyS$J6su;0duQCt6<=An);^MYZ z!&}mccyb|pAv0Z{1Z!7#0s`Wv3&cgq7o1@ZR zqL&1x!6c)eBmfV!5?k9%XtSqu90ZEQeXwnLuRSWR(Yu-0j+wuOayJ~9e`p#cq2%;F<#$!d;Kd$DDi(-k7| zv$PP{95On+4-K6(aYd(*E^3`0p54~-HlT-*B>-Zf_3z0{V3(RNtWGKGkdOE;X{v}X z)?pcJt)ieivQ!wrAV=c!p-#fFw|=}o7~DI4*u}8g$oM8Pyv?pm-&u#}wT)(Y7iYX; z6S+(#9_zSDr3e!AE|_Dkoo`gQ7AV^;P9Z)=xn1>Ww*AVJ5bQ(fJ_zkUxM=Vjv+y6SHxLel_*_ zDl}`fhyGeV5C{|hB0O)i+Z7#uKLs-!T4x=-@F+S53Z@7c+XnIgpqgbY5dlC z;A$%&RgD(2Q}5LqiNCsEfAzqVdKO~lYta#cH3hDEFQ{46s5PY}kIQKwaC2Y#6EZ!` zrY=8)&pvYQf(z&Fo2%N7Pkju<6l^Mv(qruzbKg)xVeKa3dA9xACOFPOX<1>u-;PAFS#_@BOk%0~pdj0lfH73!uJhjBf|oLu0Ed%$3=Y;< zKM5voNltAtguUcPS$SUixNWqaRax!3CMAlmJ)g2V2@X!TyC&KPe;zq^d%QgT^fXj9 z8gb(%(i<`-KHkYZK(UW!G}qOHrk^bMop70gDZ9 zHCjEY*`2y6o^eoB$c;jfg2kX3-(?#1Y)tYyVyw;2EzxGPgVZW$<@o}Y%!?J%(Q7ic z0^{a76>X46OiJxKN>-?-TR&EF@~_9tpPf9||x#k9jL8Ew{TbJ(Qg? zmd+J*&@|$1Zj;dpbbj&Z#%~k`OUYH0_fn$)z9f_sytMkgfmtijI`DunAf}_A|2zmz zAEH=W3)QtpDpdMP{R?=WI#4b0J%>TtsJfNtA}IB0bzUQ;qIvDOBsoEHbP>0qcy?m) zb_ONui{!N@g{$=>-6P;42!?^m6WS|5S8em6&PG5uo9D^12a8DAIkFX#;;_%c{GfL~ zELdrE+{c&1z}LEMAtNpX71lT`6w-AF-$!&x9WVKPcOB72)Y(>=eOh{1$E?Bdvg31& zKy}!WQ{DQ>V_40Ut`O0(o*4X-qt!4U-@)<)*f7j7?0i7*g+(@%-@JSdYb63%Ru&MZ zSUa9`Hl%FUsVRcgAIpx(;Dl^JUR7eMwi9Wp!xd8cO@b^xG`B9*tdeV_bqyV^+M_c% zXNkRJ$aS83c`FFH_qo^sqPC;p0!Uof8Gc!~7Tws!p3woOG@h)TZd@P#A9>@yEz?0@K z@-$(oN;Yup7~bEmFFJSXgUMi>a`W`~#TLDejKJS_Uk}(2_mk>4!_ZLxu1mh$Kn#Rq zX_?M*vcRVgm5=>F;2l3T2w%D;b_TzBi_A}S#Ua&s(srE^>oGmQRrFQdo_mw%`8|B3 zBTY#Aa8CXr9(7SB&Amx&_s!wZEQ>{5b;{}wHyw>HYQyZaHO07896ke7r|rIV{!ft! zm>vqY_x}gD{S9l!{BN;TgZ~~&U3nC*v0%Ysw9Yw<3)LrGY{~`e-0p6Kw*pBTs@Z(; zpjc+Ce=}H*c0^{va!KaGr(e-jlk8hQVb z@Q0i74Vm0)N1(7cJbo@0HGea8r9lAls_9Dl?|<=hE=!aCyC!sEb}Vw8o=tJ=vl=GBg_PLT-7A)6Br+NLBqlpVL*ugtUe0w0#U;`zdX@Ck zD9A-kheC%IE6AxmArVz=;>Oj*)^F=gqcj%7C5-kG$JZ~}l?0UsCxz?h9ow|pvku|4$U}CfMsJ?f zmD0B<#NRBA>o>B3*g7Ui_pvn@2Uj#{5sFR#$KK|BkDPw7dgrqy)JJ}ZP}C|P9_ zr3fP!!Al7`#`dm-rLqR4Le1BvY{|%2#ZK$nKaS#?JJyUc+M_ZOPuivY-bEPs z1n#)R$jgdgZp(4R7Yl^fUk|v-xr0sQPa}k&-g8O@Vib+;2 zNdZEjwqXpx4p^%@6m)!~79qQz^4|2eyL$YaB4((pZAjBJJ+0BN$9MJ4 z?Ut_xWBI^BOaLPwvI=GkTl8Qc`YLv)2s(g_xGfr3qMM)|#E z=U+qt5*7pWQ(cqH*Gr&f~ zR!uE%sGAT@@-xBu)2s|0mqt*$6m`rZddNmn+v`xat-~}i|4vJ3dDoIAf(@CbO-=@6 z1Lh;KCXTziW=RT!*VwI|fSTjU9&OSYA|k7czak_9I5)=dBSsU0?+FQhyRGBg=%1&I z8Gtj^99pI)XuS_g3W|a)U5(rLwZxa&c=s}y$rHMLs#;N3i&fR4EanbJ{WW2ci|XF+ zUwe;5{#4>+>*W?k?iPiIQelJH@nqalH8CXMiosfPE$+Z_T%%%XgR7}scU z@)DD}TV(rdahVOWl*X%81b0LgM5#Q+Zy(}Lg>#0a zKoADUNR6T=5f`uN0{MS})-UGPY^>Uz2418G)GjTjK+5HnL?D$RS3wZb3Q^h!Ocwj> zmPYUl1h1>Oh!>voposJfW-yxH;O5Lj&~2}njAP4)ykppV`qIks+U%G~)bGtx{)Up7 zjx-8)%IZ|VEL^ikr}bb5(8yKg*%Rp9$BpAj=6kFFG(U;@^t7ib{eIxs=*X71TOr2X=xt^C zKB7~OtL9%_-~P8B+`p)A|6(Aj%zp}C`_0Bo^|-eNl++rXf6V2LLWn5;H?0skb~1&J zG6helK~l_iS>9j?K9y_xT+A9K|I~#agAY?xl-XcJ4oWs7s{-E3D@983)H*U#nRP59 zl*UTOQZ7EPD8Uj%`jQ2YF0WJd?1Iv`q}KbZDr-F$d#{VF2_XFk&>0}gzTM;BYknkd zGiq;JY{y?*Px!Vsz1GO^#3ensZOu%=A8|l<$_{f9n?#wCh@(j%9ra8x^3s%&Talbw zu0SQ)LqBvAeRJM(1ySU&)gI8f%ydg5H{TT-Cg&xF6?9}IR;DrFEYc&AW2hi-TXvEv zTo7&DTb_KhW~;K+f#ZlMs1Pj#l`708ure_sTDqKv5%OAY`KD%X%&RF=1%kOD2D={k zlRu4pU3~WUDsC@EhLdc*nLLil9I^pHiJh}Vt?n$-n#WLeCMa$`tma?vsq=lFzu zFFRA>8rLtiGYF1PjxKl7Yq?Nt`v|9Za&=tdiHCTx+j{v(;npD_?r--`eqYTObc6}5 zOJ8mi*btGD3}ETSs*r=_1^Z8 ztI>!qon$`NyO;@hU%Upa_(y8R2XoPbXr5BM&VHraAboC;x@!mWz>_-fXPMMoau!L` zp*#fUoKia{c&lP+X(4l|-%5iq-h#Ju^ z8E_+H&B`Z=0*v=0GB>v9he_ViG%%^~EqaE<_N|kR8GUkqiGX(z1)_$(e`#P_eQq~z zH@KLdSMBf~pm5Db5&f1Ph_x5A-Gk1}4&&n7(Gn=(N|ZtQ`QpPesWFVwrp3xBXex48 zBVE`S@x79%a#e2+Y@4I&cgE0}ISm{pYCLhn8fNL#gIA!hW@}8dy)S{G0-t=hAhQR6 z`eJNslzYv!eniOQ(O;mf+#Qv*ti;*wi$Er|MH_Fg)tEF0pUUoBj2gxwtA@I{nmIs8 z>+<|(>o1%^Czma4h0%Q22UCvzrN0{1+B8oisl3`P70I7iX#L3-IcNLh_(mao`X2s))mWA&5rBuT zHGb(u1n6y@PHg!@#J!prAtSlU!1fdUg`>@OAO=1Ctg#y@PH zac6?>4t~=_o8k}1RkHCXFDxjyvb*)2y)Qdteq3rmh^VDHdQ&O>$y?!nNB(a-qyO&7 zL(~6x-PbrGYDF(+?gX*Zv`+8i9UBB3lD`e+agZPa=hpkzM1#S7}Bc%L}vZrT|W z7^3ft@8vic%!}W#%VijomYaC;qtPzK+!gwlYK_=`B8Wl!u4X=!l3w$*y%;Bm)o38m zcNt;w83l(0{dvaXYbI_u*BbOj#0_~6I0Ob*AvHN>`!(^WcoYFX`#RdWfWR+1lq^dD z-aXQ?VdQeBBR&1*!<2?od4F@9Pc>0V+7U%|;LU~>)Ra{6kP|A6_<5)K_3-XwKE?F}?`7>@DuGD+b6`mD?DO(U zT6;-^U_ZFc@DO0KqU=Mqm6<)M6T3I%>iE%}e!bI7gFs-P(1f2yHP!h|MGXcpL}@Sj zR_uBEtMILW5TC4^^eq_Ix|5b=Kp=ZJQB^am{^>zs=mVERX?!n=U-4CZoCe?ss{WKm zSS~Mj>0531L$X_XlpHhw1pqy8v4z_UU=e`Dh-{8~5ROyh~GQYISZ1BK7 z1}o;q+>en?$}u&rqqqJCfF==Mfd-gZu@(@pd#pg#uw+x8ZJ(f9Kuwt78@?k!pmqcs z%QAemvX1WTA(~WDQdZ9m2%@7hIRZx~*S814nFF|&{{WccUR$&VoQEJ`d~!#S!#UW#JDF8o#0MDmD*dB5F!{HLcI5_eDAVby*vO8(mVu0O8Zam^T7E1Ds1(v=$h34<2?eH z{4FB0t>n@2C%wnjV+IFws2MfMlj5-uz2#*@*XT%mz_z9TO`zri3GrxqF(R^Fppr&D zbt;4G^he*7zO(Plj5nYL>+zFlC`6FnVkZSXBCM1ySR-&XrEcAH(O3V>^JD{+G`Fw} zdgpVwnGL1w5MMzYA9IY)dX2|#CLmO7uTHybP`o4}%~AGIzazwXZ~CX-SG>lXv5#Xl z4+n>Pn|Etg43>qhZ?2k=m#OHptAKHe}D41thK#;LZ#8tZ4z{93&fRiX;(lWb-CC?honW=+*@LY=fF zXwt*B4z+1Srq~sHqc2r)E%t+2D{fM?SuKQ})vFD%648<+!K8Id2VM?eCkxk37IglLs`s4krC4Yp@;_1A_*6SF1{si%+}pw4UH zBf=gg=X-@4GDe`{6P6#Ie;O5Oq zi|OM0GtUm*_A-gxulpU6i%UPJ?y~yVIa!(s*uA7X;~W(wIG*7(zRCUwsgDZ3QWObb zjzX5sx5z%GtvQ_Zf%=$^l#Mb`{S6r{Uw=5Ve5a@J3ymcJ;z<#$qDPV^hGe;sk~@Xf zfDav3eRepxZFbFbu#E0N99amKgFUt(*&$h2aPVx5l*x??9CbIk??Y2*Oh{Wa>TFS& zZz3yg%;ox*Bm@yf*;PKFgvv7j0%dKHx12XAi>PCN*Cm8!`p4z`Hd-J%?2v*>DlZ0% zxI&DyVcOs~XJ>b1m(j7?*X=rsg^2d7Yz;^+)%1u(M^LH5js%AYD5`0ei7W|pdQ)ne z)kGQ6f=5MxWkfoqhI?-2LVh__N{r&>jp?BZfrwCdSQ4&x5$!wSixh<<%HRBcnAs&B zoipNYwEeWP-o*LXv;}wGY9luxR&GndA2}T^Y|GVACCqzLY^VCwJ>g4x=8S5^1&j#HxQktMm)(N>|^rxG((Fth2U?6Rz_F8)3N5H(Bb+8?hw=DAcB zn}NH~%Gz>f``xXUmCuN+cxA=R8Lb`?1dxJnsq5U%tl<56-}0iTV#h@y-FF@B1+?ld7{J5i^VDAGD*hrWi)B6GIIbSBXhwrsNgEIt%zjW$ z&Yh*>>@|(#r{=+@NQYCVlc{PXMC&u{8p3A&J{%aQ(IzPS+42;>XGj6Xx4zZz<$W0^ z#$w1kC(IR;l%H%TAzJU7H%`_6cL+5mCf64DG93CY;6Y4O&E0 zv<~qVD5nu?W_N*W=XlrHR_(7xaAuhROL#g`UV%!)3)cZgLw7C_^bdy_EhWfb+*3jL z`aHcKl~znK!ZFiI&Gu=Q107Voi=%2GrW#+xnFs3Nzf_TDU zoNzM%t6EKMb6OJ}`)voyGStr;iyNEychXLL!x#=10E8j){>3bYaHgzmtX zwl}(sHY63P!?!+;I!xS&;leZNH#INF%37n}_+)Fu^=RAPr=3^ZjMG9pzO-nKTy!^O zUKS&gAqGVAvY?*owT7f|?YB=ldjnz-PVSCv!|jtYHVT(>W%7qGk`>dXlH_q5$Ud}? zGnh5boKhnI|vi2X=L!ecD~llH^Y54MDOr)Hw72gLql!eXhx)7;|b@ zcfOG^u+O$J?>QPb4B(mmM_M0PsS^O&+5(5KC0yxDobQ~lZKo2_AAeZwZefC{HaDZn zfgDkQGYb5q`N}sJpIo@6K0}#|4fop0lJEPhc(xcG?^ZW!NjViH1P*D+QK#Uw67dRE z^}qwKLh5fBM=#2b$Lthp zc)^o<%l4)kU&>t)G-=c=$`ytU>b{O>b(f=e>QoJAof4kfhO+JZp&z>HDOY_LP59z~ zzyw4&@_#(-It=d4IFW!1Dk`dyQP+J9hem*!AVMSTKRp15-zz znybvj_?T%ncqX0eMy{#dFDOJw}1(81>0r$$A*^-luoA0(1J_sMKt7+s1^0FGWk>yROCeGQxG@Tev8QB@N#k1 z8}fHR6h$-Q)hg1}7K>R;v&KLS)UjN+FyR$86Fff=#+*u>ULp8DN+8;BEf8+b5yn$$ z&vIe~W7qc0!>}geut1o));0ZE_hMc#`;KD=6nXio=R~%$Lib4+5~G~CakdO=8xoZn zB8E#$;R3pb45YF#9T!Wph=XP5ij1%e`|4)xp0UuH8wnvA3%>aJWDU)F{Nl()@#{wd z%FntV)S%~r5v}@~aqm-KglqlNxTG9$pWPMp{kK!9I%Qwl3_fZ*&3ei$jfnJ~u6ysh zNmY4=RjAE;u)8evN~lU-#EFQ%V;sjpwBEtIccq#3}x)jf%OgoQFqdi zzl7rwI6-|J1q4_ObjyxNK=P zWvA+)d9~tanWH*?&7QVCh41*BK=!y9a@O#!2{YyZ!3X0W>t)^ zZ4C13zRsis)JbW$X4t3KsefR0T8-CHg5MV|=%n%c1s(&D39auJU{Vwx>6CcLvNUxq z_T_46!elDUK(6b0Oig{GTIzOMQ$vj8a`Q-}qp}cqCx{ZivSXWN#?<3Q5jRx!e0yLr z|5&YT+4|95twHb2kwQ}?OeA}TTPxgC&5So8y+81h7-2oMaD)4t=@VWP$IZOF#<~br zhRb+LGX483tas{cASXy|2O{uzX0wZAuc`6cTgT@JBxT4xDp@=(_la58EFFOwi!6}h z>ALb>QXnxKtRx0B{t4c}{l>(nq3$%0cGl_n@VhI$ja20B=O#i#+rR&I^!MMo|Az=R z`kD?UJxUBPcqgT)y|16soo*QeKI%)^0R{CTHBHDNl?rdmW8{olrDKb}yTIuskG_9* z%7>?9t_3GG(Q)W=e!cJ^d|qpESM%*XUWS$CCwryIEWW4;{V5D9hq*b6nC25>M;^oy znsGB{6r~bO*QOR3q_D11{4wu{3U@-}IJUb#08C#h#QrlhJsZ%e3PIBBCx*qD_%}zg z#kPTdLSbU7)1UjrH8lyfCCw7!geSJtXqUsVz5Q?YaVVmgJ04_=1$P`zz0J*s=k=7q{hNpRvm>k6qIvME&t&@4#T$ob@x~ao zgfoz@xRl%s2|&he)g$4Tb}n+y&qtzX4T#6?q1#3_3Lwb3mFUQB&iYJkwFOU z(*DPH3v3nFi1i1~O^Lw*Fl(+_uJDof4?d+Xk=H_|uNpmrT$U#Hi7@!*NWnj~R1%nS zGqnrh>sYj;bsWZ~V>Z(?>OHtw%d$dhuds&k1>sOY5_7VK=t#3xTMS6(Ze z_Rt$&7C+izf0Ke&5wY@Mtd&~-HiK3YE^&s$b8(kDHv!3r}_$3ImS+nTH(tW9Cd2Khmb|qD7I_My(P;A>b%pIKJ68> zrZbDT_x7YTN9SZK74zFkwf^9p55)ty^@2Zt_#fCB^^AGg=@EcXK+aB0&daBxE~j_> z+Th~KxRXqhD`GWE8)AFvf@_FgiIv8pU?Zw~D+KJKPa7y}*s8LP@}q>bowebV>87bL zD!PU#vT>ZJkziqV>yG`EJg87c^_PskcO7{`-21o;rb$c5yfs9}tY400HSBii+SUT< zjIvT;ax!4YWe|;A43c_S!sn6N3|%ZWo!*c;()rg^IzE1Tn8+HnCY8$oy&196N3lvX z{pGXd3M%dIR04dZKSxO%vLi2hbl^tm$YX;$4E4s-6hTO=WbffZFh^VcC6H8N_s+C< zPMQ1U*;j}HlB4=P-K!jNoTv-i>drfwXC@X8y|gF_y*MKq*jRY^`B1lAFdDd#oZgDIGV7Wqt>#)4_LOXzRTKu3-M`C4sFz_S5TX-pA|% z$H_8A4*3cQ8QYehc$}*03dXG~b9psj-N8f|3 z~aNY_7Y8P5bQmDUY0S>N~vT6PYT7$Tw z&my4&Rth!K&3aaUm^#IE18M2dP;>x$Xv(4~@8BXu)(E;UJTBIQt{b*0&4&2!B1jq` zw!hTbbNL)Ed2?k=Qs$qN@?kS6it4ryKf zo&l4F2UJ`cHDAM}$6iwY(AbW|@lCy-J$(_dpH$BSgmn7@wWTNJqxdKK?fSNsI=s*i zqzk|;7GubFGwl`Lgy~WSKx|vX^~P(6E8mVN(vSw>CQC>pqfWM&wBw{v zfH2QvTOsh@y&~+jaT&$Yq(y^DzI_&}C+a&4$@|~zgP;HJCkXQG3jD7DW3ORk@5Ln8 zPJ^P^VC(@-G=OxB2~60=H$EuQ#07BbgiBa>OAnjFxFL>PT?&3gJ_>l! zq0boQVPh>vdhgKQ{OGaq_VxSJkHnO?YvqwNRypKhMp-%sfB_8Uz4#zV!mWiWvd6dO z922G-t}Ig;CKAr!;N29PG=LdzaV^)Cy;sJ~XukEnSB#GWl$&F0Xj+~KX+OgVN{#Qz zA<0Woa>(4 z4~XNp?4duUl9fW$$fIPI?z~G6SVwI9jFt{_chqOt$E&=)K$vP;rp(6q?B}k3|6Uwd zKbY=OqNNNLp%gEOt;W=Fsc!f)h(AQ7x$#bb65=vH+1y`{Wj2*`G#rID^Np?Yd?*Bt z{D@&9G>^yuZ1*6P5ChPBCRu>2;}iK}B06JW!88-OLtY|cH(TIJ1_MHGn1=rXvTV!X zmIFuWNp`izurQq$eLqJdpYt>4W~B5g(U$bxjT&YeJdYUco|JtsSzBA@jK+P;=%W^7 zG_Q0b%`Hljm^jvcNk7Z=^o{%dOb0>`I$wD}ypfP~fj<|$sR~GLZx0H__Sc?KOv1FY zlWaQv{hTo(&46z{fHcSc=Q^7=+Vzi5)wS+#5d$k8vx${Q2}9|+X1xz!cP(WIU|SQ_ z($*4bt;*yDyh++tP{V79VEEIZlqXCYD8fw1nF4q(J+TV10t}O-4f~tSNepXii>;8< ztRm&ybDSf!!O`Q$fu)R$s)r8uB74SS^Zg+t!E)(N6QDmgc3`ZiMKr0X0A>-Bfn}D^nIFvi~^s`CPHRi1)67-CWfqimu{_GEm0w7UiVh zMN#fx?7Z(%ig|B*dSR;8He;i>xh3-|!NanXGI20;39)|x_WjT%+Q;w>vS_o3!EPuf zOtGwA#BDqv^jYD4sUP7yWta@m{lLq8Fpp`O8^;<$EPUke$>Mw=*E}r+OjCiG;1$Rw ze)Po>Tg)Di=;hIomacDRqK=lz=`%MO(LkA5(li4>$vgI^*!hW%)U1J%YFre->dFdY zf#hEN%NFqLt*U0W^t+;8(jGRb#t8&PV z8I^~Ud9{b6Xvlv@4#9RG-jl3u_m*Tlst7IRY;OyiHvVW6nN$W~-ca5UUu3jMyir&$ ze&p!B*qVDc5L;&0i$}o<>yV6RLqYo4`a4SY`sB@P8%e*3 zC5miPXwL`ZYBooBn)Dn%?09v5adu5g@-fdmnY}Fr)Wp2E2RPqpS%T^8^Jpc0C!B#? z^iApnu2$?l!dbS1uCu-CBhOqvooFr3$e1#B>-W$p!842oo4MmJ=oNidj*@@~bQ{(P zk`M|qe>+}(Ojd7!Oed3|ohGc4HhlYacZq3T%Ti_t!os3PN9FW$xBr0ojy|Dr(6Xmh z5Rf8vZ90ytCZ{$9wdNZ#;M3>FFEWd*?&bzyZ40oLVR3$0QS8*5@>~y%2hOG3@5Mm| zWyFqXbA(Djy+2!ZM%UpB+Ui0&PI-tjq_`+Z^H_UXe?fhEQAJ_J+??FfBx9Z-Huw2%Kcwu|-wsXXie5okQE!F0 zZmpFNL#+5qh1z>%duEAg;R7)hjv5gTcKsZ`m`<^EX_d7u_D;!Kjkal5>7GjTX9cZZ zumZy|VFhsD4Rg|_$--jP{+uaYb6QoYT^vW5y`?DVbQyo>*b+!AXJT^ABSX3t>?+bT zL2@Z1K5fQCa1`#HGOLfe`axo}B= zRiC+Kop}$F#+!)4Nl9fnMx|Ip2Sck#LFb>5x%qyx`NwGo|5?Jbh@;8vbxEnoPaIJb zWn~R9{RG&=#AE-&X4vKWpA^E6zsk+RN}~Kr$qtV{rv}mf1bVm`$8v^4SRU-Dw%zo;wT93uII#WE8v7 z7#M#?Yq%S(Pyd?TFvDx^s8Cn#WUZSRt0YFW6E*E>rT}=$Rl-XsIX)U!W?8t()7&pm6q85ZN$pWq*r(VTiy4TjdBA;bwiNwn`Wg z&^Fn_qiaS%y`XSg;8;a|rasI3T(5?cIGaE9gQJ1*h+BD{fdR^F?4gKkV|=%uL1=lN z*99T?K!PAIHzU0GA-L~2l+u(w3e7Db#Z6WkKEl`GBSwIRB_kC(6QP)rUj6N~LyP~0 zOGOB&E-~Uq#Ar=!8@*v7D^`)j_R1yCALCv1=~*V5XQ#T}nh$5MUf;)D8HEOF%u^O< zb;1}?M9XMO?L|d~U=s~snj5NIqD31$3|S)JV6(fY6+#blioV7J%@y3jWRw#bzhdn2 zA-0%xFv1)mp3&sKq%djw3uxGc)PrRqJ}4f&ydX7V*(*CVX+cRo`pqq<0>e^K9o1cd z{4i`(=T(W*I%m5uwRu2y#bvLzzn2-{NCc<`rw~jaI&Tmh?QD0d9EwL}`-`l(ASIjD zl-H0(-CKT`Fr6mD6_|;^cr4R%bsm@@2A+j>Gf|}&)Sj%WQF%7Q`X4^5nwmQ!QFP)B z8JZISKll5dl5RTKSS00wTaio6=*&;djRAv7lKg5cJlKEOx}Wgvr=qN)nzgNDw6{{+ zvJ)crLI;3InZ&;_518Iao(e(bxPr2Q8D|3nsz3h>r ze%=u2Ze^(k?P7&z96OYqK+dW9&&se}mrab3D6Y)7!+urA^(7u(y0+f`) zBLM*57Li)>H8I~$3E>-3!=(&0UuVm+yWR;3Es%Z5p_Qql(UMAIPYeH+3t^E8E#pum^iJ91s&eI zgnTm;KygMl-&I52P@9$WNZsZ8Nv5zF&V*zII=xL;UMY070LAG!aS9T>ZwtY*jSYU? zY$*GFm;MiYY!Zj7RW|wa?nRm#Wlq$ktqbcmizuW|r6>DrBOb$OefFS_jrb}0Vn2hE zSdc0C09Bb+#g)&suWoZI{Syl zy00zDd%vhY(<=A^4&+bytnELz*prN2D(pJ6{d9jUa>DuxfL4gd7kA3JWu!FA=TX@2 z0X*hI0E2UW?xl;G)yolo^5Q1JjrDgbH=9=cfRj5@`wO1?%+jw4#NknE>)8ELN!9Ru z2!3|Bc34E6CxY#pgnyDb@Z!7JzmG^?0^zX_qB76JPp#GF(+lYfEV%&nY9kxyA2LB% z3}MMKVZf#ql~d@illTG$zJCkHkr*K0Sm-& z(sj}29OQu1phdU0Zv&v|weL!n+qu;9`*r)&#N*jnX!WEv(+wlwpprougBq5Qjdo=4 z$C^Yj{1u0ntDlD8HqLZwL^)KOYEm;kAsodVT?FAFjh!`o-Noz`XZ^?88X|iPt?qQX zW4C1x%r&3i9JB0Z6X6-}sIs~a?UzDBiZJP)aq1nF42Hf3b|3)p>T`ax-*}wV@IVlI zj63n!so6KtR+1FJ3t50Oa26nzr) zFh`lP;zU}nZ!$@uBO)lsl>SIhS^A13%riyPX~y@GKe)n)vQ?L74~rLhHNg!rs4_ON z4X3Xf5!JyDzC!r>fM{n#uFHonm0#E)16bb%0xo{<>7-KsFpBL!;dYtke|#|<-OH!4 zkYA=F{}bU7MQr~`?J`UEXyWr>>%*!OVrqqdZN`;xjhYBfq~ooVmDz44VG^b!3gJyU zk8SHJpWkcaBW>RswoY@R&jObo(5|TAtCLz-X)C_v*~36D7;GEB$IeBVYFO;WpI%U9 zD3&6oKY$_Vvp6`)cY9B_2flbgEtqH74c#`#^hK@8 zhal5u*<0F%Ze=wUIRq!R81&)VAT=lP8R0R>1zro%i**w0+m}XxcXTcI#^R)>G z7#5+iOb%j&Mztcynh;Gs3F8+N=cQR)+me#4c}9fPbet%QB`4yQBySlESurJfEor68 zgK-KS`LBk>ahkeMw53E8Ke1agqP+NSGZtfyM)W+&N*q1oh6_s?5LUoLNBYY~T+NmT z)c@j6fZ)}eNx`?r zTLker>AK5~6t4Epuh`h2FwYmjYp0lqP~M-vfT{}Y&mUN?CGMqhqQf-TCUI&yrlpAn z`#mTP!S_5qZu!^;wWC!(N!RL@=_(*pJB)Lx+NF9J)ZqC$_OYjm8TXoA5f`>}-h}je z)#~PIyf){Wac6SgR}Y`$Tkm>~>EuR<8#eXpn0sJPZ*mTR$JZI3%n6QYH$K*+X0fLC z-1NbAhE=bk+pOjfmobSrM`~RXN-V1|O2{_=EDoXxk_5#s8y%b})q&w7ld#-O6E3Nu zz|%Ma&8?Wj-5(4dSn4gm8hR1(_Y`W_5BJWLxGHmfU>o{-+vj+_L*|a?j+?f%Ul`yU z79M20v@EiRK!l2X;6)ycwe&jIoxxWec&?XEL{N=RS1ZS&nH^n4R$tN7oUAe|o_j%z zsCtH%vXf~$l*c8A4G7{!L=K5HXVVg~cg!-SxPT^RNvH}y{J&sx|BE|K@85$rNMd_c z=*_phR3HnzG8?~Cliy8Wnsr!2J`6Irx!Lt#n3F{=RFTv_u7P%hh-_Ubbk>(RZW9T8 z6qNcudkF~O!bcT4ef5YrPyrJfmbF%pAxt;1xCW zM_Y?e3DO8unGK=;l46^kAl^UcrqD1WJeZSKQoeoyj;0?Z^NNvC!fv~ThxFLn0}n9l zfy11bIy&Few3>vnK9f95?T^c4DYxsH-MQE2AV>-3hV>|?2LXZrCsp{nfw|P2QTRf{ z>G3T`cRPk#F<#*b?XI?`5TCf%MCo1U(RUV!aifS^KF z2J2i0*KX=`<-$mc#P?J8hPn&6>YSZ{6$!nPP)B*1wR1QCM!PQ{vxwkI_vD}e7?|$} z6fz%q{#e2hxF?%x+}R>8xuh+``-=e5QOd7BA2he;~A7Ibc+>YYz`Ct#JCZ@dh2 z@KA8zZ+h;k+AXJVQ~>`dsy>!VK_5%J1;xgAG`ZAPr+*j|gLrfM;Zx+bsuX!*^Hlb$ zO^CjyQTn2YP!$7{Zo}Y;yquNmJ@4bftJzD*sAYbYYMGsq)t2#<7C!t?9DHt#N4b;y zq47G4>x=S2=8oTg~Lv zikvbt%j1Hciq0JuQ|Js`=pnT0>+TvYmFDNW1p5Xq;b{@EkrmCHePN`Gmy=Q_&jjSI zU0R2wmOJ5$){N6r^}4jk&a&STWQ~6y*-0QH85bXq7v*+^#X}fYW`Es*QYmU%z(I>d z>$-+vxtiPMfqs206&I!-5C_Bn7sQ(=>ufPFm$}}7|eLFU);sf z`|e7mTKB#fx7d+9`YV73zGGuc5`s%crOEPP(OBWJS6#`;B|iYavZ9b(3qF#Qf3*=B zfzseTTXy@tO0~V8>fZYZICcX)U9kR_7yo}l{GtCZw$!kEUf*ruD>Cn^kSdwR8ZV~! zX+k_;V~5`OKrX3QpK6V96(bUVIwa3NVB+jj^f&v18;t`OF?|z&bd6&11e%;ke1O|k`NVHR@>>$B45&Yp4AQ_x`he?fe()*-(Dei9u89j zhmI-|=JyVwsjYqajnPG<=M$7>U&SZ*zB2g2p<&wn?@YYU#Ak;ab{YuFrC~BrUwU{V zC!^vvSU@WR>K|KrveOMd_}Y1LPaxB+_ksZ%c1YmP%HdYMvw~I&m)~y3`^FrY-NQz% z`*!<-3obw&0lPN#Tn1_z#wJ&e1XvY17yUL(Y8`r~LCeVJkVT*TP65TbHJmftul<;{ zwOLcf6fDw8nZpd2*)B)<-vh}Qi$Xq~2VCGUz4}-@tCm}W2O4_u;YfJBbetyRQr-3D z-TCuCV2X*%LE?y^t*>O)8C3fSibak&bdjC0ClwZD@y2zVozOKRkjrwzqiYvt2 z6~!2L#YIt`o0;nMLcJ$|+g0lcn3i16V3GT*s>xG*@qt6ZkG)=sXd$+5pZFvBepDF} z>%{TH9JBg+)&z!IH?UMJTUm(4A*EqEq*GZJh_I34$LT^OGz%gCi`N35!=&iOO; zkq-67qc9@%!X^LV!GCLfpiPL~WDNlBnVItpoB>D@PDU;A@0{4D-=yoXmlMBwukPI9 z2Fslke<^%pWaOWG7?J6MK0#CX(7!x3J5G5s$>n%Y#cJ^k&~6^kB zeXGImrspz}aoKI=ELQ~Oe!dvWSls)(i$gO>Quuy@*Z4Yc>gswnOz%eNfh5uF*Xi!~ zuxryiS0lFqwvb68HJMZHq1RhX5#(y-0|KFfsi=d}R53ydy)VP%#R(P0lwwj z8aEDus@P0n3Zvq*gW%$)FCt^pPu)U#Cf-vQ$!G}5)q0u77kvKwYK+SO`<|1k8IG{W zxp%JSxN}BVt64>rtu%~8M8hT*%$>|SH8pZr4cRnEfk+MLMDSt4)7u&nUnND8yFewJ z1Zwh1prnT~PTY0SxWLS-Ym3|_BCyP|lxDAcHL)TFVDGz#Mc(;EC>lx~`U{}?0#ufQ zNXBdxMYZjCH46IvcqD;O1;{YqpHaOFKHDJsXOfAdhd^~fxRuci^%WD|yN2o2J(P!zY(nr~}yu;1g ztxY`5;GxpDEi&w^EwLFV!S0KvbLLoCP!!>-J-}LSJJ8Jpvjkkit2ZQyK?-7NJUN`K zW9MBt%ggjj_zSqaMv*21h-mw9E%diV#qLMXCPQtZX#uD5lv5fCcMYL3DNf;c#-Ghk zosgQS!%~3*eFiXH(RcT5xCrkZq$&R4vTpPe3@Z3q@gg8JtC$e@MF#qA6Li^6@IyZL zlKurGy+X0Y0_3^fnD6j6Xo$RuhTUulz&gDhayPz0M)M?-P!;9li=9RZK*4^K{f?Pz zXHUnR=SOk+0b=s%o*^i5G%p$8dJ#byU~BP2^!3B*+JH3!LWnZo-Y?`g4NfC ziIvxkM8=W*pL6C?QVy?LPX) zH18yS5ri3Te9G}8!`afbkPkDXg+c7YCf8(!+CXb=q2d3J1r+VHpxB8-oJt3ivZy3K zBMM^Bqk^-Ov-(Dgf=_9^6L?huc5mXrL|Soh{=@4^_iih9^j#q?$7u3fyp50$KZQ*u z*0H8jFe;BvNp@`QpwleZ^3(G4862Ex?%6MTCy|j-1r99}1(GvFN}(QGlqdX}QkXANgrLbsDr z>-It7b*6}lzeLO7R}L~JzHdzImRWcRlRXJqDCxE;Hm!id zIbf0a9j8NicQeh|<2#+nV*T5ChbQ=5Xa+%#FLPzIHDtwPVzlFwS>UfT0bm98=v9ZZ(nAs(xuZ0dPOdBGv>UD*@&_0D) zmhvU}+5v$^8~DSA3IdteOo4rIUcaKt=s)Sz+SY)_1q{P<$2SCXHSb3aU48>~9bkI+ ztTXc}FMwUBF^0zIBCu>2~Vtfj@YS^l_gb(fPVd) zdO}slcX#go^oaj5tWH}KQyCQw4 zpgg66+)pDQd&k_BDB^BouCofCVSw*b3X4!j>^7d`i?Lnlho!3EN}N+`4GhPD*b?7s zKL~i#x>z@b7{IvaBsU-d7iDub@i?K2LKOwpC6Tt|reAs(plZPXQ~utYfXNJjGm$pF zEQWwGW4w5GGbjQN^bw$#yeUHs!04IK#`GNC5c*#8Q79`Zq6AfDDzNCdgjU%D2Zpp4 z8dQ7#8CcM&N@_~D=TjfneC%8J%%iMDQHQ;()Qps*qa^_?rVz>0-c~m84*q0?FVIsj z;;Hq{8-5akO0xPa+^wKI8v9fL@F$X7cMMwucA|20Pn8FPr8#c)Aze)z>?iao8M-4Hmg3y5$UVly&C zn`?Fd1H_pdk~gLkHIk8%%KBn#M9FSaN8*v!9d;`8Awx|-BCN((rLaT>=SEde)w1mvigwM$|re9RmzUQ+1l=)$9 z^D&}Z*s4B0lzijaIS?U@xZj z#jW3}6?vIy$>kV%tGrCnm|Mr!T{)xWxbpCCs2>?L>+B`u_rv2g$vQRbehQ^;9`wD7k?HjEE zFqjf%uO%0Eik8`;L32XFZ+OetdQ1D9%y(w%NP0L{5taERi~r(t(fl0+BXkHy77-sf zQ&z>T%jn~Lw6lyb9>;{h0;?VHz6szF3N%0z=T^?m zR`d!PzbQ>gZKB|E69%~y{0aze#P4M3*#o7e^8^@^lsOJfuNAmLIczpj=@!pz5%PTA z$Hx!q!uuET+L6Y^yLCT$(!ks$1Z!KO%B_#HD@#$>@8`9n$sd3+ZH*w8?b}Zy-$xt%7OwA9SskBNo$yE({4! zmC%d#m(7N0fseRDGr9)q-v0$S?Rszx*v}4nhpSACH9eTy2wqlR>J1H8fMv9Fk>UH* z_xtu?S=;KWDIJH0Mpn^)Om6rW$lmPfA30kH-~&2c;G@ZNblUWq_%4xr#$PBjT5a>> zN{`KZxKwLVQy|UU{I&=1Uv&+?Z~jNYn!$_Nv-hD$WQjlb-}5V5qW{4TNAdi3ekG^> zLe>nnm(xoFUR}iSvH3B*KrVmm2p?GAoDh*8!Y1*`9wWMJWQa*q4DfaTqzRWXU^lZ3 zGo+n;pEE}RT^g`Gev!g6cS7Ir1+dGqQs`8vcP(rcr`$3Ib&Z*0z)>oK8MB!dm+Se+EQ&@E=+``e=G;TWdwI`aBVPO>d+ELU z#WK&Nx^Zy?bF1dt2n{G>jsx=>oA6RZI&npILj#8k32SLZ)#nY&nsxJVT^O3oC{H6k z8vZj&2Rkn-V$hdFW0#;a#^&$Aqk~^>>vU6j1}1VoP!&ImD95Oxpnqd$e-MmbCUhJ? z%l+Z3z2B60#@K^tA{HDh$`V%NR_KJgav^aw@+_M;ka{-2a!9uy+KZ3h^J5i`R3<7P zVeP@gZ)25YG*ChHnE*|NC!Ss&t2pS~@S047#8bjM|Nkw<%06yyl9EA-82bNAIl2jz zaj3<|hH;wIe!tDAgCxZ%NN2=!7YFuRiZES7+2a!j!V_BJDJK$@s7zFsX*e1RdSoi> z^d6kQaCo@?Kh_cBiv!ZCLW}>^;@8mnDa;m+Vek2<2O`|FJ>X-czia%NR zW7eSfdW|_wVB)n*=fpIP6Lc;Oq(OqCAi}7dHC7P6_i1l_Vt%dA+&`z0Bj#ZQubAU| zc1ATaDbXd@Etx5I)^OA&U~Gt{eNXM!b`jj74==1Laib(TrWQasNru^W_h;|q-Pd

E9`ikz!15GhAf-dCD{GFzF#uV>^?P3$2UQ4zHqO6KHB zO$7{!sp9OZLx?yv!zrhC$?KI_OJU-C9*o2$b` zlhW~>fD4?Xp>KTZ`5=?MUwp;@*8p$EC9j9`wmAB59Swk*QP#4BGI__rDLOw?c`qoL zNws?XjW|EMpxgOI!0Zb}okU{nIEL5Cj%$n5snr&zXD*VdkESri zKK?au6?Q;?5swKi83s`*01%V8r8B8Zhfmh;8HPtQ~ zhV9Uxh3zB7UamJbtZ1#1T_e1&UcKYY%0Cl77!z{y1l4_Yn(g# zohV?ZvT#N!;UL8Zs~F(CY8_j< zD&)7AQ^Ldg`=yT9=utnWj%PS4a&4B2ZTl3{x|)6NB4X3;eQ^0|mWBu3$E_6~v&Hj_ z5+0XPpH=>K4Qu}QYgmmpYWe`@q~m)xqXyk;SM};i8TS#`Lb?F3YYd^sG+(A_F(T<1LrEr01sb){o1^YXr^ z18bswh*Mgh)Qsi>jH23N8n6mM8J|4{NIrw2qojv{R}=h;lu4hPmaZ|GiJ-jrz-K38 zb#Y_L0@)E!ICkF1%5|V8GBSM0zA-DUJxl6&NN9;J(`FmZ)&-{iagi%#$SA zn(C*5DqD*h@5EkxkbONDA2yc-*!Fq<#m!9+t&-DG#Mi-h=wklN1`z<443CZxvc$~0 z8lT1Y(c$)LzzZrJ@u)KAv#-Cp33q;gUF3=J}X>~n! z{gH{$o5T}nB=pfInXVz?W0C8re##D5l!-&bE>xv_XM+)xlS$*^du{e+Nb&TpK!vaP zF91zw*CG+2n_oD(B_A7G{eL6i{Od}`Mvw42m_3$g2C*ZRt!yw3-`_oa`4qA7y5XNB z6pa;pAMzKF`UxsjG*FzV={KdraU4mceOMAYJ0Oz1=W1--SS||0nPHJ+0NcbBi~~4s z6w#IAPSHOkzjJT^rN_sW7tM^CGfnG$YC}YlSrhkZ8fFsOsL}BS5e*IwG#AgZ8!F6? zr$nxY?602ZR4ZI~_BR}My7Y@S9!nB>g%Qu*up4*x4f|kUv;Si_`M$&N6yzyIaVa#p zgryKnZ>s;>rRbP+w4E{a-264wvbfsN#=)8st7vpWdK3)t-z1iJ*~KmYxx_u~1$-FV!@mn9 zLnu?V;}5z4%=#tSj&H@-0f)a^O=oQrfsbog_gK;2nf2U3!oR#6oZoE8)_;KA30QT#jx0D-$Y8r{-P>3IC%No? z*L?CF5WxpJd#|;7O1`=%DG4aH7t%MyFrp$TEs9pl#yP2EF*jkZiU7G zJEWjj7O9@?4&-%5VjFVQ!~!-N+%GhLXno%ccZwB7Ulg`E+pWZWGb8yd0r-S8>+Eb` z;Fwz^fXEAr6uRnU?j4iH&h(np0OVWtYf*7iU@r?>FjKd^CDG_Ky zml!2;Bm!wEC!;d?6>QHU2@Rj#_7U4vlLQW)B`W6rtj)>>5ew6-3-ft!FN0{cMn~3_ zk@svicTHnkdJZMqY^m51G-0}t*HVr5Muncu{sNYgAbe1ySIq<(cV=i>({GMN+}lSN zc3Nh2*;wLnl2tkbD@A(~5wZzlHW->@nnHhozusD3;c1G=2s zogyxz03N4WgM{CDoX zwzpBbFW%x;1V>h#!$??vMj2F{TNe%hKbE`-J=l#164g3ZLFX>#suvfy|89w z@!$Jmq#CkXrqwmuTE0*mihpzxym>5U5^hEcaXs7ijWw;~PQa1q^Z4ygDN$9LGqiqj za~A36g_l&MY{zwH=L(Z-ZSIIkLqVQ6#YK_zjy?7uU=E!jNqB3GJ!R`pURGc7CMY8a zQ7@x$&{rMlaM4oIL{f#6v*Ca;_M?P<1Bk#9wiEDn^>E`_^y$ff`;Zo8H zz5vkU^!Si`pA&JN$1&j=IwLRv(W@M3?~wlj#_PH(>DEs9`e*pv1}FR93m_JF>!A4e0SO_dO%Ad{D__X0&Izv|`F=vq470 zd$jF*Lz^wndL>*uZCLevK;^ZCJ;+IpxCVwMy zCwA)j4gHCP^;*3^(b-&W7G#|xsGwN-xbsLq zdFvj>r*U}#AMrMa1RoJ#nMU>$us3c0&5q~2r{3p3ShcJbm7*Gc8VE=vUngG+H-u)m z45G~pZCD7#rug05Ld~BC7Z3ak|4CqPbg1}KBaOGIr$m3m*=?{2ww1TB`e~jYzJNZR zXPq4DrV5&#(Z=t4&&1jSP~Z&j$+wuj70b_y9;355aIM=v;k`!4q>f0z_`x-8tlm`p HUH*Rn7e^KK diff --git a/djangoProject/static/images/yuyue.jpg b/djangoProject/static/images/yuyue.jpg deleted file mode 100644 index 862124c24cba4f4fcf2fa4d47785a5374d6e8fb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5157 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 .select2-results__options { - max-height: 200px; - overflow-y: auto; - color: var(--body-fg); - background: var(--body-bg); -} - -.select2-container--admin-autocomplete .select2-results__option[role=group] { - padding: 0; -} - -.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] { - color: var(--body-quiet-color); -} - -.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] { - background-color: var(--selected-bg); - color: var(--body-fg); -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option { - padding-left: 1em; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__group { - padding-left: 0; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option { - margin-left: -1em; - padding-left: 2em; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -2em; - padding-left: 3em; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -3em; - padding-left: 4em; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -4em; - padding-left: 5em; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -5em; - padding-left: 6em; -} - -.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] { - background-color: var(--primary); - color: var(--primary-fg); -} - -.select2-container--admin-autocomplete .select2-results__group { - cursor: default; - display: block; - padding: 6px; -} diff --git a/djangoProject/staticfiles/admin/css/base.css b/djangoProject/staticfiles/admin/css/base.css deleted file mode 100644 index 44f2fc88..00000000 --- a/djangoProject/staticfiles/admin/css/base.css +++ /dev/null @@ -1,1156 +0,0 @@ -/* - DJANGO Admin styles -*/ - -/* VARIABLE DEFINITIONS */ -html[data-theme="light"], -:root { - --primary: #79aec8; - --secondary: #417690; - --accent: #f5dd5d; - --primary-fg: #fff; - - --body-fg: #333; - --body-bg: #fff; - --body-quiet-color: #666; - --body-loud-color: #000; - - --header-color: #ffc; - --header-branding-color: var(--accent); - --header-bg: var(--secondary); - --header-link-color: var(--primary-fg); - - --breadcrumbs-fg: #c4dce8; - --breadcrumbs-link-fg: var(--body-bg); - --breadcrumbs-bg: #264b5d; - - --link-fg: #417893; - --link-hover-color: #036; - --link-selected-fg: var(--secondary); - - --hairline-color: #e8e8e8; - --border-color: #ccc; - - --error-fg: #ba2121; - - --message-success-bg: #dfd; - --message-warning-bg: #ffc; - --message-error-bg: #ffefef; - - --darkened-bg: #f8f8f8; /* A bit darker than --body-bg */ - --selected-bg: #e4e4e4; /* E.g. selected table cells */ - --selected-row: #ffc; - - --button-fg: #fff; - --button-bg: var(--secondary); - --button-hover-bg: #205067; - --default-button-bg: #205067; - --default-button-hover-bg: var(--secondary); - --close-button-bg: #747474; - --close-button-hover-bg: #333; - --delete-button-bg: #ba2121; - --delete-button-hover-bg: #a41515; - - --object-tools-fg: var(--button-fg); - --object-tools-bg: var(--close-button-bg); - --object-tools-hover-bg: var(--close-button-hover-bg); - - --font-family-primary: - "Segoe UI", - system-ui, - Roboto, - "Helvetica Neue", - Arial, - sans-serif, - "Apple Color Emoji", - "Segoe UI Emoji", - "Segoe UI Symbol", - "Noto Color Emoji"; - --font-family-monospace: - ui-monospace, - Menlo, - Monaco, - "Cascadia Mono", - "Segoe UI Mono", - "Roboto Mono", - "Oxygen Mono", - "Ubuntu Monospace", - "Source Code Pro", - "Fira Mono", - "Droid Sans Mono", - "Courier New", - monospace, - "Apple Color Emoji", - "Segoe UI Emoji", - "Segoe UI Symbol", - "Noto Color Emoji"; -} - -html, body { - height: 100%; -} - -body { - margin: 0; - padding: 0; - font-size: 0.875rem; - font-family: var(--font-family-primary); - color: var(--body-fg); - background: var(--body-bg); -} - -/* LINKS */ - -a:link, a:visited { - color: var(--link-fg); - text-decoration: none; - transition: color 0.15s, background 0.15s; -} - -a:focus, a:hover { - color: var(--link-hover-color); -} - -a:focus { - text-decoration: underline; -} - -a img { - border: none; -} - -a.section:link, a.section:visited { - color: var(--header-link-color); - text-decoration: none; -} - -a.section:focus, a.section:hover { - text-decoration: underline; -} - -/* GLOBAL DEFAULTS */ - -p, ol, ul, dl { - margin: .2em 0 .8em 0; -} - -p { - padding: 0; - line-height: 140%; -} - -h1,h2,h3,h4,h5 { - font-weight: bold; -} - -h1 { - margin: 0 0 20px; - font-weight: 300; - font-size: 1.25rem; - color: var(--body-quiet-color); -} - -h2 { - font-size: 1rem; - margin: 1em 0 .5em 0; -} - -h2.subhead { - font-weight: normal; - margin-top: 0; -} - -h3 { - font-size: 0.875rem; - margin: .8em 0 .3em 0; - color: var(--body-quiet-color); - font-weight: bold; -} - -h4 { - font-size: 0.75rem; - margin: 1em 0 .8em 0; - padding-bottom: 3px; -} - -h5 { - font-size: 0.625rem; - margin: 1.5em 0 .5em 0; - color: var(--body-quiet-color); - text-transform: uppercase; - letter-spacing: 1px; -} - -ul > li { - list-style-type: square; - padding: 1px 0; -} - -li ul { - margin-bottom: 0; -} - -li, dt, dd { - font-size: 0.8125rem; - line-height: 1.25rem; -} - -dt { - font-weight: bold; - margin-top: 4px; -} - -dd { - margin-left: 0; -} - -form { - margin: 0; - padding: 0; -} - -fieldset { - margin: 0; - min-width: 0; - padding: 0; - border: none; - border-top: 1px solid var(--hairline-color); -} - -blockquote { - font-size: 0.6875rem; - color: #777; - margin-left: 2px; - padding-left: 10px; - border-left: 5px solid #ddd; -} - -code, pre { - font-family: var(--font-family-monospace); - color: var(--body-quiet-color); - font-size: 0.75rem; - overflow-x: auto; -} - -pre.literal-block { - margin: 10px; - background: var(--darkened-bg); - padding: 6px 8px; -} - -code strong { - color: #930; -} - -hr { - clear: both; - color: var(--hairline-color); - background-color: var(--hairline-color); - height: 1px; - border: none; - margin: 0; - padding: 0; - line-height: 1px; -} - -/* TEXT STYLES & MODIFIERS */ - -.small { - font-size: 0.6875rem; -} - -.mini { - font-size: 0.625rem; -} - -.help, p.help, form p.help, div.help, form div.help, div.help li { - font-size: 0.6875rem; - color: var(--body-quiet-color); -} - -div.help ul { - margin-bottom: 0; -} - -.help-tooltip { - cursor: help; -} - -p img, h1 img, h2 img, h3 img, h4 img, td img { - vertical-align: middle; -} - -.quiet, a.quiet:link, a.quiet:visited { - color: var(--body-quiet-color); - font-weight: normal; -} - -.clear { - clear: both; -} - -.nowrap { - white-space: nowrap; -} - -.hidden { - display: none !important; -} - -/* TABLES */ - -table { - border-collapse: collapse; - border-color: var(--border-color); -} - -td, th { - font-size: 0.8125rem; - line-height: 1rem; - border-bottom: 1px solid var(--hairline-color); - vertical-align: top; - padding: 8px; -} - -th { - font-weight: 600; - text-align: left; -} - -thead th, -tfoot td { - color: var(--body-quiet-color); - padding: 5px 10px; - font-size: 0.6875rem; - background: var(--body-bg); - border: none; - border-top: 1px solid var(--hairline-color); - border-bottom: 1px solid var(--hairline-color); -} - -tfoot td { - border-bottom: none; - border-top: 1px solid var(--hairline-color); -} - -thead th.required { - color: var(--body-loud-color); -} - -tr.alt { - background: var(--darkened-bg); -} - -tr:nth-child(odd), .row-form-errors { - background: var(--body-bg); -} - -tr:nth-child(even), -tr:nth-child(even) .errorlist, -tr:nth-child(odd) + .row-form-errors, -tr:nth-child(odd) + .row-form-errors .errorlist { - background: var(--darkened-bg); -} - -/* SORTABLE TABLES */ - -thead th { - padding: 5px 10px; - line-height: normal; - text-transform: uppercase; - background: var(--darkened-bg); -} - -thead th a:link, thead th a:visited { - color: var(--body-quiet-color); -} - -thead th.sorted { - background: var(--selected-bg); -} - -thead th.sorted .text { - padding-right: 42px; -} - -table thead th .text span { - padding: 8px 10px; - display: block; -} - -table thead th .text a { - display: block; - cursor: pointer; - padding: 8px 10px; -} - -table thead th .text a:focus, table thead th .text a:hover { - background: var(--selected-bg); -} - -thead th.sorted a.sortremove { - visibility: hidden; -} - -table thead th.sorted:hover a.sortremove { - visibility: visible; -} - -table thead th.sorted .sortoptions { - display: block; - padding: 9px 5px 0 5px; - float: right; - text-align: right; -} - -table thead th.sorted .sortpriority { - font-size: .8em; - min-width: 12px; - text-align: center; - vertical-align: 3px; - margin-left: 2px; - margin-right: 2px; -} - -table thead th.sorted .sortoptions a { - position: relative; - width: 14px; - height: 14px; - display: inline-block; - background: url(../img/sorting-icons.svg) 0 0 no-repeat; - background-size: 14px auto; -} - -table thead th.sorted .sortoptions a.sortremove { - background-position: 0 0; -} - -table thead th.sorted .sortoptions a.sortremove:after { - content: '\\'; - position: absolute; - top: -6px; - left: 3px; - font-weight: 200; - font-size: 1.125rem; - color: var(--body-quiet-color); -} - -table thead th.sorted .sortoptions a.sortremove:focus:after, -table thead th.sorted .sortoptions a.sortremove:hover:after { - color: var(--link-fg); -} - -table thead th.sorted .sortoptions a.sortremove:focus, -table thead th.sorted .sortoptions a.sortremove:hover { - background-position: 0 -14px; -} - -table thead th.sorted .sortoptions a.ascending { - background-position: 0 -28px; -} - -table thead th.sorted .sortoptions a.ascending:focus, -table thead th.sorted .sortoptions a.ascending:hover { - background-position: 0 -42px; -} - -table thead th.sorted .sortoptions a.descending { - top: 1px; - background-position: 0 -56px; -} - -table thead th.sorted .sortoptions a.descending:focus, -table thead th.sorted .sortoptions a.descending:hover { - background-position: 0 -70px; -} - -/* FORM DEFAULTS */ - -input, textarea, select, .form-row p, form .button { - margin: 2px 0; - padding: 2px 3px; - vertical-align: middle; - font-family: var(--font-family-primary); - font-weight: normal; - font-size: 0.8125rem; -} -.form-row div.help { - padding: 2px 3px; -} - -textarea { - vertical-align: top; -} - -input[type=text], input[type=password], input[type=email], input[type=url], -input[type=number], input[type=tel], textarea, select, .vTextField { - border: 1px solid var(--border-color); - border-radius: 4px; - padding: 5px 6px; - margin-top: 0; - color: var(--body-fg); - background-color: var(--body-bg); -} - -input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, -input[type=url]:focus, input[type=number]:focus, input[type=tel]:focus, -textarea:focus, select:focus, .vTextField:focus { - border-color: var(--body-quiet-color); -} - -select { - height: 1.875rem; -} - -select[multiple] { - /* Allow HTML size attribute to override the height in the rule above. */ - height: auto; - min-height: 150px; -} - -/* FORM BUTTONS */ - -.button, input[type=submit], input[type=button], .submit-row input, a.button { - background: var(--button-bg); - padding: 10px 15px; - border: none; - border-radius: 4px; - color: var(--button-fg); - cursor: pointer; - transition: background 0.15s; -} - -a.button { - padding: 4px 5px; -} - -.button:active, input[type=submit]:active, input[type=button]:active, -.button:focus, input[type=submit]:focus, input[type=button]:focus, -.button:hover, input[type=submit]:hover, input[type=button]:hover { - background: var(--button-hover-bg); -} - -.button[disabled], input[type=submit][disabled], input[type=button][disabled] { - opacity: 0.4; -} - -.button.default, input[type=submit].default, .submit-row input.default { - border: none; - font-weight: 400; - background: var(--default-button-bg); -} - -.button.default:active, input[type=submit].default:active, -.button.default:focus, input[type=submit].default:focus, -.button.default:hover, input[type=submit].default:hover { - background: var(--default-button-hover-bg); -} - -.button[disabled].default, -input[type=submit][disabled].default, -input[type=button][disabled].default { - opacity: 0.4; -} - - -/* MODULES */ - -.module { - border: none; - margin-bottom: 30px; - background: var(--body-bg); -} - -.module p, .module ul, .module h3, .module h4, .module dl, .module pre { - padding-left: 10px; - padding-right: 10px; -} - -.module blockquote { - margin-left: 12px; -} - -.module ul, .module ol { - margin-left: 1.5em; -} - -.module h3 { - margin-top: .6em; -} - -.module h2, .module caption, .inline-group h2 { - margin: 0; - padding: 8px; - font-weight: 400; - font-size: 0.8125rem; - text-align: left; - background: var(--header-bg); - color: var(--header-link-color); -} - -.module caption, -.inline-group h2 { - font-size: 0.75rem; - letter-spacing: 0.5px; - text-transform: uppercase; -} - -.module table { - border-collapse: collapse; -} - -/* MESSAGES & ERRORS */ - -ul.messagelist { - padding: 0; - margin: 0; -} - -ul.messagelist li { - display: block; - font-weight: 400; - font-size: 0.8125rem; - padding: 10px 10px 10px 65px; - margin: 0 0 10px 0; - background: var(--message-success-bg) url(../img/icon-yes.svg) 40px 12px no-repeat; - background-size: 16px auto; - color: var(--body-fg); - word-break: break-word; -} - -ul.messagelist li.warning { - background: var(--message-warning-bg) url(../img/icon-alert.svg) 40px 14px no-repeat; - background-size: 14px auto; -} - -ul.messagelist li.error { - background: var(--message-error-bg) url(../img/icon-no.svg) 40px 12px no-repeat; - background-size: 16px auto; -} - -.errornote { - font-size: 0.875rem; - font-weight: 700; - display: block; - padding: 10px 12px; - margin: 0 0 10px 0; - color: var(--error-fg); - border: 1px solid var(--error-fg); - border-radius: 4px; - background-color: var(--body-bg); - background-position: 5px 12px; - overflow-wrap: break-word; -} - -ul.errorlist { - margin: 0 0 4px; - padding: 0; - color: var(--error-fg); - background: var(--body-bg); -} - -ul.errorlist li { - font-size: 0.8125rem; - display: block; - margin-bottom: 4px; - overflow-wrap: break-word; -} - -ul.errorlist li:first-child { - margin-top: 0; -} - -ul.errorlist li a { - color: inherit; - text-decoration: underline; -} - -td ul.errorlist { - margin: 0; - padding: 0; -} - -td ul.errorlist li { - margin: 0; -} - -.form-row.errors { - margin: 0; - border: none; - border-bottom: 1px solid var(--hairline-color); - background: none; -} - -.form-row.errors ul.errorlist li { - padding-left: 0; -} - -.errors input, .errors select, .errors textarea, -td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea { - border: 1px solid var(--error-fg); -} - -.description { - font-size: 0.75rem; - padding: 5px 0 0 12px; -} - -/* BREADCRUMBS */ - -div.breadcrumbs { - background: var(--breadcrumbs-bg); - padding: 10px 40px; - border: none; - color: var(--breadcrumbs-fg); - text-align: left; -} - -div.breadcrumbs a { - color: var(--breadcrumbs-link-fg); -} - -div.breadcrumbs a:focus, div.breadcrumbs a:hover { - color: var(--breadcrumbs-fg); -} - -/* ACTION ICONS */ - -.viewlink, .inlineviewlink { - padding-left: 16px; - background: url(../img/icon-viewlink.svg) 0 1px no-repeat; -} - -.hidelink { - padding-left: 16px; - background: url(../img/icon-hidelink.svg) 0 1px no-repeat; -} - -.addlink { - padding-left: 16px; - background: url(../img/icon-addlink.svg) 0 1px no-repeat; -} - -.changelink, .inlinechangelink { - padding-left: 16px; - background: url(../img/icon-changelink.svg) 0 1px no-repeat; -} - -.deletelink { - padding-left: 16px; - background: url(../img/icon-deletelink.svg) 0 1px no-repeat; -} - -a.deletelink:link, a.deletelink:visited { - color: #CC3434; /* XXX Probably unused? */ -} - -a.deletelink:focus, a.deletelink:hover { - color: #993333; /* XXX Probably unused? */ - text-decoration: none; -} - -/* OBJECT TOOLS */ - -.object-tools { - font-size: 0.625rem; - font-weight: bold; - padding-left: 0; - float: right; - position: relative; - margin-top: -48px; -} - -.object-tools li { - display: block; - float: left; - margin-left: 5px; - height: 1rem; -} - -.object-tools a { - border-radius: 15px; -} - -.object-tools a:link, .object-tools a:visited { - display: block; - float: left; - padding: 3px 12px; - background: var(--object-tools-bg); - color: var(--object-tools-fg); - font-weight: 400; - font-size: 0.6875rem; - text-transform: uppercase; - letter-spacing: 0.5px; -} - -.object-tools a:focus, .object-tools a:hover { - background-color: var(--object-tools-hover-bg); -} - -.object-tools a:focus{ - text-decoration: none; -} - -.object-tools a.viewsitelink, .object-tools a.addlink { - background-repeat: no-repeat; - background-position: right 7px center; - padding-right: 26px; -} - -.object-tools a.viewsitelink { - background-image: url(../img/tooltag-arrowright.svg); -} - -.object-tools a.addlink { - background-image: url(../img/tooltag-add.svg); -} - -/* OBJECT HISTORY */ - -#change-history table { - width: 100%; -} - -#change-history table tbody th { - width: 16em; -} - -#change-history .paginator { - color: var(--body-quiet-color); - border-bottom: 1px solid var(--hairline-color); - background: var(--body-bg); - overflow: hidden; -} - -/* PAGE STRUCTURE */ - -#container { - position: relative; - width: 100%; - min-width: 980px; - padding: 0; - display: flex; - flex-direction: column; - height: 100%; -} - -#container > .main { - display: flex; - flex: 1 0 auto; -} - -.main > .content { - flex: 1 0; - max-width: 100%; -} - -.skip-to-content-link { - position: absolute; - top: -999px; - margin: 5px; - padding: 5px; - background: var(--body-bg); - z-index: 1; -} - -.skip-to-content-link:focus { - left: 0px; - top: 0px; -} - -#content { - padding: 20px 40px; -} - -.dashboard #content { - width: 600px; -} - -#content-main { - float: left; - width: 100%; -} - -#content-related { - float: right; - width: 260px; - position: relative; - margin-right: -300px; -} - -#footer { - clear: both; - padding: 10px; -} - -/* COLUMN TYPES */ - -.colMS { - margin-right: 300px; -} - -.colSM { - margin-left: 300px; -} - -.colSM #content-related { - float: left; - margin-right: 0; - margin-left: -300px; -} - -.colSM #content-main { - float: right; -} - -.popup .colM { - width: auto; -} - -/* HEADER */ - -#header { - width: auto; - height: auto; - display: flex; - justify-content: space-between; - align-items: center; - padding: 10px 40px; - background: var(--header-bg); - color: var(--header-color); -} - -#header a:link, #header a:visited, #logout-form button { - color: var(--header-link-color); -} - -#header a:focus , #header a:hover { - text-decoration: underline; -} - -#branding { - display: flex; -} - -#site-name { - padding: 0; - margin: 0; - margin-inline-end: 20px; - font-weight: 300; - font-size: 1.5rem; - color: var(--header-branding-color); -} - -#site-name a:link, #site-name a:visited { - color: var(--accent); -} - -#branding h2 { - padding: 0 10px; - font-size: 0.875rem; - margin: -8px 0 8px 0; - font-weight: normal; - color: var(--header-color); -} - -#branding a:hover { - text-decoration: none; -} - -#logout-form { - display: inline; -} - -#logout-form button { - background: none; - border: 0; - cursor: pointer; - font-family: var(--font-family-primary); -} - -#user-tools { - float: right; - margin: 0 0 0 20px; - text-align: right; -} - -#user-tools, #logout-form button{ - padding: 0; - font-weight: 300; - font-size: 0.6875rem; - letter-spacing: 0.5px; - text-transform: uppercase; -} - -#user-tools a, #logout-form button { - border-bottom: 1px solid rgba(255, 255, 255, 0.25); -} - -#user-tools a:focus, #user-tools a:hover, -#logout-form button:active, #logout-form button:hover { - text-decoration: none; - border-bottom: 0; -} - -#logout-form button:active, #logout-form button:hover { - margin-bottom: 1px; -} - -/* SIDEBAR */ - -#content-related { - background: var(--darkened-bg); -} - -#content-related .module { - background: none; -} - -#content-related h3 { - color: var(--body-quiet-color); - padding: 0 16px; - margin: 0 0 16px; -} - -#content-related h4 { - font-size: 0.8125rem; -} - -#content-related p { - padding-left: 16px; - padding-right: 16px; -} - -#content-related .actionlist { - padding: 0; - margin: 16px; -} - -#content-related .actionlist li { - line-height: 1.2; - margin-bottom: 10px; - padding-left: 18px; -} - -#content-related .module h2 { - background: none; - padding: 16px; - margin-bottom: 16px; - border-bottom: 1px solid var(--hairline-color); - font-size: 1.125rem; - color: var(--body-fg); -} - -.delete-confirmation form input[type="submit"] { - background: var(--delete-button-bg); - border-radius: 4px; - padding: 10px 15px; - color: var(--button-fg); -} - -.delete-confirmation form input[type="submit"]:active, -.delete-confirmation form input[type="submit"]:focus, -.delete-confirmation form input[type="submit"]:hover { - background: var(--delete-button-hover-bg); -} - -.delete-confirmation form .cancel-link { - display: inline-block; - vertical-align: middle; - height: 0.9375rem; - line-height: 0.9375rem; - border-radius: 4px; - padding: 10px 15px; - color: var(--button-fg); - background: var(--close-button-bg); - margin: 0 0 0 10px; -} - -.delete-confirmation form .cancel-link:active, -.delete-confirmation form .cancel-link:focus, -.delete-confirmation form .cancel-link:hover { - background: var(--close-button-hover-bg); -} - -/* POPUP */ -.popup #content { - padding: 20px; -} - -.popup #container { - min-width: 0; -} - -.popup #header { - padding: 10px 20px; -} - -/* PAGINATOR */ - -.paginator { - display: flex; - align-items: center; - gap: 4px; - font-size: 0.8125rem; - padding-top: 10px; - padding-bottom: 10px; - line-height: 22px; - margin: 0; - border-top: 1px solid var(--hairline-color); - width: 100%; -} - -.paginator a:link, .paginator a:visited { - padding: 2px 6px; - background: var(--button-bg); - text-decoration: none; - color: var(--button-fg); -} - -.paginator a.showall { - border: none; - background: none; - color: var(--link-fg); -} - -.paginator a.showall:focus, .paginator a.showall:hover { - background: none; - color: var(--link-hover-color); -} - -.paginator .end { - margin-right: 6px; -} - -.paginator .this-page { - padding: 2px 6px; - font-weight: bold; - font-size: 0.8125rem; - vertical-align: top; -} - -.paginator a:focus, .paginator a:hover { - color: white; - background: var(--link-hover-color); -} - -.paginator input { - margin-left: auto; -} - -.base-svgs { - display: none; -} - -.visually-hidden { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - overflow: hidden; - clip: rect(0,0,0,0); - white-space: nowrap; - border: 0; - color: var(--body-fg); - background-color: var(--body-bg); -} diff --git a/djangoProject/staticfiles/admin/css/changelists.css b/djangoProject/staticfiles/admin/css/changelists.css deleted file mode 100644 index 573c3896..00000000 --- a/djangoProject/staticfiles/admin/css/changelists.css +++ /dev/null @@ -1,338 +0,0 @@ -/* CHANGELISTS */ - -#changelist { - display: flex; - align-items: flex-start; - justify-content: space-between; -} - -#changelist .changelist-form-container { - flex: 1 1 auto; - min-width: 0; -} - -#changelist table { - width: 100%; -} - -.change-list .hiddenfields { display:none; } - -.change-list .filtered table { - border-right: none; -} - -.change-list .filtered { - min-height: 400px; -} - -.change-list .filtered .results, .change-list .filtered .paginator, -.filtered #toolbar, .filtered div.xfull { - width: auto; -} - -.change-list .filtered table tbody th { - padding-right: 1em; -} - -#changelist-form .results { - overflow-x: auto; - width: 100%; -} - -#changelist .toplinks { - border-bottom: 1px solid var(--hairline-color); -} - -#changelist .paginator { - color: var(--body-quiet-color); - border-bottom: 1px solid var(--hairline-color); - background: var(--body-bg); - overflow: hidden; -} - -/* CHANGELIST TABLES */ - -#changelist table thead th { - padding: 0; - white-space: nowrap; - vertical-align: middle; -} - -#changelist table thead th.action-checkbox-column { - width: 1.5em; - text-align: center; -} - -#changelist table tbody td.action-checkbox { - text-align: center; -} - -#changelist table tfoot { - color: var(--body-quiet-color); -} - -/* TOOLBAR */ - -#toolbar { - padding: 8px 10px; - margin-bottom: 15px; - border-top: 1px solid var(--hairline-color); - border-bottom: 1px solid var(--hairline-color); - background: var(--darkened-bg); - color: var(--body-quiet-color); -} - -#toolbar form input { - border-radius: 4px; - font-size: 0.875rem; - padding: 5px; - color: var(--body-fg); -} - -#toolbar #searchbar { - height: 1.1875rem; - border: 1px solid var(--border-color); - padding: 2px 5px; - margin: 0; - vertical-align: top; - font-size: 0.8125rem; - max-width: 100%; -} - -#toolbar #searchbar:focus { - border-color: var(--body-quiet-color); -} - -#toolbar form input[type="submit"] { - border: 1px solid var(--border-color); - font-size: 0.8125rem; - padding: 4px 8px; - margin: 0; - vertical-align: middle; - background: var(--body-bg); - box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; - cursor: pointer; - color: var(--body-fg); -} - -#toolbar form input[type="submit"]:focus, -#toolbar form input[type="submit"]:hover { - border-color: var(--body-quiet-color); -} - -#changelist-search img { - vertical-align: middle; - margin-right: 4px; -} - -#changelist-search .help { - word-break: break-word; -} - -/* FILTER COLUMN */ - -#changelist-filter { - flex: 0 0 240px; - order: 1; - background: var(--darkened-bg); - border-left: none; - margin: 0 0 0 30px; -} - -#changelist-filter h2 { - font-size: 0.875rem; - text-transform: uppercase; - letter-spacing: 0.5px; - padding: 5px 15px; - margin-bottom: 12px; - border-bottom: none; -} - -#changelist-filter h3, -#changelist-filter details summary { - font-weight: 400; - padding: 0 15px; - margin-bottom: 10px; - cursor: pointer; -} - -#changelist-filter details summary > * { - display: inline; -} - -#changelist-filter details > summary { - list-style-type: none; -} - -#changelist-filter details > summary::-webkit-details-marker { - display: none; -} - -#changelist-filter details > summary::before { - content: '→'; - font-weight: bold; - color: var(--link-hover-color); -} - -#changelist-filter details[open] > summary::before { - content: '↓'; -} - -#changelist-filter ul { - margin: 5px 0; - padding: 0 15px 15px; - border-bottom: 1px solid var(--hairline-color); -} - -#changelist-filter ul:last-child { - border-bottom: none; -} - -#changelist-filter li { - list-style-type: none; - margin-left: 0; - padding-left: 0; -} - -#changelist-filter a { - display: block; - color: var(--body-quiet-color); - word-break: break-word; -} - -#changelist-filter li.selected { - border-left: 5px solid var(--hairline-color); - padding-left: 10px; - margin-left: -15px; -} - -#changelist-filter li.selected a { - color: var(--link-selected-fg); -} - -#changelist-filter a:focus, #changelist-filter a:hover, -#changelist-filter li.selected a:focus, -#changelist-filter li.selected a:hover { - color: var(--link-hover-color); -} - -#changelist-filter #changelist-filter-extra-actions { - font-size: 0.8125rem; - margin-bottom: 10px; - border-bottom: 1px solid var(--hairline-color); -} - -/* DATE DRILLDOWN */ - -.change-list .toplinks { - display: flex; - padding-bottom: 5px; - flex-wrap: wrap; - gap: 3px 17px; - font-weight: bold; -} - -.change-list .toplinks a { - font-size: 0.8125rem; -} - -.change-list .toplinks .date-back { - color: var(--body-quiet-color); -} - -.change-list .toplinks .date-back:focus, -.change-list .toplinks .date-back:hover { - color: var(--link-hover-color); -} - -/* ACTIONS */ - -.filtered .actions { - border-right: none; -} - -#changelist table input { - margin: 0; - vertical-align: baseline; -} - -/* Once the :has() pseudo-class is supported by all browsers, the tr.selected - selector and the JS adding the class can be removed. */ -#changelist tbody tr.selected { - background-color: var(--selected-row); -} - -#changelist tbody tr:has(.action-select:checked) { - background-color: var(--selected-row); -} - -@media (forced-colors: active) { - #changelist tbody tr.selected { - background-color: SelectedItem; - } - #changelist tbody tr:has(.action-select:checked) { - background-color: SelectedItem; - } -} - -#changelist .actions { - padding: 10px; - background: var(--body-bg); - border-top: none; - border-bottom: none; - line-height: 1.5rem; - color: var(--body-quiet-color); - width: 100%; -} - -#changelist .actions span.all, -#changelist .actions span.action-counter, -#changelist .actions span.clear, -#changelist .actions span.question { - font-size: 0.8125rem; - margin: 0 0.5em; -} - -#changelist .actions:last-child { - border-bottom: none; -} - -#changelist .actions select { - vertical-align: top; - height: 1.5rem; - color: var(--body-fg); - border: 1px solid var(--border-color); - border-radius: 4px; - font-size: 0.875rem; - padding: 0 0 0 4px; - margin: 0; - margin-left: 10px; -} - -#changelist .actions select:focus { - border-color: var(--body-quiet-color); -} - -#changelist .actions label { - display: inline-block; - vertical-align: middle; - font-size: 0.8125rem; -} - -#changelist .actions .button { - font-size: 0.8125rem; - border: 1px solid var(--border-color); - border-radius: 4px; - background: var(--body-bg); - box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; - cursor: pointer; - height: 1.5rem; - line-height: 1; - padding: 4px 8px; - margin: 0; - color: var(--body-fg); -} - -#changelist .actions .button:focus, #changelist .actions .button:hover { - border-color: var(--body-quiet-color); -} diff --git a/djangoProject/staticfiles/admin/css/dark_mode.css b/djangoProject/staticfiles/admin/css/dark_mode.css deleted file mode 100644 index c49b6bc2..00000000 --- a/djangoProject/staticfiles/admin/css/dark_mode.css +++ /dev/null @@ -1,124 +0,0 @@ -@media (prefers-color-scheme: dark) { - :root { - --primary: #264b5d; - --primary-fg: #f7f7f7; - - --body-fg: #eeeeee; - --body-bg: #121212; - --body-quiet-color: #e0e0e0; - --body-loud-color: #ffffff; - - --breadcrumbs-link-fg: #e0e0e0; - --breadcrumbs-bg: var(--primary); - - --link-fg: #81d4fa; - --link-hover-color: #4ac1f7; - --link-selected-fg: #6f94c6; - - --hairline-color: #272727; - --border-color: #353535; - - --error-fg: #e35f5f; - --message-success-bg: #006b1b; - --message-warning-bg: #583305; - --message-error-bg: #570808; - - --darkened-bg: #212121; - --selected-bg: #1b1b1b; - --selected-row: #00363a; - - --close-button-bg: #333333; - --close-button-hover-bg: #666666; - } - } - - -html[data-theme="dark"] { - --primary: #264b5d; - --primary-fg: #f7f7f7; - - --body-fg: #eeeeee; - --body-bg: #121212; - --body-quiet-color: #e0e0e0; - --body-loud-color: #ffffff; - - --breadcrumbs-link-fg: #e0e0e0; - --breadcrumbs-bg: var(--primary); - - --link-fg: #81d4fa; - --link-hover-color: #4ac1f7; - --link-selected-fg: #6f94c6; - - --hairline-color: #272727; - --border-color: #353535; - - --error-fg: #e35f5f; - --message-success-bg: #006b1b; - --message-warning-bg: #583305; - --message-error-bg: #570808; - - --darkened-bg: #212121; - --selected-bg: #1b1b1b; - --selected-row: #00363a; - - --close-button-bg: #333333; - --close-button-hover-bg: #666666; -} - -/* THEME SWITCH */ -.theme-toggle { - cursor: pointer; - border: none; - padding: 0; - background: transparent; - vertical-align: middle; - margin-inline-start: 5px; - margin-top: -1px; -} - -.theme-toggle svg { - vertical-align: middle; - height: 1rem; - width: 1rem; - display: none; -} - -/* -Fully hide screen reader text so we only show the one matching the current -theme. -*/ -.theme-toggle .visually-hidden { - display: none; -} - -html[data-theme="auto"] .theme-toggle .theme-label-when-auto { - display: block; -} - -html[data-theme="dark"] .theme-toggle .theme-label-when-dark { - display: block; -} - -html[data-theme="light"] .theme-toggle .theme-label-when-light { - display: block; -} - -/* ICONS */ -.theme-toggle svg.theme-icon-when-auto, -.theme-toggle svg.theme-icon-when-dark, -.theme-toggle svg.theme-icon-when-light { - fill: var(--header-link-color); - color: var(--header-bg); -} - -html[data-theme="auto"] .theme-toggle svg.theme-icon-when-auto { - display: block; -} - -html[data-theme="dark"] .theme-toggle svg.theme-icon-when-dark { - display: block; -} - -html[data-theme="light"] .theme-toggle svg.theme-icon-when-light { - display: block; -} diff --git a/djangoProject/staticfiles/admin/css/dashboard.css b/djangoProject/staticfiles/admin/css/dashboard.css deleted file mode 100644 index 242b81a4..00000000 --- a/djangoProject/staticfiles/admin/css/dashboard.css +++ /dev/null @@ -1,29 +0,0 @@ -/* DASHBOARD */ -.dashboard td, .dashboard th { - word-break: break-word; -} - -.dashboard .module table th { - width: 100%; -} - -.dashboard .module table td { - white-space: nowrap; -} - -.dashboard .module table td a { - display: block; - padding-right: .6em; -} - -/* RECENT ACTIONS MODULE */ - -.module ul.actionlist { - margin-left: 0; -} - -ul.actionlist li { - list-style-type: none; - overflow: hidden; - text-overflow: ellipsis; -} diff --git a/djangoProject/staticfiles/admin/css/forms.css b/djangoProject/staticfiles/admin/css/forms.css deleted file mode 100644 index 9a8dad08..00000000 --- a/djangoProject/staticfiles/admin/css/forms.css +++ /dev/null @@ -1,534 +0,0 @@ -@import url('widgets.css'); - -/* FORM ROWS */ - -.form-row { - overflow: hidden; - padding: 10px; - font-size: 0.8125rem; - border-bottom: 1px solid var(--hairline-color); -} - -.form-row img, .form-row input { - vertical-align: middle; -} - -.form-row label input[type="checkbox"] { - margin-top: 0; - vertical-align: 0; -} - -form .form-row p { - padding-left: 0; -} - -.flex-container { - display: flex; -} - -.form-multiline { - flex-wrap: wrap; -} - -.form-multiline > div { - padding-bottom: 10px; -} - -/* FORM LABELS */ - -label { - font-weight: normal; - color: var(--body-quiet-color); - font-size: 0.8125rem; -} - -.required label, label.required { - font-weight: bold; - color: var(--body-fg); -} - -/* RADIO BUTTONS */ - -form div.radiolist div { - padding-right: 7px; -} - -form div.radiolist.inline div { - display: inline-block; -} - -form div.radiolist label { - width: auto; -} - -form div.radiolist input[type="radio"] { - margin: -2px 4px 0 0; - padding: 0; -} - -form ul.inline { - margin-left: 0; - padding: 0; -} - -form ul.inline li { - float: left; - padding-right: 7px; -} - -/* ALIGNED FIELDSETS */ - -.aligned label { - display: block; - padding: 4px 10px 0 0; - min-width: 160px; - width: 160px; - word-wrap: break-word; - line-height: 1; -} - -.aligned label:not(.vCheckboxLabel):after { - content: ''; - display: inline-block; - vertical-align: middle; - height: 1.625rem; -} - -.aligned label + p, .aligned .checkbox-row + div.help, .aligned label + div.readonly { - padding: 6px 0; - margin-top: 0; - margin-bottom: 0; - margin-left: 0; - overflow-wrap: break-word; -} - -.aligned ul label { - display: inline; - float: none; - width: auto; -} - -.aligned .form-row input { - margin-bottom: 0; -} - -.colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField { - width: 350px; -} - -form .aligned ul { - margin-left: 160px; - padding-left: 10px; -} - -form .aligned div.radiolist { - display: inline-block; - margin: 0; - padding: 0; -} - -form .aligned p.help, -form .aligned div.help { - margin-top: 0; - margin-left: 160px; - padding-left: 10px; -} - -form .aligned p.date div.help.timezonewarning, -form .aligned p.datetime div.help.timezonewarning, -form .aligned p.time div.help.timezonewarning { - margin-left: 0; - padding-left: 0; - font-weight: normal; -} - -form .aligned p.help:last-child, -form .aligned div.help:last-child { - margin-bottom: 0; - padding-bottom: 0; -} - -form .aligned input + p.help, -form .aligned textarea + p.help, -form .aligned select + p.help, -form .aligned input + div.help, -form .aligned textarea + div.help, -form .aligned select + div.help { - margin-left: 160px; - padding-left: 10px; -} - -form .aligned ul li { - list-style: none; -} - -form .aligned table p { - margin-left: 0; - padding-left: 0; -} - -.aligned .vCheckboxLabel { - float: none; - width: auto; - display: inline-block; - vertical-align: -3px; - padding: 0 0 5px 5px; -} - -.aligned .vCheckboxLabel + p.help, -.aligned .vCheckboxLabel + div.help { - margin-top: -4px; -} - -.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField { - width: 610px; -} - -fieldset .fieldBox { - margin-right: 20px; -} - -/* WIDE FIELDSETS */ - -.wide label { - width: 200px; -} - -form .wide p, -form .wide ul.errorlist, -form .wide input + p.help, -form .wide input + div.help { - margin-left: 200px; -} - -form .wide p.help, -form .wide div.help { - padding-left: 50px; -} - -form div.help ul { - padding-left: 0; - margin-left: 0; -} - -.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField { - width: 450px; -} - -/* COLLAPSED FIELDSETS */ - -fieldset.collapsed * { - display: none; -} - -fieldset.collapsed h2, fieldset.collapsed { - display: block; -} - -fieldset.collapsed { - border: 1px solid var(--hairline-color); - border-radius: 4px; - overflow: hidden; -} - -fieldset.collapsed h2 { - background: var(--darkened-bg); - color: var(--body-quiet-color); -} - -fieldset .collapse-toggle { - color: var(--header-link-color); -} - -fieldset.collapsed .collapse-toggle { - background: transparent; - display: inline; - color: var(--link-fg); -} - -/* MONOSPACE TEXTAREAS */ - -fieldset.monospace textarea { - font-family: var(--font-family-monospace); -} - -/* SUBMIT ROW */ - -.submit-row { - padding: 12px 14px 12px; - margin: 0 0 20px; - background: var(--darkened-bg); - border: 1px solid var(--hairline-color); - border-radius: 4px; - overflow: hidden; - display: flex; - gap: 10px; - flex-wrap: wrap; -} - -body.popup .submit-row { - overflow: auto; -} - -.submit-row input { - height: 2.1875rem; - line-height: 0.9375rem; -} - -.submit-row input, .submit-row a { - margin: 0; -} - -.submit-row input.default { - text-transform: uppercase; -} - -.submit-row a.deletelink { - margin-left: auto; -} - -.submit-row a.deletelink { - display: block; - background: var(--delete-button-bg); - border-radius: 4px; - padding: 0.625rem 0.9375rem; - height: 0.9375rem; - line-height: 0.9375rem; - color: var(--button-fg); -} - -.submit-row a.closelink { - display: inline-block; - background: var(--close-button-bg); - border-radius: 4px; - padding: 10px 15px; - height: 0.9375rem; - line-height: 0.9375rem; - color: var(--button-fg); -} - -.submit-row a.deletelink:focus, -.submit-row a.deletelink:hover, -.submit-row a.deletelink:active { - background: var(--delete-button-hover-bg); - text-decoration: none; -} - -.submit-row a.closelink:focus, -.submit-row a.closelink:hover, -.submit-row a.closelink:active { - background: var(--close-button-hover-bg); - text-decoration: none; -} - -/* CUSTOM FORM FIELDS */ - -.vSelectMultipleField { - vertical-align: top; -} - -.vCheckboxField { - border: none; -} - -.vDateField, .vTimeField { - margin-right: 2px; - margin-bottom: 4px; -} - -.vDateField { - min-width: 6.85em; -} - -.vTimeField { - min-width: 4.7em; -} - -.vURLField { - width: 30em; -} - -.vLargeTextField, .vXMLLargeTextField { - width: 48em; -} - -.flatpages-flatpage #id_content { - height: 40.2em; -} - -.module table .vPositiveSmallIntegerField { - width: 2.2em; -} - -.vIntegerField { - width: 5em; -} - -.vBigIntegerField { - width: 10em; -} - -.vForeignKeyRawIdAdminField { - width: 5em; -} - -.vTextField, .vUUIDField { - width: 20em; -} - -/* INLINES */ - -.inline-group { - padding: 0; - margin: 0 0 30px; -} - -.inline-group thead th { - padding: 8px 10px; -} - -.inline-group .aligned label { - width: 160px; -} - -.inline-related { - position: relative; -} - -.inline-related h3 { - margin: 0; - color: var(--body-quiet-color); - padding: 5px; - font-size: 0.8125rem; - background: var(--darkened-bg); - border-top: 1px solid var(--hairline-color); - border-bottom: 1px solid var(--hairline-color); -} - -.inline-related h3 span.delete { - float: right; -} - -.inline-related h3 span.delete label { - margin-left: 2px; - font-size: 0.6875rem; -} - -.inline-related fieldset { - margin: 0; - background: var(--body-bg); - border: none; - width: 100%; -} - -.inline-related fieldset.module h3 { - margin: 0; - padding: 2px 5px 3px 5px; - font-size: 0.6875rem; - text-align: left; - font-weight: bold; - background: #bcd; - color: var(--body-bg); -} - -.inline-group .tabular fieldset.module { - border: none; -} - -.inline-related.tabular fieldset.module table { - width: 100%; - overflow-x: scroll; -} - -.last-related fieldset { - border: none; -} - -.inline-group .tabular tr.has_original td { - padding-top: 2em; -} - -.inline-group .tabular tr td.original { - padding: 2px 0 0 0; - width: 0; - _position: relative; -} - -.inline-group .tabular th.original { - width: 0px; - padding: 0; -} - -.inline-group .tabular td.original p { - position: absolute; - left: 0; - height: 1.1em; - padding: 2px 9px; - overflow: hidden; - font-size: 0.5625rem; - font-weight: bold; - color: var(--body-quiet-color); - _width: 700px; -} - -.inline-group ul.tools { - padding: 0; - margin: 0; - list-style: none; -} - -.inline-group ul.tools li { - display: inline; - padding: 0 5px; -} - -.inline-group div.add-row, -.inline-group .tabular tr.add-row td { - color: var(--body-quiet-color); - background: var(--darkened-bg); - padding: 8px 10px; - border-bottom: 1px solid var(--hairline-color); -} - -.inline-group .tabular tr.add-row td { - padding: 8px 10px; - border-bottom: 1px solid var(--hairline-color); -} - -.inline-group ul.tools a.add, -.inline-group div.add-row a, -.inline-group .tabular tr.add-row td a { - background: url(../img/icon-addlink.svg) 0 1px no-repeat; - padding-left: 16px; - font-size: 0.75rem; -} - -.empty-form { - display: none; -} - -/* RELATED FIELD ADD ONE / LOOKUP */ - -.related-lookup { - margin-left: 5px; - display: inline-block; - vertical-align: middle; - background-repeat: no-repeat; - background-size: 14px; -} - -.related-lookup { - width: 1rem; - height: 1rem; - background-image: url(../img/search.svg); -} - -form .related-widget-wrapper ul { - display: inline-block; - margin-left: 0; - padding-left: 0; -} - -.clearable-file-input input { - margin-top: 0; -} diff --git a/djangoProject/staticfiles/admin/css/login.css b/djangoProject/staticfiles/admin/css/login.css deleted file mode 100644 index 389772f5..00000000 --- a/djangoProject/staticfiles/admin/css/login.css +++ /dev/null @@ -1,61 +0,0 @@ -/* LOGIN FORM */ - -.login { - background: var(--darkened-bg); - height: auto; -} - -.login #header { - height: auto; - padding: 15px 16px; - justify-content: center; -} - -.login #header h1 { - font-size: 1.125rem; - margin: 0; -} - -.login #header h1 a { - color: var(--header-link-color); -} - -.login #content { - padding: 20px 20px 0; -} - -.login #container { - background: var(--body-bg); - border: 1px solid var(--hairline-color); - border-radius: 4px; - overflow: hidden; - width: 28em; - min-width: 300px; - margin: 100px auto; - height: auto; -} - -.login .form-row { - padding: 4px 0; -} - -.login .form-row label { - display: block; - line-height: 2em; -} - -.login .form-row #id_username, .login .form-row #id_password { - padding: 8px; - width: 100%; - box-sizing: border-box; -} - -.login .submit-row { - padding: 1em 0 0 0; - margin: 0; - text-align: center; -} - -.login .password-reset-link { - text-align: center; -} diff --git a/djangoProject/staticfiles/admin/css/nav_sidebar.css b/djangoProject/staticfiles/admin/css/nav_sidebar.css deleted file mode 100644 index 7eb0de97..00000000 --- a/djangoProject/staticfiles/admin/css/nav_sidebar.css +++ /dev/null @@ -1,150 +0,0 @@ -.sticky { - position: sticky; - top: 0; - max-height: 100vh; -} - -.toggle-nav-sidebar { - z-index: 20; - left: 0; - display: flex; - align-items: center; - justify-content: center; - flex: 0 0 23px; - width: 23px; - border: 0; - border-right: 1px solid var(--hairline-color); - background-color: var(--body-bg); - cursor: pointer; - font-size: 1.25rem; - color: var(--link-fg); - padding: 0; -} - -[dir="rtl"] .toggle-nav-sidebar { - border-left: 1px solid var(--hairline-color); - border-right: 0; -} - -.toggle-nav-sidebar:hover, -.toggle-nav-sidebar:focus { - background-color: var(--darkened-bg); -} - -#nav-sidebar { - z-index: 15; - flex: 0 0 275px; - left: -276px; - margin-left: -276px; - border-top: 1px solid transparent; - border-right: 1px solid var(--hairline-color); - background-color: var(--body-bg); - overflow: auto; -} - -[dir="rtl"] #nav-sidebar { - border-left: 1px solid var(--hairline-color); - border-right: 0; - left: 0; - margin-left: 0; - right: -276px; - margin-right: -276px; -} - -.toggle-nav-sidebar::before { - content: '\00BB'; -} - -.main.shifted .toggle-nav-sidebar::before { - content: '\00AB'; -} - -.main > #nav-sidebar { - visibility: hidden; -} - -.main.shifted > #nav-sidebar { - margin-left: 0; - visibility: visible; -} - -[dir="rtl"] .main.shifted > #nav-sidebar { - margin-right: 0; -} - -#nav-sidebar .module th { - width: 100%; - overflow-wrap: anywhere; -} - -#nav-sidebar .module th, -#nav-sidebar .module caption { - padding-left: 16px; -} - -#nav-sidebar .module td { - white-space: nowrap; -} - -[dir="rtl"] #nav-sidebar .module th, -[dir="rtl"] #nav-sidebar .module caption { - padding-left: 8px; - padding-right: 16px; -} - -#nav-sidebar .current-app .section:link, -#nav-sidebar .current-app .section:visited { - color: var(--header-color); - font-weight: bold; -} - -#nav-sidebar .current-model { - background: var(--selected-row); -} - -@media (forced-colors: active) { - #nav-sidebar .current-model { - background-color: SelectedItem; - } -} - -.main > #nav-sidebar + .content { - max-width: calc(100% - 23px); -} - -.main.shifted > #nav-sidebar + .content { - max-width: calc(100% - 299px); -} - -@media (max-width: 767px) { - #nav-sidebar, #toggle-nav-sidebar { - display: none; - } - - .main > #nav-sidebar + .content, - .main.shifted > #nav-sidebar + .content { - max-width: 100%; - } -} - -#nav-filter { - width: 100%; - box-sizing: border-box; - padding: 2px 5px; - margin: 5px 0; - border: 1px solid var(--border-color); - background-color: var(--darkened-bg); - color: var(--body-fg); -} - -#nav-filter:focus { - border-color: var(--body-quiet-color); -} - -#nav-filter.no-results { - background: var(--message-error-bg); -} - -#nav-sidebar table { - width: 100%; -} diff --git a/djangoProject/staticfiles/admin/css/responsive.css b/djangoProject/staticfiles/admin/css/responsive.css deleted file mode 100644 index bb539456..00000000 --- a/djangoProject/staticfiles/admin/css/responsive.css +++ /dev/null @@ -1,970 +0,0 @@ -/* Tablets */ - -input[type="submit"], button { - -webkit-appearance: none; - appearance: none; -} - -@media (max-width: 1024px) { - /* Basic */ - - html { - -webkit-text-size-adjust: 100%; - } - - td, th { - padding: 10px; - font-size: 0.875rem; - } - - .small { - font-size: 0.75rem; - } - - /* Layout */ - - #container { - min-width: 0; - } - - #content { - padding: 15px 20px 20px; - } - - div.breadcrumbs { - padding: 10px 30px; - } - - /* Header */ - - #header { - flex-direction: column; - padding: 15px 30px; - justify-content: flex-start; - } - - #site-name { - margin: 0 0 8px; - line-height: 1.2; - } - - #user-tools { - margin: 0; - font-weight: 400; - line-height: 1.85; - text-align: left; - } - - #user-tools a { - display: inline-block; - line-height: 1.4; - } - - /* Dashboard */ - - .dashboard #content { - width: auto; - } - - #content-related { - margin-right: -290px; - } - - .colSM #content-related { - margin-left: -290px; - } - - .colMS { - margin-right: 290px; - } - - .colSM { - margin-left: 290px; - } - - .dashboard .module table td a { - padding-right: 0; - } - - td .changelink, td .addlink { - font-size: 0.8125rem; - } - - /* Changelist */ - - #toolbar { - border: none; - padding: 15px; - } - - #changelist-search > div { - display: flex; - flex-wrap: nowrap; - max-width: 480px; - } - - #changelist-search label { - line-height: 1.375rem; - } - - #toolbar form #searchbar { - flex: 1 0 auto; - width: 0; - height: 1.375rem; - margin: 0 10px 0 6px; - } - - #toolbar form input[type=submit] { - flex: 0 1 auto; - } - - #changelist-search .quiet { - width: 0; - flex: 1 0 auto; - margin: 5px 0 0 25px; - } - - #changelist .actions { - display: flex; - flex-wrap: wrap; - padding: 15px 0; - } - - #changelist .actions label { - display: flex; - } - - #changelist .actions select { - background: var(--body-bg); - } - - #changelist .actions .button { - min-width: 48px; - margin: 0 10px; - } - - #changelist .actions span.all, - #changelist .actions span.clear, - #changelist .actions span.question, - #changelist .actions span.action-counter { - font-size: 0.6875rem; - margin: 0 10px 0 0; - } - - #changelist-filter { - flex-basis: 200px; - } - - .change-list .filtered .results, - .change-list .filtered .paginator, - .filtered #toolbar, - .filtered .actions, - - #changelist .paginator { - border-top-color: var(--hairline-color); /* XXX Is this used at all? */ - } - - #changelist .results + .paginator { - border-top: none; - } - - /* Forms */ - - label { - font-size: 0.875rem; - } - - .form-row input[type=text], - .form-row input[type=password], - .form-row input[type=email], - .form-row input[type=url], - .form-row input[type=tel], - .form-row input[type=number], - .form-row textarea, - .form-row select, - .form-row .vTextField { - box-sizing: border-box; - margin: 0; - padding: 6px 8px; - min-height: 2.25rem; - font-size: 0.875rem; - } - - .form-row select { - height: 2.25rem; - } - - .form-row select[multiple] { - height: auto; - min-height: 0; - } - - fieldset .fieldBox + .fieldBox { - margin-top: 10px; - padding-top: 10px; - border-top: 1px solid var(--hairline-color); - } - - textarea { - max-width: 100%; - max-height: 120px; - } - - .aligned label { - padding-top: 6px; - } - - .aligned .related-lookup, - .aligned .datetimeshortcuts, - .aligned .related-lookup + strong { - align-self: center; - margin-left: 15px; - } - - form .aligned div.radiolist { - margin-left: 2px; - } - - .submit-row { - padding: 8px; - } - - .submit-row a.deletelink { - padding: 10px 7px; - } - - .button, input[type=submit], input[type=button], .submit-row input, a.button { - padding: 7px; - } - - /* Selector */ - - .selector { - display: flex; - width: 100%; - } - - .selector .selector-filter { - display: flex; - align-items: center; - } - - .selector .selector-filter label { - margin: 0 8px 0 0; - } - - .selector .selector-filter input { - width: 100%; - min-height: 0; - flex: 1 1; - } - - .selector-available, .selector-chosen { - width: auto; - flex: 1 1; - display: flex; - flex-direction: column; - } - - .selector select { - width: 100%; - flex: 1 0 auto; - margin-bottom: 5px; - } - - .selector ul.selector-chooser { - width: 26px; - height: 52px; - padding: 2px 0; - border-radius: 20px; - transform: translateY(-10px); - } - - .selector-add, .selector-remove { - width: 20px; - height: 20px; - background-size: 20px auto; - } - - .selector-add { - background-position: 0 -120px; - } - - .selector-remove { - background-position: 0 -80px; - } - - a.selector-chooseall, a.selector-clearall { - align-self: center; - } - - .stacked { - flex-direction: column; - max-width: 480px; - } - - .stacked > * { - flex: 0 1 auto; - } - - .stacked select { - margin-bottom: 0; - } - - .stacked .selector-available, .stacked .selector-chosen { - width: auto; - } - - .stacked ul.selector-chooser { - width: 52px; - height: 26px; - padding: 0 2px; - transform: none; - } - - .stacked .selector-chooser li { - padding: 3px; - } - - .stacked .selector-add, .stacked .selector-remove { - background-size: 20px auto; - } - - .stacked .selector-add { - background-position: 0 -40px; - } - - .stacked .active.selector-add { - background-position: 0 -40px; - } - - .active.selector-add:focus, .active.selector-add:hover { - background-position: 0 -140px; - } - - .stacked .active.selector-add:focus, .stacked .active.selector-add:hover { - background-position: 0 -60px; - } - - .stacked .selector-remove { - background-position: 0 0; - } - - .stacked .active.selector-remove { - background-position: 0 0; - } - - .active.selector-remove:focus, .active.selector-remove:hover { - background-position: 0 -100px; - } - - .stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover { - background-position: 0 -20px; - } - - .help-tooltip, .selector .help-icon { - display: none; - } - - .datetime input { - width: 50%; - max-width: 120px; - } - - .datetime span { - font-size: 0.8125rem; - } - - .datetime .timezonewarning { - display: block; - font-size: 0.6875rem; - color: var(--body-quiet-color); - } - - .datetimeshortcuts { - color: var(--border-color); /* XXX Redundant, .datetime span also sets #ccc */ - } - - .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { - width: 75%; - } - - .inline-group { - overflow: auto; - } - - /* Messages */ - - ul.messagelist li { - padding-left: 55px; - background-position: 30px 12px; - } - - ul.messagelist li.error { - background-position: 30px 12px; - } - - ul.messagelist li.warning { - background-position: 30px 14px; - } - - /* Login */ - - .login #header { - padding: 15px 20px; - } - - .login #site-name { - margin: 0; - } - - /* GIS */ - - div.olMap { - max-width: calc(100vw - 30px); - max-height: 300px; - } - - .olMap + .clear_features { - display: block; - margin-top: 10px; - } - - /* Docs */ - - .module table.xfull { - width: 100%; - } - - pre.literal-block { - overflow: auto; - } -} - -/* Mobile */ - -@media (max-width: 767px) { - /* Layout */ - - #header, #content, #footer { - padding: 15px; - } - - #footer:empty { - padding: 0; - } - - div.breadcrumbs { - padding: 10px 15px; - } - - /* Dashboard */ - - .colMS, .colSM { - margin: 0; - } - - #content-related, .colSM #content-related { - width: 100%; - margin: 0; - } - - #content-related .module { - margin-bottom: 0; - } - - #content-related .module h2 { - padding: 10px 15px; - font-size: 1rem; - } - - /* Changelist */ - - #changelist { - align-items: stretch; - flex-direction: column; - } - - #toolbar { - padding: 10px; - } - - #changelist-filter { - margin-left: 0; - } - - #changelist .actions label { - flex: 1 1; - } - - #changelist .actions select { - flex: 1 0; - width: 100%; - } - - #changelist .actions span { - flex: 1 0 100%; - } - - #changelist-filter { - position: static; - width: auto; - margin-top: 30px; - } - - .object-tools { - float: none; - margin: 0 0 15px; - padding: 0; - overflow: hidden; - } - - .object-tools li { - height: auto; - margin-left: 0; - } - - .object-tools li + li { - margin-left: 15px; - } - - /* Forms */ - - .form-row { - padding: 15px 0; - } - - .aligned .form-row, - .aligned .form-row > div { - max-width: 100vw; - } - - .aligned .form-row > div { - width: calc(100vw - 30px); - } - - .flex-container { - flex-flow: column; - } - - .flex-container.checkbox-row { - flex-flow: row; - } - - textarea { - max-width: none; - } - - .vURLField { - width: auto; - } - - fieldset .fieldBox + .fieldBox { - margin-top: 15px; - padding-top: 15px; - } - - fieldset.collapsed .form-row { - display: none; - } - - .aligned label { - width: 100%; - min-width: auto; - padding: 0 0 10px; - } - - .aligned label:after { - max-height: 0; - } - - .aligned .form-row input, - .aligned .form-row select, - .aligned .form-row textarea { - flex: 1 1 auto; - max-width: 100%; - } - - .aligned .checkbox-row input { - flex: 0 1 auto; - margin: 0; - } - - .aligned .vCheckboxLabel { - flex: 1 0; - padding: 1px 0 0 5px; - } - - .aligned label + p, - .aligned label + div.help, - .aligned label + div.readonly { - padding: 0; - margin-left: 0; - } - - .aligned p.file-upload { - font-size: 0.8125rem; - } - - span.clearable-file-input { - margin-left: 15px; - } - - span.clearable-file-input label { - font-size: 0.8125rem; - padding-bottom: 0; - } - - .aligned .timezonewarning { - flex: 1 0 100%; - margin-top: 5px; - } - - form .aligned .form-row div.help { - width: 100%; - margin: 5px 0 0; - padding: 0; - } - - form .aligned ul, - form .aligned ul.errorlist { - margin-left: 0; - padding-left: 0; - } - - form .aligned div.radiolist { - margin-top: 5px; - margin-right: 15px; - margin-bottom: -3px; - } - - form .aligned div.radiolist:not(.inline) div + div { - margin-top: 5px; - } - - /* Related widget */ - - .related-widget-wrapper { - width: 100%; - display: flex; - align-items: flex-start; - } - - .related-widget-wrapper .selector { - order: 1; - } - - .related-widget-wrapper > a { - order: 2; - } - - .related-widget-wrapper .radiolist ~ a { - align-self: flex-end; - } - - .related-widget-wrapper > select ~ a { - align-self: center; - } - - /* Selector */ - - .selector { - flex-direction: column; - gap: 10px 0; - } - - .selector-available, .selector-chosen { - flex: 1 1 auto; - } - - .selector select { - max-height: 96px; - } - - .selector ul.selector-chooser { - display: block; - width: 52px; - height: 26px; - padding: 0 2px; - transform: none; - } - - .selector ul.selector-chooser li { - float: left; - } - - .selector-remove { - background-position: 0 0; - } - - .active.selector-remove:focus, .active.selector-remove:hover { - background-position: 0 -20px; - } - - .selector-add { - background-position: 0 -40px; - } - - .active.selector-add:focus, .active.selector-add:hover { - background-position: 0 -60px; - } - - /* Inlines */ - - .inline-group[data-inline-type="stacked"] .inline-related { - border: 1px solid var(--hairline-color); - border-radius: 4px; - margin-top: 15px; - overflow: auto; - } - - .inline-group[data-inline-type="stacked"] .inline-related > * { - box-sizing: border-box; - } - - .inline-group[data-inline-type="stacked"] .inline-related .module { - padding: 0 10px; - } - - .inline-group[data-inline-type="stacked"] .inline-related .module .form-row { - border-top: 1px solid var(--hairline-color); - border-bottom: none; - } - - .inline-group[data-inline-type="stacked"] .inline-related .module .form-row:first-child { - border-top: none; - } - - .inline-group[data-inline-type="stacked"] .inline-related h3 { - padding: 10px; - border-top-width: 0; - border-bottom-width: 2px; - display: flex; - flex-wrap: wrap; - align-items: center; - } - - .inline-group[data-inline-type="stacked"] .inline-related h3 .inline_label { - margin-right: auto; - } - - .inline-group[data-inline-type="stacked"] .inline-related h3 span.delete { - float: none; - flex: 1 1 100%; - margin-top: 5px; - } - - .inline-group[data-inline-type="stacked"] .aligned .form-row > div:not([class]) { - width: 100%; - } - - .inline-group[data-inline-type="stacked"] .aligned label { - width: 100%; - } - - .inline-group[data-inline-type="stacked"] div.add-row { - margin-top: 15px; - border: 1px solid var(--hairline-color); - border-radius: 4px; - } - - .inline-group div.add-row, - .inline-group .tabular tr.add-row td { - padding: 0; - } - - .inline-group div.add-row a, - .inline-group .tabular tr.add-row td a { - display: block; - padding: 8px 10px 8px 26px; - background-position: 8px 9px; - } - - /* Submit row */ - - .submit-row { - padding: 10px; - margin: 0 0 15px; - flex-direction: column; - gap: 8px; - } - - .submit-row input, .submit-row input.default, .submit-row a { - text-align: center; - } - - .submit-row a.closelink { - padding: 10px 0; - text-align: center; - } - - .submit-row a.deletelink { - margin: 0; - } - - /* Messages */ - - ul.messagelist li { - padding-left: 40px; - background-position: 15px 12px; - } - - ul.messagelist li.error { - background-position: 15px 12px; - } - - ul.messagelist li.warning { - background-position: 15px 14px; - } - - /* Paginator */ - - .paginator .this-page, .paginator a:link, .paginator a:visited { - padding: 4px 10px; - } - - /* Login */ - - body.login { - padding: 0 15px; - } - - .login #container { - width: auto; - max-width: 480px; - margin: 50px auto; - } - - .login #header, - .login #content { - padding: 15px; - } - - .login #content-main { - float: none; - } - - .login .form-row { - padding: 0; - } - - .login .form-row + .form-row { - margin-top: 15px; - } - - .login .form-row label { - margin: 0 0 5px; - line-height: 1.2; - } - - .login .submit-row { - padding: 15px 0 0; - } - - .login br { - display: none; - } - - .login .submit-row input { - margin: 0; - text-transform: uppercase; - } - - .errornote { - margin: 0 0 20px; - padding: 8px 12px; - font-size: 0.8125rem; - } - - /* Calendar and clock */ - - .calendarbox, .clockbox { - position: fixed !important; - top: 50% !important; - left: 50% !important; - transform: translate(-50%, -50%); - margin: 0; - border: none; - overflow: visible; - } - - .calendarbox:before, .clockbox:before { - content: ''; - position: fixed; - top: 50%; - left: 50%; - width: 100vw; - height: 100vh; - background: rgba(0, 0, 0, 0.75); - transform: translate(-50%, -50%); - } - - .calendarbox > *, .clockbox > * { - position: relative; - z-index: 1; - } - - .calendarbox > div:first-child { - z-index: 2; - } - - .calendarbox .calendar, .clockbox h2 { - border-radius: 4px 4px 0 0; - overflow: hidden; - } - - .calendarbox .calendar-cancel, .clockbox .calendar-cancel { - border-radius: 0 0 4px 4px; - overflow: hidden; - } - - .calendar-shortcuts { - padding: 10px 0; - font-size: 0.75rem; - line-height: 0.75rem; - } - - .calendar-shortcuts a { - margin: 0 4px; - } - - .timelist a { - background: var(--body-bg); - padding: 4px; - } - - .calendar-cancel { - padding: 8px 10px; - } - - .clockbox h2 { - padding: 8px 15px; - } - - .calendar caption { - padding: 10px; - } - - .calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { - z-index: 1; - top: 10px; - } - - /* History */ - - table#change-history tbody th, table#change-history tbody td { - font-size: 0.8125rem; - word-break: break-word; - } - - table#change-history tbody th { - width: auto; - } - - /* Docs */ - - table.model tbody th, table.model tbody td { - font-size: 0.8125rem; - word-break: break-word; - } -} diff --git a/djangoProject/staticfiles/admin/css/responsive_rtl.css b/djangoProject/staticfiles/admin/css/responsive_rtl.css deleted file mode 100644 index 31dc8ff7..00000000 --- a/djangoProject/staticfiles/admin/css/responsive_rtl.css +++ /dev/null @@ -1,84 +0,0 @@ -/* TABLETS */ - -@media (max-width: 1024px) { - [dir="rtl"] .colMS { - margin-right: 0; - } - - [dir="rtl"] #user-tools { - text-align: right; - } - - [dir="rtl"] #changelist .actions label { - padding-left: 10px; - padding-right: 0; - } - - [dir="rtl"] #changelist .actions select { - margin-left: 0; - margin-right: 15px; - } - - [dir="rtl"] .change-list .filtered .results, - [dir="rtl"] .change-list .filtered .paginator, - [dir="rtl"] .filtered #toolbar, - [dir="rtl"] .filtered div.xfull, - [dir="rtl"] .filtered .actions, - [dir="rtl"] #changelist-filter { - margin-left: 0; - } - - [dir="rtl"] .inline-group ul.tools a.add, - [dir="rtl"] .inline-group div.add-row a, - [dir="rtl"] .inline-group .tabular tr.add-row td a { - padding: 8px 26px 8px 10px; - background-position: calc(100% - 8px) 9px; - } - - [dir="rtl"] .related-widget-wrapper-link + .selector { - margin-right: 0; - margin-left: 15px; - } - - [dir="rtl"] .selector .selector-filter label { - margin-right: 0; - margin-left: 8px; - } - - [dir="rtl"] .object-tools li { - float: right; - } - - [dir="rtl"] .object-tools li + li { - margin-left: 0; - margin-right: 15px; - } - - [dir="rtl"] .dashboard .module table td a { - padding-left: 0; - padding-right: 16px; - } -} - -/* MOBILE */ - -@media (max-width: 767px) { - [dir="rtl"] .aligned .related-lookup, - [dir="rtl"] .aligned .datetimeshortcuts { - margin-left: 0; - margin-right: 15px; - } - - [dir="rtl"] .aligned ul, - [dir="rtl"] form .aligned ul.errorlist { - margin-right: 0; - } - - [dir="rtl"] #changelist-filter { - margin-left: 0; - margin-right: 0; - } - [dir="rtl"] .aligned .vCheckboxLabel { - padding: 1px 5px 0 0; - } -} diff --git a/djangoProject/staticfiles/admin/css/rtl.css b/djangoProject/staticfiles/admin/css/rtl.css deleted file mode 100644 index 9027c7ed..00000000 --- a/djangoProject/staticfiles/admin/css/rtl.css +++ /dev/null @@ -1,302 +0,0 @@ -/* GLOBAL */ - -th { - text-align: right; -} - -.module h2, .module caption { - text-align: right; -} - -.module ul, .module ol { - margin-left: 0; - margin-right: 1.5em; -} - -.viewlink, .addlink, .changelink, .hidelink { - padding-left: 0; - padding-right: 16px; - background-position: 100% 1px; -} - -.deletelink { - padding-left: 0; - padding-right: 16px; - background-position: 100% 1px; -} - -.object-tools { - float: left; -} - -thead th:first-child, -tfoot td:first-child { - border-left: none; -} - -/* LAYOUT */ - -#user-tools { - right: auto; - left: 0; - text-align: left; -} - -div.breadcrumbs { - text-align: right; -} - -#content-main { - float: right; -} - -#content-related { - float: left; - margin-left: -300px; - margin-right: auto; -} - -.colMS { - margin-left: 300px; - margin-right: 0; -} - -/* SORTABLE TABLES */ - -table thead th.sorted .sortoptions { - float: left; -} - -thead th.sorted .text { - padding-right: 0; - padding-left: 42px; -} - -/* dashboard styles */ - -.dashboard .module table td a { - padding-left: .6em; - padding-right: 16px; -} - -/* changelists styles */ - -.change-list .filtered table { - border-left: none; - border-right: 0px none; -} - -#changelist-filter { - border-left: none; - border-right: none; - margin-left: 0; - margin-right: 30px; -} - -#changelist-filter li.selected { - border-left: none; - padding-left: 10px; - margin-left: 0; - border-right: 5px solid var(--hairline-color); - padding-right: 10px; - margin-right: -15px; -} - -#changelist table tbody td:first-child, #changelist table tbody th:first-child { - border-right: none; - border-left: none; -} - -.paginator .end { - margin-left: 6px; - margin-right: 0; -} - -.paginator input { - margin-left: 0; - margin-right: auto; -} - -/* FORMS */ - -.aligned label { - padding: 0 0 3px 1em; -} - -.submit-row a.deletelink { - margin-left: 0; - margin-right: auto; -} - -.vDateField, .vTimeField { - margin-left: 2px; -} - -.aligned .form-row input { - margin-left: 5px; -} - -form .aligned ul { - margin-right: 163px; - padding-right: 10px; - margin-left: 0; - padding-left: 0; -} - -form ul.inline li { - float: right; - padding-right: 0; - padding-left: 7px; -} - -form .aligned p.help, -form .aligned div.help { - margin-right: 160px; - padding-right: 10px; -} - -form div.help ul, -form .aligned .checkbox-row + .help, -form .aligned p.date div.help.timezonewarning, -form .aligned p.datetime div.help.timezonewarning, -form .aligned p.time div.help.timezonewarning { - margin-right: 0; - padding-right: 0; -} - -form .wide p.help, form .wide div.help { - padding-left: 0; - padding-right: 50px; -} - -form .wide p, -form .wide ul.errorlist, -form .wide input + p.help, -form .wide input + div.help { - margin-right: 200px; - margin-left: 0px; -} - -.submit-row { - text-align: right; -} - -fieldset .fieldBox { - margin-left: 20px; - margin-right: 0; -} - -.errorlist li { - background-position: 100% 12px; - padding: 0; -} - -.errornote { - background-position: 100% 12px; - padding: 10px 12px; -} - -/* WIDGETS */ - -.calendarnav-previous { - top: 0; - left: auto; - right: 10px; - background: url(../img/calendar-icons.svg) 0 -30px no-repeat; -} - -.calendarbox .calendarnav-previous:focus, -.calendarbox .calendarnav-previous:hover { - background-position: 0 -45px; -} - -.calendarnav-next { - top: 0; - right: auto; - left: 10px; - background: url(../img/calendar-icons.svg) 0 0 no-repeat; -} - -.calendarbox .calendarnav-next:focus, -.calendarbox .calendarnav-next:hover { - background-position: 0 -15px; -} - -.calendar caption, .calendarbox h2 { - text-align: center; -} - -.selector { - float: right; -} - -.selector .selector-filter { - text-align: right; -} - -.selector-add { - background: url(../img/selector-icons.svg) 0 -64px no-repeat; -} - -.active.selector-add:focus, .active.selector-add:hover { - background-position: 0 -80px; -} - -.selector-remove { - background: url(../img/selector-icons.svg) 0 -96px no-repeat; -} - -.active.selector-remove:focus, .active.selector-remove:hover { - background-position: 0 -112px; -} - -a.selector-chooseall { - background: url(../img/selector-icons.svg) right -128px no-repeat; -} - -a.active.selector-chooseall:focus, a.active.selector-chooseall:hover { - background-position: 100% -144px; -} - -a.selector-clearall { - background: url(../img/selector-icons.svg) 0 -160px no-repeat; -} - -a.active.selector-clearall:focus, a.active.selector-clearall:hover { - background-position: 0 -176px; -} - -.inline-deletelink { - float: left; -} - -form .form-row p.datetime { - overflow: hidden; -} - -.related-widget-wrapper { - float: right; -} - -/* MISC */ - -.inline-related h2, .inline-group h2 { - text-align: right -} - -.inline-related h3 span.delete { - padding-right: 20px; - padding-left: inherit; - left: 10px; - right: inherit; - float:left; -} - -.inline-related h3 span.delete label { - margin-left: inherit; - margin-right: 2px; -} - -.selector .selector-chooser { - margin: 0; -} diff --git a/djangoProject/staticfiles/admin/css/vendor/select2/LICENSE-SELECT2.md b/djangoProject/staticfiles/admin/css/vendor/select2/LICENSE-SELECT2.md deleted file mode 100644 index 8cb8a2b1..00000000 --- a/djangoProject/staticfiles/admin/css/vendor/select2/LICENSE-SELECT2.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/djangoProject/staticfiles/admin/css/vendor/select2/select2.css b/djangoProject/staticfiles/admin/css/vendor/select2/select2.css deleted file mode 100644 index 750b3207..00000000 --- a/djangoProject/staticfiles/admin/css/vendor/select2/select2.css +++ /dev/null @@ -1,481 +0,0 @@ -.select2-container { - box-sizing: border-box; - display: inline-block; - margin: 0; - position: relative; - vertical-align: middle; } - .select2-container .select2-selection--single { - box-sizing: border-box; - cursor: pointer; - display: block; - height: 28px; - user-select: none; - -webkit-user-select: none; } - .select2-container .select2-selection--single .select2-selection__rendered { - display: block; - padding-left: 8px; - padding-right: 20px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; } - .select2-container .select2-selection--single .select2-selection__clear { - position: relative; } - .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { - padding-right: 8px; - padding-left: 20px; } - .select2-container .select2-selection--multiple { - box-sizing: border-box; - cursor: pointer; - display: block; - min-height: 32px; - user-select: none; - -webkit-user-select: none; } - .select2-container .select2-selection--multiple .select2-selection__rendered { - display: inline-block; - overflow: hidden; - padding-left: 8px; - text-overflow: ellipsis; - white-space: nowrap; } - .select2-container .select2-search--inline { - float: left; } - .select2-container .select2-search--inline .select2-search__field { - box-sizing: border-box; - border: none; - font-size: 100%; - margin-top: 5px; - padding: 0; } - .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { - -webkit-appearance: none; } - -.select2-dropdown { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - box-sizing: border-box; - display: block; - position: absolute; - left: -100000px; - width: 100%; - z-index: 1051; } - -.select2-results { - display: block; } - -.select2-results__options { - list-style: none; - margin: 0; - padding: 0; } - -.select2-results__option { - padding: 6px; - user-select: none; - -webkit-user-select: none; } - .select2-results__option[aria-selected] { - cursor: pointer; } - -.select2-container--open .select2-dropdown { - left: 0; } - -.select2-container--open .select2-dropdown--above { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--open .select2-dropdown--below { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-search--dropdown { - display: block; - padding: 4px; } - .select2-search--dropdown .select2-search__field { - padding: 4px; - width: 100%; - box-sizing: border-box; } - .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { - -webkit-appearance: none; } - .select2-search--dropdown.select2-search--hide { - display: none; } - -.select2-close-mask { - border: 0; - margin: 0; - padding: 0; - display: block; - position: fixed; - left: 0; - top: 0; - min-height: 100%; - min-width: 100%; - height: auto; - width: auto; - opacity: 0; - z-index: 99; - background-color: #fff; - filter: alpha(opacity=0); } - -.select2-hidden-accessible { - border: 0 !important; - clip: rect(0 0 0 0) !important; - -webkit-clip-path: inset(50%) !important; - clip-path: inset(50%) !important; - height: 1px !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - width: 1px !important; - white-space: nowrap !important; } - -.select2-container--default .select2-selection--single { - background-color: #fff; - border: 1px solid #aaa; - border-radius: 4px; } - .select2-container--default .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 28px; } - .select2-container--default .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; } - .select2-container--default .select2-selection--single .select2-selection__placeholder { - color: #999; } - .select2-container--default .select2-selection--single .select2-selection__arrow { - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; } - .select2-container--default .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; } - -.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; } - -.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { - left: 1px; - right: auto; } - -.select2-container--default.select2-container--disabled .select2-selection--single { - background-color: #eee; - cursor: default; } - .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { - display: none; } - -.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; } - -.select2-container--default .select2-selection--multiple { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - cursor: text; } - .select2-container--default .select2-selection--multiple .select2-selection__rendered { - box-sizing: border-box; - list-style: none; - margin: 0; - padding: 0 5px; - width: 100%; } - .select2-container--default .select2-selection--multiple .select2-selection__rendered li { - list-style: none; } - .select2-container--default .select2-selection--multiple .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - margin-top: 5px; - margin-right: 10px; - padding: 1px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #aaa; - border-radius: 4px; - cursor: default; - float: left; - margin-right: 5px; - margin-top: 5px; - padding: 0 5px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { - color: #999; - cursor: pointer; - display: inline-block; - font-weight: bold; - margin-right: 2px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { - color: #333; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { - float: right; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - margin-left: 5px; - margin-right: auto; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - margin-left: 2px; - margin-right: auto; } - -.select2-container--default.select2-container--focus .select2-selection--multiple { - border: solid black 1px; - outline: 0; } - -.select2-container--default.select2-container--disabled .select2-selection--multiple { - background-color: #eee; - cursor: default; } - -.select2-container--default.select2-container--disabled .select2-selection__choice__remove { - display: none; } - -.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--default .select2-search--dropdown .select2-search__field { - border: 1px solid #aaa; } - -.select2-container--default .select2-search--inline .select2-search__field { - background: transparent; - border: none; - outline: 0; - box-shadow: none; - -webkit-appearance: textfield; } - -.select2-container--default .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; } - -.select2-container--default .select2-results__option[role=group] { - padding: 0; } - -.select2-container--default .select2-results__option[aria-disabled=true] { - color: #999; } - -.select2-container--default .select2-results__option[aria-selected=true] { - background-color: #ddd; } - -.select2-container--default .select2-results__option .select2-results__option { - padding-left: 1em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__group { - padding-left: 0; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option { - margin-left: -1em; - padding-left: 2em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -2em; - padding-left: 3em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -3em; - padding-left: 4em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -4em; - padding-left: 5em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -5em; - padding-left: 6em; } - -.select2-container--default .select2-results__option--highlighted[aria-selected] { - background-color: #5897fb; - color: white; } - -.select2-container--default .select2-results__group { - cursor: default; - display: block; - padding: 6px; } - -.select2-container--classic .select2-selection--single { - background-color: #f7f7f7; - border: 1px solid #aaa; - border-radius: 4px; - outline: 0; - background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); - background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); - background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } - .select2-container--classic .select2-selection--single:focus { - border: 1px solid #5897fb; } - .select2-container--classic .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 28px; } - .select2-container--classic .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - margin-right: 10px; } - .select2-container--classic .select2-selection--single .select2-selection__placeholder { - color: #999; } - .select2-container--classic .select2-selection--single .select2-selection__arrow { - background-color: #ddd; - border: none; - border-left: 1px solid #aaa; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; - background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); - background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); - background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } - .select2-container--classic .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; } - -.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; } - -.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { - border: none; - border-right: 1px solid #aaa; - border-radius: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - left: 1px; - right: auto; } - -.select2-container--classic.select2-container--open .select2-selection--single { - border: 1px solid #5897fb; } - .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { - background: transparent; - border: none; } - .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; } - -.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; - background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); - background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); - background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } - -.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); - background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); - background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } - -.select2-container--classic .select2-selection--multiple { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - cursor: text; - outline: 0; } - .select2-container--classic .select2-selection--multiple:focus { - border: 1px solid #5897fb; } - .select2-container--classic .select2-selection--multiple .select2-selection__rendered { - list-style: none; - margin: 0; - padding: 0 5px; } - .select2-container--classic .select2-selection--multiple .select2-selection__clear { - display: none; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #aaa; - border-radius: 4px; - cursor: default; - float: left; - margin-right: 5px; - margin-top: 5px; - padding: 0 5px; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { - color: #888; - cursor: pointer; - display: inline-block; - font-weight: bold; - margin-right: 2px; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { - color: #555; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - float: right; - margin-left: 5px; - margin-right: auto; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - margin-left: 2px; - margin-right: auto; } - -.select2-container--classic.select2-container--open .select2-selection--multiple { - border: 1px solid #5897fb; } - -.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--classic .select2-search--dropdown .select2-search__field { - border: 1px solid #aaa; - outline: 0; } - -.select2-container--classic .select2-search--inline .select2-search__field { - outline: 0; - box-shadow: none; } - -.select2-container--classic .select2-dropdown { - background-color: white; - border: 1px solid transparent; } - -.select2-container--classic .select2-dropdown--above { - border-bottom: none; } - -.select2-container--classic .select2-dropdown--below { - border-top: none; } - -.select2-container--classic .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; } - -.select2-container--classic .select2-results__option[role=group] { - padding: 0; } - -.select2-container--classic .select2-results__option[aria-disabled=true] { - color: grey; } - -.select2-container--classic .select2-results__option--highlighted[aria-selected] { - background-color: #3875d7; - color: white; } - -.select2-container--classic .select2-results__group { - cursor: default; - display: block; - padding: 6px; } - -.select2-container--classic.select2-container--open .select2-dropdown { - border-color: #5897fb; } diff --git a/djangoProject/staticfiles/admin/css/vendor/select2/select2.min.css b/djangoProject/staticfiles/admin/css/vendor/select2/select2.min.css deleted file mode 100644 index 7c18ad59..00000000 --- a/djangoProject/staticfiles/admin/css/vendor/select2/select2.min.css +++ /dev/null @@ -1 +0,0 @@ -.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/djangoProject/staticfiles/admin/css/widgets.css b/djangoProject/staticfiles/admin/css/widgets.css deleted file mode 100644 index d3d4732c..00000000 --- a/djangoProject/staticfiles/admin/css/widgets.css +++ /dev/null @@ -1,603 +0,0 @@ -/* SELECTOR (FILTER INTERFACE) */ - -.selector { - display: flex; - flex-grow: 1; - gap: 0 10px; -} - -.selector select { - height: 17.2em; - flex: 1 0 auto; - overflow: scroll; - width: 100%; -} - -.selector-available, .selector-chosen { - text-align: center; - display: flex; - flex-direction: column; - flex: 1 1; -} - -.selector-available h2, .selector-chosen h2 { - border: 1px solid var(--border-color); - border-radius: 4px 4px 0 0; -} - -.selector-chosen .list-footer-display { - border: 1px solid var(--border-color); - border-top: none; - border-radius: 0 0 4px 4px; - margin: 0 0 10px; - padding: 8px; - text-align: center; - background: var(--primary); - color: var(--header-link-color); - cursor: pointer; -} -.selector-chosen .list-footer-display__clear { - color: var(--breadcrumbs-fg); -} - -.selector-chosen h2 { - background: var(--secondary); - color: var(--header-link-color); -} - -.selector .selector-available h2 { - background: var(--darkened-bg); - color: var(--body-quiet-color); -} - -.selector .selector-filter { - border: 1px solid var(--border-color); - border-width: 0 1px; - padding: 8px; - color: var(--body-quiet-color); - font-size: 0.625rem; - margin: 0; - text-align: left; - display: flex; -} - -.selector .selector-filter label, -.inline-group .aligned .selector .selector-filter label { - float: left; - margin: 7px 0 0; - width: 18px; - height: 18px; - padding: 0; - overflow: hidden; - line-height: 1; - min-width: auto; -} - -.selector-filter input { - flex-grow: 1; -} - -.selector .selector-available input, -.selector .selector-chosen input { - margin-left: 8px; -} - -.selector ul.selector-chooser { - align-self: center; - width: 22px; - background-color: var(--selected-bg); - border-radius: 10px; - margin: 0; - padding: 0; - transform: translateY(-17px); -} - -.selector-chooser li { - margin: 0; - padding: 3px; - list-style-type: none; -} - -.selector select { - padding: 0 10px; - margin: 0 0 10px; - border-radius: 0 0 4px 4px; -} -.selector .selector-chosen--with-filtered select { - margin: 0; - border-radius: 0; - height: 14em; -} - -.selector .selector-chosen:not(.selector-chosen--with-filtered) .list-footer-display { - display: none; -} - -.selector-add, .selector-remove { - width: 16px; - height: 16px; - display: block; - text-indent: -3000px; - overflow: hidden; - cursor: default; - opacity: 0.55; -} - -.active.selector-add, .active.selector-remove { - opacity: 1; -} - -.active.selector-add:hover, .active.selector-remove:hover { - cursor: pointer; -} - -.selector-add { - background: url(../img/selector-icons.svg) 0 -96px no-repeat; -} - -.active.selector-add:focus, .active.selector-add:hover { - background-position: 0 -112px; -} - -.selector-remove { - background: url(../img/selector-icons.svg) 0 -64px no-repeat; -} - -.active.selector-remove:focus, .active.selector-remove:hover { - background-position: 0 -80px; -} - -a.selector-chooseall, a.selector-clearall { - display: inline-block; - height: 16px; - text-align: left; - margin: 0 auto; - overflow: hidden; - font-weight: bold; - line-height: 16px; - color: var(--body-quiet-color); - text-decoration: none; - opacity: 0.55; -} - -a.active.selector-chooseall:focus, a.active.selector-clearall:focus, -a.active.selector-chooseall:hover, a.active.selector-clearall:hover { - color: var(--link-fg); -} - -a.active.selector-chooseall, a.active.selector-clearall { - opacity: 1; -} - -a.active.selector-chooseall:hover, a.active.selector-clearall:hover { - cursor: pointer; -} - -a.selector-chooseall { - padding: 0 18px 0 0; - background: url(../img/selector-icons.svg) right -160px no-repeat; - cursor: default; -} - -a.active.selector-chooseall:focus, a.active.selector-chooseall:hover { - background-position: 100% -176px; -} - -a.selector-clearall { - padding: 0 0 0 18px; - background: url(../img/selector-icons.svg) 0 -128px no-repeat; - cursor: default; -} - -a.active.selector-clearall:focus, a.active.selector-clearall:hover { - background-position: 0 -144px; -} - -/* STACKED SELECTORS */ - -.stacked { - float: left; - width: 490px; - display: block; -} - -.stacked select { - width: 480px; - height: 10.1em; -} - -.stacked .selector-available, .stacked .selector-chosen { - width: 480px; -} - -.stacked .selector-available { - margin-bottom: 0; -} - -.stacked .selector-available input { - width: 422px; -} - -.stacked ul.selector-chooser { - height: 22px; - width: 50px; - margin: 0 0 10px 40%; - background-color: #eee; - border-radius: 10px; - transform: none; -} - -.stacked .selector-chooser li { - float: left; - padding: 3px 3px 3px 5px; -} - -.stacked .selector-chooseall, .stacked .selector-clearall { - display: none; -} - -.stacked .selector-add { - background: url(../img/selector-icons.svg) 0 -32px no-repeat; - cursor: default; -} - -.stacked .active.selector-add { - background-position: 0 -32px; - cursor: pointer; -} - -.stacked .active.selector-add:focus, .stacked .active.selector-add:hover { - background-position: 0 -48px; - cursor: pointer; -} - -.stacked .selector-remove { - background: url(../img/selector-icons.svg) 0 0 no-repeat; - cursor: default; -} - -.stacked .active.selector-remove { - background-position: 0 0px; - cursor: pointer; -} - -.stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover { - background-position: 0 -16px; - cursor: pointer; -} - -.selector .help-icon { - background: url(../img/icon-unknown.svg) 0 0 no-repeat; - display: inline-block; - vertical-align: middle; - margin: -2px 0 0 2px; - width: 13px; - height: 13px; -} - -.selector .selector-chosen .help-icon { - background: url(../img/icon-unknown-alt.svg) 0 0 no-repeat; -} - -.selector .search-label-icon { - background: url(../img/search.svg) 0 0 no-repeat; - display: inline-block; - height: 1.125rem; - width: 1.125rem; -} - -/* DATE AND TIME */ - -p.datetime { - line-height: 20px; - margin: 0; - padding: 0; - color: var(--body-quiet-color); - font-weight: bold; -} - -.datetime span { - white-space: nowrap; - font-weight: normal; - font-size: 0.6875rem; - color: var(--body-quiet-color); -} - -.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { - margin-left: 5px; - margin-bottom: 4px; -} - -table p.datetime { - font-size: 0.6875rem; - margin-left: 0; - padding-left: 0; -} - -.datetimeshortcuts .clock-icon, .datetimeshortcuts .date-icon { - position: relative; - display: inline-block; - vertical-align: middle; - height: 16px; - width: 16px; - overflow: hidden; -} - -.datetimeshortcuts .clock-icon { - background: url(../img/icon-clock.svg) 0 0 no-repeat; -} - -.datetimeshortcuts a:focus .clock-icon, -.datetimeshortcuts a:hover .clock-icon { - background-position: 0 -16px; -} - -.datetimeshortcuts .date-icon { - background: url(../img/icon-calendar.svg) 0 0 no-repeat; - top: -1px; -} - -.datetimeshortcuts a:focus .date-icon, -.datetimeshortcuts a:hover .date-icon { - background-position: 0 -16px; -} - -.timezonewarning { - font-size: 0.6875rem; - color: var(--body-quiet-color); -} - -/* URL */ - -p.url { - line-height: 20px; - margin: 0; - padding: 0; - color: var(--body-quiet-color); - font-size: 0.6875rem; - font-weight: bold; -} - -.url a { - font-weight: normal; -} - -/* FILE UPLOADS */ - -p.file-upload { - line-height: 20px; - margin: 0; - padding: 0; - color: var(--body-quiet-color); - font-size: 0.6875rem; - font-weight: bold; -} - -.file-upload a { - font-weight: normal; -} - -.file-upload .deletelink { - margin-left: 5px; -} - -span.clearable-file-input label { - color: var(--body-fg); - font-size: 0.6875rem; - display: inline; - float: none; -} - -/* CALENDARS & CLOCKS */ - -.calendarbox, .clockbox { - margin: 5px auto; - font-size: 0.75rem; - width: 19em; - text-align: center; - background: var(--body-bg); - color: var(--body-fg); - border: 1px solid var(--hairline-color); - border-radius: 4px; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); - overflow: hidden; - position: relative; -} - -.clockbox { - width: auto; -} - -.calendar { - margin: 0; - padding: 0; -} - -.calendar table { - margin: 0; - padding: 0; - border-collapse: collapse; - background: white; - width: 100%; -} - -.calendar caption, .calendarbox h2 { - margin: 0; - text-align: center; - border-top: none; - font-weight: 700; - font-size: 0.75rem; - color: #333; - background: var(--accent); -} - -.calendar th { - padding: 8px 5px; - background: var(--darkened-bg); - border-bottom: 1px solid var(--border-color); - font-weight: 400; - font-size: 0.75rem; - text-align: center; - color: var(--body-quiet-color); -} - -.calendar td { - font-weight: 400; - font-size: 0.75rem; - text-align: center; - padding: 0; - border-top: 1px solid var(--hairline-color); - border-bottom: none; -} - -.calendar td.selected a { - background: var(--secondary); - color: var(--button-fg); -} - -.calendar td.nonday { - background: var(--darkened-bg); -} - -.calendar td.today a { - font-weight: 700; -} - -.calendar td a, .timelist a { - display: block; - font-weight: 400; - padding: 6px; - text-decoration: none; - color: var(--body-quiet-color); -} - -.calendar td a:focus, .timelist a:focus, -.calendar td a:hover, .timelist a:hover { - background: var(--primary); - color: white; -} - -.calendar td a:active, .timelist a:active { - background: var(--header-bg); - color: white; -} - -.calendarnav { - font-size: 0.625rem; - text-align: center; - color: #ccc; - margin: 0; - padding: 1px 3px; -} - -.calendarnav a:link, #calendarnav a:visited, -#calendarnav a:focus, #calendarnav a:hover { - color: var(--body-quiet-color); -} - -.calendar-shortcuts { - background: var(--body-bg); - color: var(--body-quiet-color); - font-size: 0.6875rem; - line-height: 0.6875rem; - border-top: 1px solid var(--hairline-color); - padding: 8px 0; -} - -.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { - display: block; - position: absolute; - top: 8px; - width: 15px; - height: 15px; - text-indent: -9999px; - padding: 0; -} - -.calendarnav-previous { - left: 10px; - background: url(../img/calendar-icons.svg) 0 0 no-repeat; -} - -.calendarbox .calendarnav-previous:focus, -.calendarbox .calendarnav-previous:hover { - background-position: 0 -15px; -} - -.calendarnav-next { - right: 10px; - background: url(../img/calendar-icons.svg) 0 -30px no-repeat; -} - -.calendarbox .calendarnav-next:focus, -.calendarbox .calendarnav-next:hover { - background-position: 0 -45px; -} - -.calendar-cancel { - margin: 0; - padding: 4px 0; - font-size: 0.75rem; - background: var(--close-button-bg); - border-top: 1px solid var(--border-color); - color: var(--button-fg); -} - -.calendar-cancel:focus, .calendar-cancel:hover { - background: var(--close-button-hover-bg); -} - -.calendar-cancel a { - color: var(--button-fg); - display: block; -} - -ul.timelist, .timelist li { - list-style-type: none; - margin: 0; - padding: 0; -} - -.timelist a { - padding: 2px; -} - -/* EDIT INLINE */ - -.inline-deletelink { - float: right; - text-indent: -9999px; - background: url(../img/inline-delete.svg) 0 0 no-repeat; - width: 16px; - height: 16px; - border: 0px none; -} - -.inline-deletelink:focus, .inline-deletelink:hover { - cursor: pointer; -} - -/* RELATED WIDGET WRAPPER */ -.related-widget-wrapper { - display: flex; - gap: 0 10px; - flex-grow: 1; - flex-wrap: wrap; - margin-bottom: 5px; -} - -.related-widget-wrapper-link { - opacity: .6; - filter: grayscale(1); -} - -.related-widget-wrapper-link:link { - opacity: 1; - filter: grayscale(0); -} - -/* GIS MAPS */ -.dj_map { - width: 600px; - height: 400px; -} diff --git a/djangoProject/staticfiles/admin/img/LICENSE b/djangoProject/staticfiles/admin/img/LICENSE deleted file mode 100644 index a4faaa1d..00000000 --- a/djangoProject/staticfiles/admin/img/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Code Charm Ltd - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/djangoProject/staticfiles/admin/img/README.txt b/djangoProject/staticfiles/admin/img/README.txt deleted file mode 100644 index 4eb2e492..00000000 --- a/djangoProject/staticfiles/admin/img/README.txt +++ /dev/null @@ -1,7 +0,0 @@ -All icons are taken from Font Awesome (http://fontawesome.io/) project. -The Font Awesome font is licensed under the SIL OFL 1.1: -- https://scripts.sil.org/OFL - -SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG -Font-Awesome-SVG-PNG is licensed under the MIT license (see file license -in current folder). diff --git a/djangoProject/staticfiles/admin/img/calendar-icons.svg b/djangoProject/staticfiles/admin/img/calendar-icons.svg deleted file mode 100644 index dbf21c39..00000000 --- a/djangoProject/staticfiles/admin/img/calendar-icons.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/djangoProject/staticfiles/admin/img/gis/move_vertex_off.svg b/djangoProject/staticfiles/admin/img/gis/move_vertex_off.svg deleted file mode 100644 index 228854f3..00000000 --- a/djangoProject/staticfiles/admin/img/gis/move_vertex_off.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/djangoProject/staticfiles/admin/img/gis/move_vertex_on.svg b/djangoProject/staticfiles/admin/img/gis/move_vertex_on.svg deleted file mode 100644 index 96b87fdd..00000000 --- a/djangoProject/staticfiles/admin/img/gis/move_vertex_on.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/djangoProject/staticfiles/admin/img/icon-addlink.svg b/djangoProject/staticfiles/admin/img/icon-addlink.svg deleted file mode 100644 index e004fb16..00000000 --- a/djangoProject/staticfiles/admin/img/icon-addlink.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/icon-alert.svg b/djangoProject/staticfiles/admin/img/icon-alert.svg deleted file mode 100644 index e51ea83f..00000000 --- a/djangoProject/staticfiles/admin/img/icon-alert.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/icon-calendar.svg b/djangoProject/staticfiles/admin/img/icon-calendar.svg deleted file mode 100644 index 97910a99..00000000 --- a/djangoProject/staticfiles/admin/img/icon-calendar.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/djangoProject/staticfiles/admin/img/icon-changelink.svg b/djangoProject/staticfiles/admin/img/icon-changelink.svg deleted file mode 100644 index bbb137aa..00000000 --- a/djangoProject/staticfiles/admin/img/icon-changelink.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/icon-clock.svg b/djangoProject/staticfiles/admin/img/icon-clock.svg deleted file mode 100644 index bf9985d3..00000000 --- a/djangoProject/staticfiles/admin/img/icon-clock.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/djangoProject/staticfiles/admin/img/icon-deletelink.svg b/djangoProject/staticfiles/admin/img/icon-deletelink.svg deleted file mode 100644 index 4059b155..00000000 --- a/djangoProject/staticfiles/admin/img/icon-deletelink.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/icon-hidelink.svg b/djangoProject/staticfiles/admin/img/icon-hidelink.svg deleted file mode 100644 index 2a8b404b..00000000 --- a/djangoProject/staticfiles/admin/img/icon-hidelink.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/icon-no.svg b/djangoProject/staticfiles/admin/img/icon-no.svg deleted file mode 100644 index 2e0d3832..00000000 --- a/djangoProject/staticfiles/admin/img/icon-no.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/icon-unknown-alt.svg b/djangoProject/staticfiles/admin/img/icon-unknown-alt.svg deleted file mode 100644 index 1c6b99fc..00000000 --- a/djangoProject/staticfiles/admin/img/icon-unknown-alt.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/icon-unknown.svg b/djangoProject/staticfiles/admin/img/icon-unknown.svg deleted file mode 100644 index 50b4f972..00000000 --- a/djangoProject/staticfiles/admin/img/icon-unknown.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/icon-viewlink.svg b/djangoProject/staticfiles/admin/img/icon-viewlink.svg deleted file mode 100644 index a1ca1d3f..00000000 --- a/djangoProject/staticfiles/admin/img/icon-viewlink.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/icon-yes.svg b/djangoProject/staticfiles/admin/img/icon-yes.svg deleted file mode 100644 index 5883d877..00000000 --- a/djangoProject/staticfiles/admin/img/icon-yes.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/inline-delete.svg b/djangoProject/staticfiles/admin/img/inline-delete.svg deleted file mode 100644 index 17d1ad67..00000000 --- a/djangoProject/staticfiles/admin/img/inline-delete.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/search.svg b/djangoProject/staticfiles/admin/img/search.svg deleted file mode 100644 index c8c69b2a..00000000 --- a/djangoProject/staticfiles/admin/img/search.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/selector-icons.svg b/djangoProject/staticfiles/admin/img/selector-icons.svg deleted file mode 100644 index 926b8e21..00000000 --- a/djangoProject/staticfiles/admin/img/selector-icons.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/djangoProject/staticfiles/admin/img/sorting-icons.svg b/djangoProject/staticfiles/admin/img/sorting-icons.svg deleted file mode 100644 index 7c31ec91..00000000 --- a/djangoProject/staticfiles/admin/img/sorting-icons.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/djangoProject/staticfiles/admin/img/tooltag-add.svg b/djangoProject/staticfiles/admin/img/tooltag-add.svg deleted file mode 100644 index 1ca64ae5..00000000 --- a/djangoProject/staticfiles/admin/img/tooltag-add.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/img/tooltag-arrowright.svg b/djangoProject/staticfiles/admin/img/tooltag-arrowright.svg deleted file mode 100644 index b664d619..00000000 --- a/djangoProject/staticfiles/admin/img/tooltag-arrowright.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/djangoProject/staticfiles/admin/js/SelectBox.js b/djangoProject/staticfiles/admin/js/SelectBox.js deleted file mode 100644 index 3db4ec7f..00000000 --- a/djangoProject/staticfiles/admin/js/SelectBox.js +++ /dev/null @@ -1,116 +0,0 @@ -'use strict'; -{ - const SelectBox = { - cache: {}, - init: function(id) { - const box = document.getElementById(id); - SelectBox.cache[id] = []; - const cache = SelectBox.cache[id]; - for (const node of box.options) { - cache.push({value: node.value, text: node.text, displayed: 1}); - } - }, - redisplay: function(id) { - // Repopulate HTML select box from cache - const box = document.getElementById(id); - const scroll_value_from_top = box.scrollTop; - box.innerHTML = ''; - for (const node of SelectBox.cache[id]) { - if (node.displayed) { - const new_option = new Option(node.text, node.value, false, false); - // Shows a tooltip when hovering over the option - new_option.title = node.text; - box.appendChild(new_option); - } - } - box.scrollTop = scroll_value_from_top; - }, - filter: function(id, text) { - // Redisplay the HTML select box, displaying only the choices containing ALL - // the words in text. (It's an AND search.) - const tokens = text.toLowerCase().split(/\s+/); - for (const node of SelectBox.cache[id]) { - node.displayed = 1; - const node_text = node.text.toLowerCase(); - for (const token of tokens) { - if (!node_text.includes(token)) { - node.displayed = 0; - break; // Once the first token isn't found we're done - } - } - } - SelectBox.redisplay(id); - }, - get_hidden_node_count(id) { - const cache = SelectBox.cache[id] || []; - return cache.filter(node => node.displayed === 0).length; - }, - delete_from_cache: function(id, value) { - let delete_index = null; - const cache = SelectBox.cache[id]; - for (const [i, node] of cache.entries()) { - if (node.value === value) { - delete_index = i; - break; - } - } - cache.splice(delete_index, 1); - }, - add_to_cache: function(id, option) { - SelectBox.cache[id].push({value: option.value, text: option.text, displayed: 1}); - }, - cache_contains: function(id, value) { - // Check if an item is contained in the cache - for (const node of SelectBox.cache[id]) { - if (node.value === value) { - return true; - } - } - return false; - }, - move: function(from, to) { - const from_box = document.getElementById(from); - for (const option of from_box.options) { - const option_value = option.value; - if (option.selected && SelectBox.cache_contains(from, option_value)) { - SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); - SelectBox.delete_from_cache(from, option_value); - } - } - SelectBox.redisplay(from); - SelectBox.redisplay(to); - }, - move_all: function(from, to) { - const from_box = document.getElementById(from); - for (const option of from_box.options) { - const option_value = option.value; - if (SelectBox.cache_contains(from, option_value)) { - SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); - SelectBox.delete_from_cache(from, option_value); - } - } - SelectBox.redisplay(from); - SelectBox.redisplay(to); - }, - sort: function(id) { - SelectBox.cache[id].sort(function(a, b) { - a = a.text.toLowerCase(); - b = b.text.toLowerCase(); - if (a > b) { - return 1; - } - if (a < b) { - return -1; - } - return 0; - } ); - }, - select_all: function(id) { - const box = document.getElementById(id); - for (const option of box.options) { - option.selected = true; - } - } - }; - window.SelectBox = SelectBox; -} diff --git a/djangoProject/staticfiles/admin/js/SelectFilter2.js b/djangoProject/staticfiles/admin/js/SelectFilter2.js deleted file mode 100644 index fc59eba7..00000000 --- a/djangoProject/staticfiles/admin/js/SelectFilter2.js +++ /dev/null @@ -1,286 +0,0 @@ -/*global SelectBox, gettext, interpolate, quickElement, SelectFilter*/ -/* -SelectFilter2 - Turns a multiple-select box into a filter interface. - -Requires core.js and SelectBox.js. -*/ -'use strict'; -{ - window.SelectFilter = { - init: function(field_id, field_name, is_stacked) { - if (field_id.match(/__prefix__/)) { - // Don't initialize on empty forms. - return; - } - const from_box = document.getElementById(field_id); - from_box.id += '_from'; // change its ID - from_box.className = 'filtered'; - - for (const p of from_box.parentNode.getElementsByTagName('p')) { - if (p.classList.contains("info")) { - // Remove

, because it just gets in the way. - from_box.parentNode.removeChild(p); - } else if (p.classList.contains("help")) { - // Move help text up to the top so it isn't below the select - // boxes or wrapped off on the side to the right of the add - // button: - from_box.parentNode.insertBefore(p, from_box.parentNode.firstChild); - } - } - - //

or
- const selector_div = quickElement('div', from_box.parentNode); - // Make sure the selector div is at the beginning so that the - // add link would be displayed to the right of the widget. - from_box.parentNode.prepend(selector_div); - selector_div.className = is_stacked ? 'selector stacked' : 'selector'; - - //
- const selector_available = quickElement('div', selector_div); - selector_available.className = 'selector-available'; - const title_available = quickElement('h2', selector_available, interpolate(gettext('Available %s') + ' ', [field_name])); - quickElement( - 'span', title_available, '', - 'class', 'help help-tooltip help-icon', - 'title', interpolate( - gettext( - 'This is the list of available %s. You may choose some by ' + - 'selecting them in the box below and then clicking the ' + - '"Choose" arrow between the two boxes.' - ), - [field_name] - ) - ); - - const filter_p = quickElement('p', selector_available, '', 'id', field_id + '_filter'); - filter_p.className = 'selector-filter'; - - const search_filter_label = quickElement('label', filter_p, '', 'for', field_id + '_input'); - - quickElement( - 'span', search_filter_label, '', - 'class', 'help-tooltip search-label-icon', - 'title', interpolate(gettext("Type into this box to filter down the list of available %s."), [field_name]) - ); - - filter_p.appendChild(document.createTextNode(' ')); - - const filter_input = quickElement('input', filter_p, '', 'type', 'text', 'placeholder', gettext("Filter")); - filter_input.id = field_id + '_input'; - - selector_available.appendChild(from_box); - const choose_all = quickElement('a', selector_available, gettext('Choose all'), 'title', interpolate(gettext('Click to choose all %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_add_all_link'); - choose_all.className = 'selector-chooseall'; - - //
    - const selector_chooser = quickElement('ul', selector_div); - selector_chooser.className = 'selector-chooser'; - const add_link = quickElement('a', quickElement('li', selector_chooser), gettext('Choose'), 'title', gettext('Choose'), 'href', '#', 'id', field_id + '_add_link'); - add_link.className = 'selector-add'; - const remove_link = quickElement('a', quickElement('li', selector_chooser), gettext('Remove'), 'title', gettext('Remove'), 'href', '#', 'id', field_id + '_remove_link'); - remove_link.className = 'selector-remove'; - - //
    - const selector_chosen = quickElement('div', selector_div, '', 'id', field_id + '_selector_chosen'); - selector_chosen.className = 'selector-chosen'; - const title_chosen = quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s') + ' ', [field_name])); - quickElement( - 'span', title_chosen, '', - 'class', 'help help-tooltip help-icon', - 'title', interpolate( - gettext( - 'This is the list of chosen %s. You may remove some by ' + - 'selecting them in the box below and then clicking the ' + - '"Remove" arrow between the two boxes.' - ), - [field_name] - ) - ); - - const filter_selected_p = quickElement('p', selector_chosen, '', 'id', field_id + '_filter_selected'); - filter_selected_p.className = 'selector-filter'; - - const search_filter_selected_label = quickElement('label', filter_selected_p, '', 'for', field_id + '_selected_input'); - - quickElement( - 'span', search_filter_selected_label, '', - 'class', 'help-tooltip search-label-icon', - 'title', interpolate(gettext("Type into this box to filter down the list of selected %s."), [field_name]) - ); - - filter_selected_p.appendChild(document.createTextNode(' ')); - - const filter_selected_input = quickElement('input', filter_selected_p, '', 'type', 'text', 'placeholder', gettext("Filter")); - filter_selected_input.id = field_id + '_selected_input'; - - const to_box = quickElement('select', selector_chosen, '', 'id', field_id + '_to', 'multiple', '', 'size', from_box.size, 'name', from_box.name); - to_box.className = 'filtered'; - - const warning_footer = quickElement('div', selector_chosen, '', 'class', 'list-footer-display'); - quickElement('span', warning_footer, '', 'id', field_id + '_list-footer-display-text'); - quickElement('span', warning_footer, ' (click to clear)', 'class', 'list-footer-display__clear'); - - const clear_all = quickElement('a', selector_chosen, gettext('Remove all'), 'title', interpolate(gettext('Click to remove all chosen %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_remove_all_link'); - clear_all.className = 'selector-clearall'; - - from_box.name = from_box.name + '_old'; - - // Set up the JavaScript event handlers for the select box filter interface - const move_selection = function(e, elem, move_func, from, to) { - if (elem.classList.contains('active')) { - move_func(from, to); - SelectFilter.refresh_icons(field_id); - SelectFilter.refresh_filtered_selects(field_id); - SelectFilter.refresh_filtered_warning(field_id); - } - e.preventDefault(); - }; - choose_all.addEventListener('click', function(e) { - move_selection(e, this, SelectBox.move_all, field_id + '_from', field_id + '_to'); - }); - add_link.addEventListener('click', function(e) { - move_selection(e, this, SelectBox.move, field_id + '_from', field_id + '_to'); - }); - remove_link.addEventListener('click', function(e) { - move_selection(e, this, SelectBox.move, field_id + '_to', field_id + '_from'); - }); - clear_all.addEventListener('click', function(e) { - move_selection(e, this, SelectBox.move_all, field_id + '_to', field_id + '_from'); - }); - warning_footer.addEventListener('click', function(e) { - filter_selected_input.value = ''; - SelectBox.filter(field_id + '_to', ''); - SelectFilter.refresh_filtered_warning(field_id); - SelectFilter.refresh_icons(field_id); - }); - filter_input.addEventListener('keypress', function(e) { - SelectFilter.filter_key_press(e, field_id, '_from', '_to'); - }); - filter_input.addEventListener('keyup', function(e) { - SelectFilter.filter_key_up(e, field_id, '_from'); - }); - filter_input.addEventListener('keydown', function(e) { - SelectFilter.filter_key_down(e, field_id, '_from', '_to'); - }); - filter_selected_input.addEventListener('keypress', function(e) { - SelectFilter.filter_key_press(e, field_id, '_to', '_from'); - }); - filter_selected_input.addEventListener('keyup', function(e) { - SelectFilter.filter_key_up(e, field_id, '_to', '_selected_input'); - }); - filter_selected_input.addEventListener('keydown', function(e) { - SelectFilter.filter_key_down(e, field_id, '_to', '_from'); - }); - selector_div.addEventListener('change', function(e) { - if (e.target.tagName === 'SELECT') { - SelectFilter.refresh_icons(field_id); - } - }); - selector_div.addEventListener('dblclick', function(e) { - if (e.target.tagName === 'OPTION') { - if (e.target.closest('select').id === field_id + '_to') { - SelectBox.move(field_id + '_to', field_id + '_from'); - } else { - SelectBox.move(field_id + '_from', field_id + '_to'); - } - SelectFilter.refresh_icons(field_id); - } - }); - from_box.closest('form').addEventListener('submit', function() { - SelectBox.filter(field_id + '_to', ''); - SelectBox.select_all(field_id + '_to'); - }); - SelectBox.init(field_id + '_from'); - SelectBox.init(field_id + '_to'); - // Move selected from_box options to to_box - SelectBox.move(field_id + '_from', field_id + '_to'); - - // Initial icon refresh - SelectFilter.refresh_icons(field_id); - }, - any_selected: function(field) { - // Temporarily add the required attribute and check validity. - field.required = true; - const any_selected = field.checkValidity(); - field.required = false; - return any_selected; - }, - refresh_filtered_warning: function(field_id) { - const count = SelectBox.get_hidden_node_count(field_id + '_to'); - const selector = document.getElementById(field_id + '_selector_chosen'); - const warning = document.getElementById(field_id + '_list-footer-display-text'); - selector.className = selector.className.replace('selector-chosen--with-filtered', ''); - warning.textContent = interpolate(ngettext( - '%s selected option not visible', - '%s selected options not visible', - count - ), [count]); - if(count > 0) { - selector.className += ' selector-chosen--with-filtered'; - } - }, - refresh_filtered_selects: function(field_id) { - SelectBox.filter(field_id + '_from', document.getElementById(field_id + "_input").value); - SelectBox.filter(field_id + '_to', document.getElementById(field_id + "_selected_input").value); - }, - refresh_icons: function(field_id) { - const from = document.getElementById(field_id + '_from'); - const to = document.getElementById(field_id + '_to'); - // Active if at least one item is selected - document.getElementById(field_id + '_add_link').classList.toggle('active', SelectFilter.any_selected(from)); - document.getElementById(field_id + '_remove_link').classList.toggle('active', SelectFilter.any_selected(to)); - // Active if the corresponding box isn't empty - document.getElementById(field_id + '_add_all_link').classList.toggle('active', from.querySelector('option')); - document.getElementById(field_id + '_remove_all_link').classList.toggle('active', to.querySelector('option')); - SelectFilter.refresh_filtered_warning(field_id); - }, - filter_key_press: function(event, field_id, source, target) { - const source_box = document.getElementById(field_id + source); - // don't submit form if user pressed Enter - if ((event.which && event.which === 13) || (event.keyCode && event.keyCode === 13)) { - source_box.selectedIndex = 0; - SelectBox.move(field_id + source, field_id + target); - source_box.selectedIndex = 0; - event.preventDefault(); - } - }, - filter_key_up: function(event, field_id, source, filter_input) { - const input = filter_input || '_input'; - const source_box = document.getElementById(field_id + source); - const temp = source_box.selectedIndex; - SelectBox.filter(field_id + source, document.getElementById(field_id + input).value); - source_box.selectedIndex = temp; - SelectFilter.refresh_filtered_warning(field_id); - SelectFilter.refresh_icons(field_id); - }, - filter_key_down: function(event, field_id, source, target) { - const source_box = document.getElementById(field_id + source); - // right key (39) or left key (37) - const direction = source === '_from' ? 39 : 37; - // right arrow -- move across - if ((event.which && event.which === direction) || (event.keyCode && event.keyCode === direction)) { - const old_index = source_box.selectedIndex; - SelectBox.move(field_id + source, field_id + target); - SelectFilter.refresh_filtered_selects(field_id); - SelectFilter.refresh_filtered_warning(field_id); - source_box.selectedIndex = (old_index === source_box.length) ? source_box.length - 1 : old_index; - return; - } - // down arrow -- wrap around - if ((event.which && event.which === 40) || (event.keyCode && event.keyCode === 40)) { - source_box.selectedIndex = (source_box.length === source_box.selectedIndex + 1) ? 0 : source_box.selectedIndex + 1; - } - // up arrow -- wrap around - if ((event.which && event.which === 38) || (event.keyCode && event.keyCode === 38)) { - source_box.selectedIndex = (source_box.selectedIndex === 0) ? source_box.length - 1 : source_box.selectedIndex - 1; - } - } - }; - - window.addEventListener('load', function(e) { - document.querySelectorAll('select.selectfilter, select.selectfilterstacked').forEach(function(el) { - const data = el.dataset; - SelectFilter.init(el.id, data.fieldName, parseInt(data.isStacked, 10)); - }); - }); -} diff --git a/djangoProject/staticfiles/admin/js/actions.js b/djangoProject/staticfiles/admin/js/actions.js deleted file mode 100644 index 6a2ae91a..00000000 --- a/djangoProject/staticfiles/admin/js/actions.js +++ /dev/null @@ -1,204 +0,0 @@ -/*global gettext, interpolate, ngettext*/ -'use strict'; -{ - function show(selector) { - document.querySelectorAll(selector).forEach(function(el) { - el.classList.remove('hidden'); - }); - } - - function hide(selector) { - document.querySelectorAll(selector).forEach(function(el) { - el.classList.add('hidden'); - }); - } - - function showQuestion(options) { - hide(options.acrossClears); - show(options.acrossQuestions); - hide(options.allContainer); - } - - function showClear(options) { - show(options.acrossClears); - hide(options.acrossQuestions); - document.querySelector(options.actionContainer).classList.remove(options.selectedClass); - show(options.allContainer); - hide(options.counterContainer); - } - - function reset(options) { - hide(options.acrossClears); - hide(options.acrossQuestions); - hide(options.allContainer); - show(options.counterContainer); - } - - function clearAcross(options) { - reset(options); - const acrossInputs = document.querySelectorAll(options.acrossInput); - acrossInputs.forEach(function(acrossInput) { - acrossInput.value = 0; - }); - document.querySelector(options.actionContainer).classList.remove(options.selectedClass); - } - - function checker(actionCheckboxes, options, checked) { - if (checked) { - showQuestion(options); - } else { - reset(options); - } - actionCheckboxes.forEach(function(el) { - el.checked = checked; - el.closest('tr').classList.toggle(options.selectedClass, checked); - }); - } - - function updateCounter(actionCheckboxes, options) { - const sel = Array.from(actionCheckboxes).filter(function(el) { - return el.checked; - }).length; - const counter = document.querySelector(options.counterContainer); - // data-actions-icnt is defined in the generated HTML - // and contains the total amount of objects in the queryset - const actions_icnt = Number(counter.dataset.actionsIcnt); - counter.textContent = interpolate( - ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), { - sel: sel, - cnt: actions_icnt - }, true); - const allToggle = document.getElementById(options.allToggleId); - allToggle.checked = sel === actionCheckboxes.length; - if (allToggle.checked) { - showQuestion(options); - } else { - clearAcross(options); - } - } - - const defaults = { - actionContainer: "div.actions", - counterContainer: "span.action-counter", - allContainer: "div.actions span.all", - acrossInput: "div.actions input.select-across", - acrossQuestions: "div.actions span.question", - acrossClears: "div.actions span.clear", - allToggleId: "action-toggle", - selectedClass: "selected" - }; - - window.Actions = function(actionCheckboxes, options) { - options = Object.assign({}, defaults, options); - let list_editable_changed = false; - let lastChecked = null; - let shiftPressed = false; - - document.addEventListener('keydown', (event) => { - shiftPressed = event.shiftKey; - }); - - document.addEventListener('keyup', (event) => { - shiftPressed = event.shiftKey; - }); - - document.getElementById(options.allToggleId).addEventListener('click', function(event) { - checker(actionCheckboxes, options, this.checked); - updateCounter(actionCheckboxes, options); - }); - - document.querySelectorAll(options.acrossQuestions + " a").forEach(function(el) { - el.addEventListener('click', function(event) { - event.preventDefault(); - const acrossInputs = document.querySelectorAll(options.acrossInput); - acrossInputs.forEach(function(acrossInput) { - acrossInput.value = 1; - }); - showClear(options); - }); - }); - - document.querySelectorAll(options.acrossClears + " a").forEach(function(el) { - el.addEventListener('click', function(event) { - event.preventDefault(); - document.getElementById(options.allToggleId).checked = false; - clearAcross(options); - checker(actionCheckboxes, options, false); - updateCounter(actionCheckboxes, options); - }); - }); - - function affectedCheckboxes(target, withModifier) { - const multiSelect = (lastChecked && withModifier && lastChecked !== target); - if (!multiSelect) { - return [target]; - } - const checkboxes = Array.from(actionCheckboxes); - const targetIndex = checkboxes.findIndex(el => el === target); - const lastCheckedIndex = checkboxes.findIndex(el => el === lastChecked); - const startIndex = Math.min(targetIndex, lastCheckedIndex); - const endIndex = Math.max(targetIndex, lastCheckedIndex); - const filtered = checkboxes.filter((el, index) => (startIndex <= index) && (index <= endIndex)); - return filtered; - }; - - Array.from(document.getElementById('result_list').tBodies).forEach(function(el) { - el.addEventListener('change', function(event) { - const target = event.target; - if (target.classList.contains('action-select')) { - const checkboxes = affectedCheckboxes(target, shiftPressed); - checker(checkboxes, options, target.checked); - updateCounter(actionCheckboxes, options); - lastChecked = target; - } else { - list_editable_changed = true; - } - }); - }); - - document.querySelector('#changelist-form button[name=index]').addEventListener('click', function(event) { - if (list_editable_changed) { - const confirmed = confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.")); - if (!confirmed) { - event.preventDefault(); - } - } - }); - - const el = document.querySelector('#changelist-form input[name=_save]'); - // The button does not exist if no fields are editable. - if (el) { - el.addEventListener('click', function(event) { - if (document.querySelector('[name=action]').value) { - const text = list_editable_changed - ? gettext("You have selected an action, but you haven’t saved your changes to individual fields yet. Please click OK to save. You’ll need to re-run the action.") - : gettext("You have selected an action, and you haven’t made any changes on individual fields. You’re probably looking for the Go button rather than the Save button."); - if (!confirm(text)) { - event.preventDefault(); - } - } - }); - } - // Sync counter when navigating to the page, such as through the back - // button. - window.addEventListener('pageshow', (event) => updateCounter(actionCheckboxes, options)); - }; - - // Call function fn when the DOM is loaded and ready. If it is already - // loaded, call the function now. - // http://youmightnotneedjquery.com/#ready - function ready(fn) { - if (document.readyState !== 'loading') { - fn(); - } else { - document.addEventListener('DOMContentLoaded', fn); - } - } - - ready(function() { - const actionsEls = document.querySelectorAll('tr input.action-select'); - if (actionsEls.length > 0) { - Actions(actionsEls); - } - }); -} diff --git a/djangoProject/staticfiles/admin/js/admin/DateTimeShortcuts.js b/djangoProject/staticfiles/admin/js/admin/DateTimeShortcuts.js deleted file mode 100644 index aa1cae9e..00000000 --- a/djangoProject/staticfiles/admin/js/admin/DateTimeShortcuts.js +++ /dev/null @@ -1,408 +0,0 @@ -/*global Calendar, findPosX, findPosY, get_format, gettext, gettext_noop, interpolate, ngettext, quickElement*/ -// Inserts shortcut buttons after all of the following: -// -// -'use strict'; -{ - const DateTimeShortcuts = { - calendars: [], - calendarInputs: [], - clockInputs: [], - clockHours: { - default_: [ - [gettext_noop('Now'), -1], - [gettext_noop('Midnight'), 0], - [gettext_noop('6 a.m.'), 6], - [gettext_noop('Noon'), 12], - [gettext_noop('6 p.m.'), 18] - ] - }, - dismissClockFunc: [], - dismissCalendarFunc: [], - calendarDivName1: 'calendarbox', // name of calendar
    that gets toggled - calendarDivName2: 'calendarin', // name of
    that contains calendar - calendarLinkName: 'calendarlink', // name of the link that is used to toggle - clockDivName: 'clockbox', // name of clock
    that gets toggled - clockLinkName: 'clocklink', // name of the link that is used to toggle - shortCutsClass: 'datetimeshortcuts', // class of the clock and cal shortcuts - timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch - timezoneOffset: 0, - init: function() { - const serverOffset = document.body.dataset.adminUtcOffset; - if (serverOffset) { - const localOffset = new Date().getTimezoneOffset() * -60; - DateTimeShortcuts.timezoneOffset = localOffset - serverOffset; - } - - for (const inp of document.getElementsByTagName('input')) { - if (inp.type === 'text' && inp.classList.contains('vTimeField')) { - DateTimeShortcuts.addClock(inp); - DateTimeShortcuts.addTimezoneWarning(inp); - } - else if (inp.type === 'text' && inp.classList.contains('vDateField')) { - DateTimeShortcuts.addCalendar(inp); - DateTimeShortcuts.addTimezoneWarning(inp); - } - } - }, - // Return the current time while accounting for the server timezone. - now: function() { - const serverOffset = document.body.dataset.adminUtcOffset; - if (serverOffset) { - const localNow = new Date(); - const localOffset = localNow.getTimezoneOffset() * -60; - localNow.setTime(localNow.getTime() + 1000 * (serverOffset - localOffset)); - return localNow; - } else { - return new Date(); - } - }, - // Add a warning when the time zone in the browser and backend do not match. - addTimezoneWarning: function(inp) { - const warningClass = DateTimeShortcuts.timezoneWarningClass; - let timezoneOffset = DateTimeShortcuts.timezoneOffset / 3600; - - // Only warn if there is a time zone mismatch. - if (!timezoneOffset) { - return; - } - - // Check if warning is already there. - if (inp.parentNode.querySelectorAll('.' + warningClass).length) { - return; - } - - let message; - if (timezoneOffset > 0) { - message = ngettext( - 'Note: You are %s hour ahead of server time.', - 'Note: You are %s hours ahead of server time.', - timezoneOffset - ); - } - else { - timezoneOffset *= -1; - message = ngettext( - 'Note: You are %s hour behind server time.', - 'Note: You are %s hours behind server time.', - timezoneOffset - ); - } - message = interpolate(message, [timezoneOffset]); - - const warning = document.createElement('div'); - warning.classList.add('help', warningClass); - warning.textContent = message; - inp.parentNode.appendChild(warning); - }, - // Add clock widget to a given field - addClock: function(inp) { - const num = DateTimeShortcuts.clockInputs.length; - DateTimeShortcuts.clockInputs[num] = inp; - DateTimeShortcuts.dismissClockFunc[num] = function() { DateTimeShortcuts.dismissClock(num); return true; }; - - // Shortcut links (clock icon and "Now" link) - const shortcuts_span = document.createElement('span'); - shortcuts_span.className = DateTimeShortcuts.shortCutsClass; - inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); - const now_link = document.createElement('a'); - now_link.href = "#"; - now_link.textContent = gettext('Now'); - now_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.handleClockQuicklink(num, -1); - }); - const clock_link = document.createElement('a'); - clock_link.href = '#'; - clock_link.id = DateTimeShortcuts.clockLinkName + num; - clock_link.addEventListener('click', function(e) { - e.preventDefault(); - // avoid triggering the document click handler to dismiss the clock - e.stopPropagation(); - DateTimeShortcuts.openClock(num); - }); - - quickElement( - 'span', clock_link, '', - 'class', 'clock-icon', - 'title', gettext('Choose a Time') - ); - shortcuts_span.appendChild(document.createTextNode('\u00A0')); - shortcuts_span.appendChild(now_link); - shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); - shortcuts_span.appendChild(clock_link); - - // Create clock link div - // - // Markup looks like: - // - - const clock_box = document.createElement('div'); - clock_box.style.display = 'none'; - clock_box.style.position = 'absolute'; - clock_box.className = 'clockbox module'; - clock_box.id = DateTimeShortcuts.clockDivName + num; - document.body.appendChild(clock_box); - clock_box.addEventListener('click', function(e) { e.stopPropagation(); }); - - quickElement('h2', clock_box, gettext('Choose a time')); - const time_list = quickElement('ul', clock_box); - time_list.className = 'timelist'; - // The list of choices can be overridden in JavaScript like this: - // DateTimeShortcuts.clockHours.name = [['3 a.m.', 3]]; - // where name is the name attribute of the . - const name = typeof DateTimeShortcuts.clockHours[inp.name] === 'undefined' ? 'default_' : inp.name; - DateTimeShortcuts.clockHours[name].forEach(function(element) { - const time_link = quickElement('a', quickElement('li', time_list), gettext(element[0]), 'href', '#'); - time_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.handleClockQuicklink(num, element[1]); - }); - }); - - const cancel_p = quickElement('p', clock_box); - cancel_p.className = 'calendar-cancel'; - const cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); - cancel_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.dismissClock(num); - }); - - document.addEventListener('keyup', function(event) { - if (event.which === 27) { - // ESC key closes popup - DateTimeShortcuts.dismissClock(num); - event.preventDefault(); - } - }); - }, - openClock: function(num) { - const clock_box = document.getElementById(DateTimeShortcuts.clockDivName + num); - const clock_link = document.getElementById(DateTimeShortcuts.clockLinkName + num); - - // Recalculate the clockbox position - // is it left-to-right or right-to-left layout ? - if (window.getComputedStyle(document.body).direction !== 'rtl') { - clock_box.style.left = findPosX(clock_link) + 17 + 'px'; - } - else { - // since style's width is in em, it'd be tough to calculate - // px value of it. let's use an estimated px for now - clock_box.style.left = findPosX(clock_link) - 110 + 'px'; - } - clock_box.style.top = Math.max(0, findPosY(clock_link) - 30) + 'px'; - - // Show the clock box - clock_box.style.display = 'block'; - document.addEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); - }, - dismissClock: function(num) { - document.getElementById(DateTimeShortcuts.clockDivName + num).style.display = 'none'; - document.removeEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); - }, - handleClockQuicklink: function(num, val) { - let d; - if (val === -1) { - d = DateTimeShortcuts.now(); - } - else { - d = new Date(1970, 1, 1, val, 0, 0, 0); - } - DateTimeShortcuts.clockInputs[num].value = d.strftime(get_format('TIME_INPUT_FORMATS')[0]); - DateTimeShortcuts.clockInputs[num].focus(); - DateTimeShortcuts.dismissClock(num); - }, - // Add calendar widget to a given field. - addCalendar: function(inp) { - const num = DateTimeShortcuts.calendars.length; - - DateTimeShortcuts.calendarInputs[num] = inp; - DateTimeShortcuts.dismissCalendarFunc[num] = function() { DateTimeShortcuts.dismissCalendar(num); return true; }; - - // Shortcut links (calendar icon and "Today" link) - const shortcuts_span = document.createElement('span'); - shortcuts_span.className = DateTimeShortcuts.shortCutsClass; - inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); - const today_link = document.createElement('a'); - today_link.href = '#'; - today_link.appendChild(document.createTextNode(gettext('Today'))); - today_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.handleCalendarQuickLink(num, 0); - }); - const cal_link = document.createElement('a'); - cal_link.href = '#'; - cal_link.id = DateTimeShortcuts.calendarLinkName + num; - cal_link.addEventListener('click', function(e) { - e.preventDefault(); - // avoid triggering the document click handler to dismiss the calendar - e.stopPropagation(); - DateTimeShortcuts.openCalendar(num); - }); - quickElement( - 'span', cal_link, '', - 'class', 'date-icon', - 'title', gettext('Choose a Date') - ); - shortcuts_span.appendChild(document.createTextNode('\u00A0')); - shortcuts_span.appendChild(today_link); - shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); - shortcuts_span.appendChild(cal_link); - - // Create calendarbox div. - // - // Markup looks like: - // - //
    - //

    - // - // February 2003 - //

    - //
    - // - //
    - //
    - // Yesterday | Today | Tomorrow - //
    - //

    Cancel

    - //
    - const cal_box = document.createElement('div'); - cal_box.style.display = 'none'; - cal_box.style.position = 'absolute'; - cal_box.className = 'calendarbox module'; - cal_box.id = DateTimeShortcuts.calendarDivName1 + num; - document.body.appendChild(cal_box); - cal_box.addEventListener('click', function(e) { e.stopPropagation(); }); - - // next-prev links - const cal_nav = quickElement('div', cal_box); - const cal_nav_prev = quickElement('a', cal_nav, '<', 'href', '#'); - cal_nav_prev.className = 'calendarnav-previous'; - cal_nav_prev.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.drawPrev(num); - }); - - const cal_nav_next = quickElement('a', cal_nav, '>', 'href', '#'); - cal_nav_next.className = 'calendarnav-next'; - cal_nav_next.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.drawNext(num); - }); - - // main box - const cal_main = quickElement('div', cal_box, '', 'id', DateTimeShortcuts.calendarDivName2 + num); - cal_main.className = 'calendar'; - DateTimeShortcuts.calendars[num] = new Calendar(DateTimeShortcuts.calendarDivName2 + num, DateTimeShortcuts.handleCalendarCallback(num)); - DateTimeShortcuts.calendars[num].drawCurrent(); - - // calendar shortcuts - const shortcuts = quickElement('div', cal_box); - shortcuts.className = 'calendar-shortcuts'; - let day_link = quickElement('a', shortcuts, gettext('Yesterday'), 'href', '#'); - day_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.handleCalendarQuickLink(num, -1); - }); - shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); - day_link = quickElement('a', shortcuts, gettext('Today'), 'href', '#'); - day_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.handleCalendarQuickLink(num, 0); - }); - shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); - day_link = quickElement('a', shortcuts, gettext('Tomorrow'), 'href', '#'); - day_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.handleCalendarQuickLink(num, +1); - }); - - // cancel bar - const cancel_p = quickElement('p', cal_box); - cancel_p.className = 'calendar-cancel'; - const cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); - cancel_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.dismissCalendar(num); - }); - document.addEventListener('keyup', function(event) { - if (event.which === 27) { - // ESC key closes popup - DateTimeShortcuts.dismissCalendar(num); - event.preventDefault(); - } - }); - }, - openCalendar: function(num) { - const cal_box = document.getElementById(DateTimeShortcuts.calendarDivName1 + num); - const cal_link = document.getElementById(DateTimeShortcuts.calendarLinkName + num); - const inp = DateTimeShortcuts.calendarInputs[num]; - - // Determine if the current value in the input has a valid date. - // If so, draw the calendar with that date's year and month. - if (inp.value) { - const format = get_format('DATE_INPUT_FORMATS')[0]; - const selected = inp.value.strptime(format); - const year = selected.getUTCFullYear(); - const month = selected.getUTCMonth() + 1; - const re = /\d{4}/; - if (re.test(year.toString()) && month >= 1 && month <= 12) { - DateTimeShortcuts.calendars[num].drawDate(month, year, selected); - } - } - - // Recalculate the clockbox position - // is it left-to-right or right-to-left layout ? - if (window.getComputedStyle(document.body).direction !== 'rtl') { - cal_box.style.left = findPosX(cal_link) + 17 + 'px'; - } - else { - // since style's width is in em, it'd be tough to calculate - // px value of it. let's use an estimated px for now - cal_box.style.left = findPosX(cal_link) - 180 + 'px'; - } - cal_box.style.top = Math.max(0, findPosY(cal_link) - 75) + 'px'; - - cal_box.style.display = 'block'; - document.addEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); - }, - dismissCalendar: function(num) { - document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; - document.removeEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); - }, - drawPrev: function(num) { - DateTimeShortcuts.calendars[num].drawPreviousMonth(); - }, - drawNext: function(num) { - DateTimeShortcuts.calendars[num].drawNextMonth(); - }, - handleCalendarCallback: function(num) { - const format = get_format('DATE_INPUT_FORMATS')[0]; - return function(y, m, d) { - DateTimeShortcuts.calendarInputs[num].value = new Date(y, m - 1, d).strftime(format); - DateTimeShortcuts.calendarInputs[num].focus(); - document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; - }; - }, - handleCalendarQuickLink: function(num, offset) { - const d = DateTimeShortcuts.now(); - d.setDate(d.getDate() + offset); - DateTimeShortcuts.calendarInputs[num].value = d.strftime(get_format('DATE_INPUT_FORMATS')[0]); - DateTimeShortcuts.calendarInputs[num].focus(); - DateTimeShortcuts.dismissCalendar(num); - } - }; - - window.addEventListener('load', DateTimeShortcuts.init); - window.DateTimeShortcuts = DateTimeShortcuts; -} diff --git a/djangoProject/staticfiles/admin/js/admin/RelatedObjectLookups.js b/djangoProject/staticfiles/admin/js/admin/RelatedObjectLookups.js deleted file mode 100644 index 32e3f5b8..00000000 --- a/djangoProject/staticfiles/admin/js/admin/RelatedObjectLookups.js +++ /dev/null @@ -1,240 +0,0 @@ -/*global SelectBox, interpolate*/ -// Handles related-objects functionality: lookup link for raw_id_fields -// and Add Another links. -'use strict'; -{ - const $ = django.jQuery; - let popupIndex = 0; - const relatedWindows = []; - - function dismissChildPopups() { - relatedWindows.forEach(function(win) { - if(!win.closed) { - win.dismissChildPopups(); - win.close(); - } - }); - } - - function setPopupIndex() { - if(document.getElementsByName("_popup").length > 0) { - const index = window.name.lastIndexOf("__") + 2; - popupIndex = parseInt(window.name.substring(index)); - } else { - popupIndex = 0; - } - } - - function addPopupIndex(name) { - return name + "__" + (popupIndex + 1); - } - - function removePopupIndex(name) { - return name.replace(new RegExp("__" + (popupIndex + 1) + "$"), ''); - } - - function showAdminPopup(triggeringLink, name_regexp, add_popup) { - const name = addPopupIndex(triggeringLink.id.replace(name_regexp, '')); - const href = new URL(triggeringLink.href); - if (add_popup) { - href.searchParams.set('_popup', 1); - } - const win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes'); - relatedWindows.push(win); - win.focus(); - return false; - } - - function showRelatedObjectLookupPopup(triggeringLink) { - return showAdminPopup(triggeringLink, /^lookup_/, true); - } - - function dismissRelatedLookupPopup(win, chosenId) { - const name = removePopupIndex(win.name); - const elem = document.getElementById(name); - if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { - elem.value += ',' + chosenId; - } else { - document.getElementById(name).value = chosenId; - } - const index = relatedWindows.indexOf(win); - if (index > -1) { - relatedWindows.splice(index, 1); - } - win.close(); - } - - function showRelatedObjectPopup(triggeringLink) { - return showAdminPopup(triggeringLink, /^(change|add|delete)_/, false); - } - - function updateRelatedObjectLinks(triggeringLink) { - const $this = $(triggeringLink); - const siblings = $this.nextAll('.view-related, .change-related, .delete-related'); - if (!siblings.length) { - return; - } - const value = $this.val(); - if (value) { - siblings.each(function() { - const elm = $(this); - elm.attr('href', elm.attr('data-href-template').replace('__fk__', value)); - elm.removeAttr('aria-disabled'); - }); - } else { - siblings.removeAttr('href'); - siblings.attr('aria-disabled', true); - } - } - - function updateRelatedSelectsOptions(currentSelect, win, objId, newRepr, newId) { - // After create/edit a model from the options next to the current - // select (+ or :pencil:) update ForeignKey PK of the rest of selects - // in the page. - - const path = win.location.pathname; - // Extract the model from the popup url '...//add/' or - // '...///change/' depending the action (add or change). - const modelName = path.split('/')[path.split('/').length - (objId ? 4 : 3)]; - // Exclude autocomplete selects. - const selectsRelated = document.querySelectorAll(`[data-model-ref="${modelName}"] select:not(.admin-autocomplete)`); - - selectsRelated.forEach(function(select) { - if (currentSelect === select) { - return; - } - - let option = select.querySelector(`option[value="${objId}"]`); - - if (!option) { - option = new Option(newRepr, newId); - select.options.add(option); - return; - } - - option.textContent = newRepr; - option.value = newId; - }); - } - - function dismissAddRelatedObjectPopup(win, newId, newRepr) { - const name = removePopupIndex(win.name); - const elem = document.getElementById(name); - if (elem) { - const elemName = elem.nodeName.toUpperCase(); - if (elemName === 'SELECT') { - elem.options[elem.options.length] = new Option(newRepr, newId, true, true); - updateRelatedSelectsOptions(elem, win, null, newRepr, newId); - } else if (elemName === 'INPUT') { - if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { - elem.value += ',' + newId; - } else { - elem.value = newId; - } - } - // Trigger a change event to update related links if required. - $(elem).trigger('change'); - } else { - const toId = name + "_to"; - const o = new Option(newRepr, newId); - SelectBox.add_to_cache(toId, o); - SelectBox.redisplay(toId); - } - const index = relatedWindows.indexOf(win); - if (index > -1) { - relatedWindows.splice(index, 1); - } - win.close(); - } - - function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) { - const id = removePopupIndex(win.name.replace(/^edit_/, '')); - const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); - const selects = $(selectsSelector); - selects.find('option').each(function() { - if (this.value === objId) { - this.textContent = newRepr; - this.value = newId; - } - }).trigger('change'); - updateRelatedSelectsOptions(selects[0], win, objId, newRepr, newId); - selects.next().find('.select2-selection__rendered').each(function() { - // The element can have a clear button as a child. - // Use the lastChild to modify only the displayed value. - this.lastChild.textContent = newRepr; - this.title = newRepr; - }); - const index = relatedWindows.indexOf(win); - if (index > -1) { - relatedWindows.splice(index, 1); - } - win.close(); - } - - function dismissDeleteRelatedObjectPopup(win, objId) { - const id = removePopupIndex(win.name.replace(/^delete_/, '')); - const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); - const selects = $(selectsSelector); - selects.find('option').each(function() { - if (this.value === objId) { - $(this).remove(); - } - }).trigger('change'); - const index = relatedWindows.indexOf(win); - if (index > -1) { - relatedWindows.splice(index, 1); - } - win.close(); - } - - window.showRelatedObjectLookupPopup = showRelatedObjectLookupPopup; - window.dismissRelatedLookupPopup = dismissRelatedLookupPopup; - window.showRelatedObjectPopup = showRelatedObjectPopup; - window.updateRelatedObjectLinks = updateRelatedObjectLinks; - window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup; - window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup; - window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup; - window.dismissChildPopups = dismissChildPopups; - - // Kept for backward compatibility - window.showAddAnotherPopup = showRelatedObjectPopup; - window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup; - - window.addEventListener('unload', function(evt) { - window.dismissChildPopups(); - }); - - $(document).ready(function() { - setPopupIndex(); - $("a[data-popup-opener]").on('click', function(event) { - event.preventDefault(); - opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); - }); - $('body').on('click', '.related-widget-wrapper-link[data-popup="yes"]', function(e) { - e.preventDefault(); - if (this.href) { - const event = $.Event('django:show-related', {href: this.href}); - $(this).trigger(event); - if (!event.isDefaultPrevented()) { - showRelatedObjectPopup(this); - } - } - }); - $('body').on('change', '.related-widget-wrapper select', function(e) { - const event = $.Event('django:update-related'); - $(this).trigger(event); - if (!event.isDefaultPrevented()) { - updateRelatedObjectLinks(this); - } - }); - $('.related-widget-wrapper select').trigger('change'); - $('body').on('click', '.related-lookup', function(e) { - e.preventDefault(); - const event = $.Event('django:lookup-related'); - $(this).trigger(event); - if (!event.isDefaultPrevented()) { - showRelatedObjectLookupPopup(this); - } - }); - }); -} diff --git a/djangoProject/staticfiles/admin/js/autocomplete.js b/djangoProject/staticfiles/admin/js/autocomplete.js deleted file mode 100644 index d3daeab8..00000000 --- a/djangoProject/staticfiles/admin/js/autocomplete.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; -{ - const $ = django.jQuery; - - $.fn.djangoAdminSelect2 = function() { - $.each(this, function(i, element) { - $(element).select2({ - ajax: { - data: (params) => { - return { - term: params.term, - page: params.page, - app_label: element.dataset.appLabel, - model_name: element.dataset.modelName, - field_name: element.dataset.fieldName - }; - } - } - }); - }); - return this; - }; - - $(function() { - // Initialize all autocomplete widgets except the one in the template - // form used when a new formset is added. - $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2(); - }); - - document.addEventListener('formset:added', (event) => { - $(event.target).find('.admin-autocomplete').djangoAdminSelect2(); - }); -} diff --git a/djangoProject/staticfiles/admin/js/calendar.js b/djangoProject/staticfiles/admin/js/calendar.js deleted file mode 100644 index 776310f7..00000000 --- a/djangoProject/staticfiles/admin/js/calendar.js +++ /dev/null @@ -1,239 +0,0 @@ -/*global gettext, pgettext, get_format, quickElement, removeChildren*/ -/* -calendar.js - Calendar functions by Adrian Holovaty -depends on core.js for utility functions like removeChildren or quickElement -*/ -'use strict'; -{ - // CalendarNamespace -- Provides a collection of HTML calendar-related helper functions - const CalendarNamespace = { - monthsOfYear: [ - gettext('January'), - gettext('February'), - gettext('March'), - gettext('April'), - gettext('May'), - gettext('June'), - gettext('July'), - gettext('August'), - gettext('September'), - gettext('October'), - gettext('November'), - gettext('December') - ], - monthsOfYearAbbrev: [ - pgettext('abbrev. month January', 'Jan'), - pgettext('abbrev. month February', 'Feb'), - pgettext('abbrev. month March', 'Mar'), - pgettext('abbrev. month April', 'Apr'), - pgettext('abbrev. month May', 'May'), - pgettext('abbrev. month June', 'Jun'), - pgettext('abbrev. month July', 'Jul'), - pgettext('abbrev. month August', 'Aug'), - pgettext('abbrev. month September', 'Sep'), - pgettext('abbrev. month October', 'Oct'), - pgettext('abbrev. month November', 'Nov'), - pgettext('abbrev. month December', 'Dec') - ], - daysOfWeek: [ - gettext('Sunday'), - gettext('Monday'), - gettext('Tuesday'), - gettext('Wednesday'), - gettext('Thursday'), - gettext('Friday'), - gettext('Saturday') - ], - daysOfWeekAbbrev: [ - pgettext('abbrev. day Sunday', 'Sun'), - pgettext('abbrev. day Monday', 'Mon'), - pgettext('abbrev. day Tuesday', 'Tue'), - pgettext('abbrev. day Wednesday', 'Wed'), - pgettext('abbrev. day Thursday', 'Thur'), - pgettext('abbrev. day Friday', 'Fri'), - pgettext('abbrev. day Saturday', 'Sat') - ], - daysOfWeekInitial: [ - pgettext('one letter Sunday', 'S'), - pgettext('one letter Monday', 'M'), - pgettext('one letter Tuesday', 'T'), - pgettext('one letter Wednesday', 'W'), - pgettext('one letter Thursday', 'T'), - pgettext('one letter Friday', 'F'), - pgettext('one letter Saturday', 'S') - ], - firstDayOfWeek: parseInt(get_format('FIRST_DAY_OF_WEEK')), - isLeapYear: function(year) { - return (((year % 4) === 0) && ((year % 100) !== 0 ) || ((year % 400) === 0)); - }, - getDaysInMonth: function(month, year) { - let days; - if (month === 1 || month === 3 || month === 5 || month === 7 || month === 8 || month === 10 || month === 12) { - days = 31; - } - else if (month === 4 || month === 6 || month === 9 || month === 11) { - days = 30; - } - else if (month === 2 && CalendarNamespace.isLeapYear(year)) { - days = 29; - } - else { - days = 28; - } - return days; - }, - draw: function(month, year, div_id, callback, selected) { // month = 1-12, year = 1-9999 - const today = new Date(); - const todayDay = today.getDate(); - const todayMonth = today.getMonth() + 1; - const todayYear = today.getFullYear(); - let todayClass = ''; - - // Use UTC functions here because the date field does not contain time - // and using the UTC function variants prevent the local time offset - // from altering the date, specifically the day field. For example: - // - // ``` - // var x = new Date('2013-10-02'); - // var day = x.getDate(); - // ``` - // - // The day variable above will be 1 instead of 2 in, say, US Pacific time - // zone. - let isSelectedMonth = false; - if (typeof selected !== 'undefined') { - isSelectedMonth = (selected.getUTCFullYear() === year && (selected.getUTCMonth() + 1) === month); - } - - month = parseInt(month); - year = parseInt(year); - const calDiv = document.getElementById(div_id); - removeChildren(calDiv); - const calTable = document.createElement('table'); - quickElement('caption', calTable, CalendarNamespace.monthsOfYear[month - 1] + ' ' + year); - const tableBody = quickElement('tbody', calTable); - - // Draw days-of-week header - let tableRow = quickElement('tr', tableBody); - for (let i = 0; i < 7; i++) { - quickElement('th', tableRow, CalendarNamespace.daysOfWeekInitial[(i + CalendarNamespace.firstDayOfWeek) % 7]); - } - - const startingPos = new Date(year, month - 1, 1 - CalendarNamespace.firstDayOfWeek).getDay(); - const days = CalendarNamespace.getDaysInMonth(month, year); - - let nonDayCell; - - // Draw blanks before first of month - tableRow = quickElement('tr', tableBody); - for (let i = 0; i < startingPos; i++) { - nonDayCell = quickElement('td', tableRow, ' '); - nonDayCell.className = "nonday"; - } - - function calendarMonth(y, m) { - function onClick(e) { - e.preventDefault(); - callback(y, m, this.textContent); - } - return onClick; - } - - // Draw days of month - let currentDay = 1; - for (let i = startingPos; currentDay <= days; i++) { - if (i % 7 === 0 && currentDay !== 1) { - tableRow = quickElement('tr', tableBody); - } - if ((currentDay === todayDay) && (month === todayMonth) && (year === todayYear)) { - todayClass = 'today'; - } else { - todayClass = ''; - } - - // use UTC function; see above for explanation. - if (isSelectedMonth && currentDay === selected.getUTCDate()) { - if (todayClass !== '') { - todayClass += " "; - } - todayClass += "selected"; - } - - const cell = quickElement('td', tableRow, '', 'class', todayClass); - const link = quickElement('a', cell, currentDay, 'href', '#'); - link.addEventListener('click', calendarMonth(year, month)); - currentDay++; - } - - // Draw blanks after end of month (optional, but makes for valid code) - while (tableRow.childNodes.length < 7) { - nonDayCell = quickElement('td', tableRow, ' '); - nonDayCell.className = "nonday"; - } - - calDiv.appendChild(calTable); - } - }; - - // Calendar -- A calendar instance - function Calendar(div_id, callback, selected) { - // div_id (string) is the ID of the element in which the calendar will - // be displayed - // callback (string) is the name of a JavaScript function that will be - // called with the parameters (year, month, day) when a day in the - // calendar is clicked - this.div_id = div_id; - this.callback = callback; - this.today = new Date(); - this.currentMonth = this.today.getMonth() + 1; - this.currentYear = this.today.getFullYear(); - if (typeof selected !== 'undefined') { - this.selected = selected; - } - } - Calendar.prototype = { - drawCurrent: function() { - CalendarNamespace.draw(this.currentMonth, this.currentYear, this.div_id, this.callback, this.selected); - }, - drawDate: function(month, year, selected) { - this.currentMonth = month; - this.currentYear = year; - - if(selected) { - this.selected = selected; - } - - this.drawCurrent(); - }, - drawPreviousMonth: function() { - if (this.currentMonth === 1) { - this.currentMonth = 12; - this.currentYear--; - } - else { - this.currentMonth--; - } - this.drawCurrent(); - }, - drawNextMonth: function() { - if (this.currentMonth === 12) { - this.currentMonth = 1; - this.currentYear++; - } - else { - this.currentMonth++; - } - this.drawCurrent(); - }, - drawPreviousYear: function() { - this.currentYear--; - this.drawCurrent(); - }, - drawNextYear: function() { - this.currentYear++; - this.drawCurrent(); - } - }; - window.Calendar = Calendar; - window.CalendarNamespace = CalendarNamespace; -} diff --git a/djangoProject/staticfiles/admin/js/cancel.js b/djangoProject/staticfiles/admin/js/cancel.js deleted file mode 100644 index 3069c6f2..00000000 --- a/djangoProject/staticfiles/admin/js/cancel.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; -{ - // Call function fn when the DOM is loaded and ready. If it is already - // loaded, call the function now. - // http://youmightnotneedjquery.com/#ready - function ready(fn) { - if (document.readyState !== 'loading') { - fn(); - } else { - document.addEventListener('DOMContentLoaded', fn); - } - } - - ready(function() { - function handleClick(event) { - event.preventDefault(); - const params = new URLSearchParams(window.location.search); - if (params.has('_popup')) { - window.close(); // Close the popup. - } else { - window.history.back(); // Otherwise, go back. - } - } - - document.querySelectorAll('.cancel-link').forEach(function(el) { - el.addEventListener('click', handleClick); - }); - }); -} diff --git a/djangoProject/staticfiles/admin/js/change_form.js b/djangoProject/staticfiles/admin/js/change_form.js deleted file mode 100644 index 96a4c62e..00000000 --- a/djangoProject/staticfiles/admin/js/change_form.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; -{ - const inputTags = ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA']; - const modelName = document.getElementById('django-admin-form-add-constants').dataset.modelName; - if (modelName) { - const form = document.getElementById(modelName + '_form'); - for (const element of form.elements) { - // HTMLElement.offsetParent returns null when the element is not - // rendered. - if (inputTags.includes(element.tagName) && !element.disabled && element.offsetParent) { - element.focus(); - break; - } - } - } -} diff --git a/djangoProject/staticfiles/admin/js/collapse.js b/djangoProject/staticfiles/admin/js/collapse.js deleted file mode 100644 index c6c7b0f6..00000000 --- a/djangoProject/staticfiles/admin/js/collapse.js +++ /dev/null @@ -1,43 +0,0 @@ -/*global gettext*/ -'use strict'; -{ - window.addEventListener('load', function() { - // Add anchor tag for Show/Hide link - const fieldsets = document.querySelectorAll('fieldset.collapse'); - for (const [i, elem] of fieldsets.entries()) { - // Don't hide if fields in this fieldset have errors - if (elem.querySelectorAll('div.errors, ul.errorlist').length === 0) { - elem.classList.add('collapsed'); - const h2 = elem.querySelector('h2'); - const link = document.createElement('a'); - link.id = 'fieldsetcollapser' + i; - link.className = 'collapse-toggle'; - link.href = '#'; - link.textContent = gettext('Show'); - h2.appendChild(document.createTextNode(' (')); - h2.appendChild(link); - h2.appendChild(document.createTextNode(')')); - } - } - // Add toggle to hide/show anchor tag - const toggleFunc = function(ev) { - if (ev.target.matches('.collapse-toggle')) { - ev.preventDefault(); - ev.stopPropagation(); - const fieldset = ev.target.closest('fieldset'); - if (fieldset.classList.contains('collapsed')) { - // Show - ev.target.textContent = gettext('Hide'); - fieldset.classList.remove('collapsed'); - } else { - // Hide - ev.target.textContent = gettext('Show'); - fieldset.classList.add('collapsed'); - } - } - }; - document.querySelectorAll('fieldset.module').forEach(function(el) { - el.addEventListener('click', toggleFunc); - }); - }); -} diff --git a/djangoProject/staticfiles/admin/js/core.js b/djangoProject/staticfiles/admin/js/core.js deleted file mode 100644 index 10504d4a..00000000 --- a/djangoProject/staticfiles/admin/js/core.js +++ /dev/null @@ -1,184 +0,0 @@ -// Core JavaScript helper functions -'use strict'; - -// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]); -function quickElement() { - const obj = document.createElement(arguments[0]); - if (arguments[2]) { - const textNode = document.createTextNode(arguments[2]); - obj.appendChild(textNode); - } - const len = arguments.length; - for (let i = 3; i < len; i += 2) { - obj.setAttribute(arguments[i], arguments[i + 1]); - } - arguments[1].appendChild(obj); - return obj; -} - -// "a" is reference to an object -function removeChildren(a) { - while (a.hasChildNodes()) { - a.removeChild(a.lastChild); - } -} - -// ---------------------------------------------------------------------------- -// Find-position functions by PPK -// See https://www.quirksmode.org/js/findpos.html -// ---------------------------------------------------------------------------- -function findPosX(obj) { - let curleft = 0; - if (obj.offsetParent) { - while (obj.offsetParent) { - curleft += obj.offsetLeft - obj.scrollLeft; - obj = obj.offsetParent; - } - } else if (obj.x) { - curleft += obj.x; - } - return curleft; -} - -function findPosY(obj) { - let curtop = 0; - if (obj.offsetParent) { - while (obj.offsetParent) { - curtop += obj.offsetTop - obj.scrollTop; - obj = obj.offsetParent; - } - } else if (obj.y) { - curtop += obj.y; - } - return curtop; -} - -//----------------------------------------------------------------------------- -// Date object extensions -// ---------------------------------------------------------------------------- -{ - Date.prototype.getTwelveHours = function() { - return this.getHours() % 12 || 12; - }; - - Date.prototype.getTwoDigitMonth = function() { - return (this.getMonth() < 9) ? '0' + (this.getMonth() + 1) : (this.getMonth() + 1); - }; - - Date.prototype.getTwoDigitDate = function() { - return (this.getDate() < 10) ? '0' + this.getDate() : this.getDate(); - }; - - Date.prototype.getTwoDigitTwelveHour = function() { - return (this.getTwelveHours() < 10) ? '0' + this.getTwelveHours() : this.getTwelveHours(); - }; - - Date.prototype.getTwoDigitHour = function() { - return (this.getHours() < 10) ? '0' + this.getHours() : this.getHours(); - }; - - Date.prototype.getTwoDigitMinute = function() { - return (this.getMinutes() < 10) ? '0' + this.getMinutes() : this.getMinutes(); - }; - - Date.prototype.getTwoDigitSecond = function() { - return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds(); - }; - - Date.prototype.getAbbrevDayName = function() { - return typeof window.CalendarNamespace === "undefined" - ? '0' + this.getDay() - : window.CalendarNamespace.daysOfWeekAbbrev[this.getDay()]; - }; - - Date.prototype.getFullDayName = function() { - return typeof window.CalendarNamespace === "undefined" - ? '0' + this.getDay() - : window.CalendarNamespace.daysOfWeek[this.getDay()]; - }; - - Date.prototype.getAbbrevMonthName = function() { - return typeof window.CalendarNamespace === "undefined" - ? this.getTwoDigitMonth() - : window.CalendarNamespace.monthsOfYearAbbrev[this.getMonth()]; - }; - - Date.prototype.getFullMonthName = function() { - return typeof window.CalendarNamespace === "undefined" - ? this.getTwoDigitMonth() - : window.CalendarNamespace.monthsOfYear[this.getMonth()]; - }; - - Date.prototype.strftime = function(format) { - const fields = { - a: this.getAbbrevDayName(), - A: this.getFullDayName(), - b: this.getAbbrevMonthName(), - B: this.getFullMonthName(), - c: this.toString(), - d: this.getTwoDigitDate(), - H: this.getTwoDigitHour(), - I: this.getTwoDigitTwelveHour(), - m: this.getTwoDigitMonth(), - M: this.getTwoDigitMinute(), - p: (this.getHours() >= 12) ? 'PM' : 'AM', - S: this.getTwoDigitSecond(), - w: '0' + this.getDay(), - x: this.toLocaleDateString(), - X: this.toLocaleTimeString(), - y: ('' + this.getFullYear()).substr(2, 4), - Y: '' + this.getFullYear(), - '%': '%' - }; - let result = '', i = 0; - while (i < format.length) { - if (format.charAt(i) === '%') { - result += fields[format.charAt(i + 1)]; - ++i; - } - else { - result += format.charAt(i); - } - ++i; - } - return result; - }; - - // ---------------------------------------------------------------------------- - // String object extensions - // ---------------------------------------------------------------------------- - String.prototype.strptime = function(format) { - const split_format = format.split(/[.\-/]/); - const date = this.split(/[.\-/]/); - let i = 0; - let day, month, year; - while (i < split_format.length) { - switch (split_format[i]) { - case "%d": - day = date[i]; - break; - case "%m": - month = date[i] - 1; - break; - case "%Y": - year = date[i]; - break; - case "%y": - // A %y value in the range of [00, 68] is in the current - // century, while [69, 99] is in the previous century, - // according to the Open Group Specification. - if (parseInt(date[i], 10) >= 69) { - year = date[i]; - } else { - year = (new Date(Date.UTC(date[i], 0))).getUTCFullYear() + 100; - } - break; - } - ++i; - } - // Create Date object from UTC since the parsed value is supposed to be - // in UTC, not local time. Also, the calendar uses UTC functions for - // date extraction. - return new Date(Date.UTC(year, month, day)); - }; -} diff --git a/djangoProject/staticfiles/admin/js/filters.js b/djangoProject/staticfiles/admin/js/filters.js deleted file mode 100644 index f5536ebc..00000000 --- a/djangoProject/staticfiles/admin/js/filters.js +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Persist changelist filters state (collapsed/expanded). - */ -'use strict'; -{ - // Init filters. - let filters = JSON.parse(sessionStorage.getItem('django.admin.filtersState')); - - if (!filters) { - filters = {}; - } - - Object.entries(filters).forEach(([key, value]) => { - const detailElement = document.querySelector(`[data-filter-title='${CSS.escape(key)}']`); - - // Check if the filter is present, it could be from other view. - if (detailElement) { - value ? detailElement.setAttribute('open', '') : detailElement.removeAttribute('open'); - } - }); - - // Save filter state when clicks. - const details = document.querySelectorAll('details'); - details.forEach(detail => { - detail.addEventListener('toggle', event => { - filters[`${event.target.dataset.filterTitle}`] = detail.open; - sessionStorage.setItem('django.admin.filtersState', JSON.stringify(filters)); - }); - }); -} diff --git a/djangoProject/staticfiles/admin/js/inlines.js b/djangoProject/staticfiles/admin/js/inlines.js deleted file mode 100644 index e9a1dfe1..00000000 --- a/djangoProject/staticfiles/admin/js/inlines.js +++ /dev/null @@ -1,359 +0,0 @@ -/*global DateTimeShortcuts, SelectFilter*/ -/** - * Django admin inlines - * - * Based on jQuery Formset 1.1 - * @author Stanislaus Madueke (stan DOT madueke AT gmail DOT com) - * @requires jQuery 1.2.6 or later - * - * Copyright (c) 2009, Stanislaus Madueke - * All rights reserved. - * - * Spiced up with Code from Zain Memon's GSoC project 2009 - * and modified for Django by Jannis Leidel, Travis Swicegood and Julien Phalip. - * - * Licensed under the New BSD License - * See: https://opensource.org/licenses/bsd-license.php - */ -'use strict'; -{ - const $ = django.jQuery; - $.fn.formset = function(opts) { - const options = $.extend({}, $.fn.formset.defaults, opts); - const $this = $(this); - const $parent = $this.parent(); - const updateElementIndex = function(el, prefix, ndx) { - const id_regex = new RegExp("(" + prefix + "-(\\d+|__prefix__))"); - const replacement = prefix + "-" + ndx; - if ($(el).prop("for")) { - $(el).prop("for", $(el).prop("for").replace(id_regex, replacement)); - } - if (el.id) { - el.id = el.id.replace(id_regex, replacement); - } - if (el.name) { - el.name = el.name.replace(id_regex, replacement); - } - }; - const totalForms = $("#id_" + options.prefix + "-TOTAL_FORMS").prop("autocomplete", "off"); - let nextIndex = parseInt(totalForms.val(), 10); - const maxForms = $("#id_" + options.prefix + "-MAX_NUM_FORMS").prop("autocomplete", "off"); - const minForms = $("#id_" + options.prefix + "-MIN_NUM_FORMS").prop("autocomplete", "off"); - let addButton; - - /** - * The "Add another MyModel" button below the inline forms. - */ - const addInlineAddButton = function() { - if (addButton === null) { - if ($this.prop("tagName") === "TR") { - // If forms are laid out as table rows, insert the - // "add" button in a new table row: - const numCols = $this.eq(-1).children().length; - $parent.append('' + options.addText + ""); - addButton = $parent.find("tr:last a"); - } else { - // Otherwise, insert it immediately after the last form: - $this.filter(":last").after('"); - addButton = $this.filter(":last").next().find("a"); - } - } - addButton.on('click', addInlineClickHandler); - }; - - const addInlineClickHandler = function(e) { - e.preventDefault(); - const template = $("#" + options.prefix + "-empty"); - const row = template.clone(true); - row.removeClass(options.emptyCssClass) - .addClass(options.formCssClass) - .attr("id", options.prefix + "-" + nextIndex); - addInlineDeleteButton(row); - row.find("*").each(function() { - updateElementIndex(this, options.prefix, totalForms.val()); - }); - // Insert the new form when it has been fully edited. - row.insertBefore($(template)); - // Update number of total forms. - $(totalForms).val(parseInt(totalForms.val(), 10) + 1); - nextIndex += 1; - // Hide the add button if there's a limit and it's been reached. - if ((maxForms.val() !== '') && (maxForms.val() - totalForms.val()) <= 0) { - addButton.parent().hide(); - } - // Show the remove buttons if there are more than min_num. - toggleDeleteButtonVisibility(row.closest('.inline-group')); - - // Pass the new form to the post-add callback, if provided. - if (options.added) { - options.added(row); - } - row.get(0).dispatchEvent(new CustomEvent("formset:added", { - bubbles: true, - detail: { - formsetName: options.prefix - } - })); - }; - - /** - * The "X" button that is part of every unsaved inline. - * (When saved, it is replaced with a "Delete" checkbox.) - */ - const addInlineDeleteButton = function(row) { - if (row.is("tr")) { - // If the forms are laid out in table rows, insert - // the remove button into the last table cell: - row.children(":last").append('"); - } else if (row.is("ul") || row.is("ol")) { - // If they're laid out as an ordered/unordered list, - // insert an
  • after the last list item: - row.append('
  • ' + options.deleteText + "
  • "); - } else { - // Otherwise, just insert the remove button as the - // last child element of the form's container: - row.children(":first").append('' + options.deleteText + ""); - } - // Add delete handler for each row. - row.find("a." + options.deleteCssClass).on('click', inlineDeleteHandler.bind(this)); - }; - - const inlineDeleteHandler = function(e1) { - e1.preventDefault(); - const deleteButton = $(e1.target); - const row = deleteButton.closest('.' + options.formCssClass); - const inlineGroup = row.closest('.inline-group'); - // Remove the parent form containing this button, - // and also remove the relevant row with non-field errors: - const prevRow = row.prev(); - if (prevRow.length && prevRow.hasClass('row-form-errors')) { - prevRow.remove(); - } - row.remove(); - nextIndex -= 1; - // Pass the deleted form to the post-delete callback, if provided. - if (options.removed) { - options.removed(row); - } - document.dispatchEvent(new CustomEvent("formset:removed", { - detail: { - formsetName: options.prefix - } - })); - // Update the TOTAL_FORMS form count. - const forms = $("." + options.formCssClass); - $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length); - // Show add button again once below maximum number. - if ((maxForms.val() === '') || (maxForms.val() - forms.length) > 0) { - addButton.parent().show(); - } - // Hide the remove buttons if at min_num. - toggleDeleteButtonVisibility(inlineGroup); - // Also, update names and ids for all remaining form controls so - // they remain in sequence: - let i, formCount; - const updateElementCallback = function() { - updateElementIndex(this, options.prefix, i); - }; - for (i = 0, formCount = forms.length; i < formCount; i++) { - updateElementIndex($(forms).get(i), options.prefix, i); - $(forms.get(i)).find("*").each(updateElementCallback); - } - }; - - const toggleDeleteButtonVisibility = function(inlineGroup) { - if ((minForms.val() !== '') && (minForms.val() - totalForms.val()) >= 0) { - inlineGroup.find('.inline-deletelink').hide(); - } else { - inlineGroup.find('.inline-deletelink').show(); - } - }; - - $this.each(function(i) { - $(this).not("." + options.emptyCssClass).addClass(options.formCssClass); - }); - - // Create the delete buttons for all unsaved inlines: - $this.filter('.' + options.formCssClass + ':not(.has_original):not(.' + options.emptyCssClass + ')').each(function() { - addInlineDeleteButton($(this)); - }); - toggleDeleteButtonVisibility($this); - - // Create the add button, initially hidden. - addButton = options.addButton; - addInlineAddButton(); - - // Show the add button if allowed to add more items. - // Note that max_num = None translates to a blank string. - const showAddButton = maxForms.val() === '' || (maxForms.val() - totalForms.val()) > 0; - if ($this.length && showAddButton) { - addButton.parent().show(); - } else { - addButton.parent().hide(); - } - - return this; - }; - - /* Setup plugin defaults */ - $.fn.formset.defaults = { - prefix: "form", // The form prefix for your django formset - addText: "add another", // Text for the add link - deleteText: "remove", // Text for the delete link - addCssClass: "add-row", // CSS class applied to the add link - deleteCssClass: "delete-row", // CSS class applied to the delete link - emptyCssClass: "empty-row", // CSS class applied to the empty row - formCssClass: "dynamic-form", // CSS class applied to each form in a formset - added: null, // Function called each time a new form is added - removed: null, // Function called each time a form is deleted - addButton: null // Existing add button to use - }; - - - // Tabular inlines --------------------------------------------------------- - $.fn.tabularFormset = function(selector, options) { - const $rows = $(this); - - const reinitDateTimeShortCuts = function() { - // Reinitialize the calendar and clock widgets by force - if (typeof DateTimeShortcuts !== "undefined") { - $(".datetimeshortcuts").remove(); - DateTimeShortcuts.init(); - } - }; - - const updateSelectFilter = function() { - // If any SelectFilter widgets are a part of the new form, - // instantiate a new SelectFilter instance for it. - if (typeof SelectFilter !== 'undefined') { - $('.selectfilter').each(function(index, value) { - SelectFilter.init(value.id, this.dataset.fieldName, false); - }); - $('.selectfilterstacked').each(function(index, value) { - SelectFilter.init(value.id, this.dataset.fieldName, true); - }); - } - }; - - const initPrepopulatedFields = function(row) { - row.find('.prepopulated_field').each(function() { - const field = $(this), - input = field.find('input, select, textarea'), - dependency_list = input.data('dependency_list') || [], - dependencies = []; - $.each(dependency_list, function(i, field_name) { - dependencies.push('#' + row.find('.field-' + field_name).find('input, select, textarea').attr('id')); - }); - if (dependencies.length) { - input.prepopulate(dependencies, input.attr('maxlength')); - } - }); - }; - - $rows.formset({ - prefix: options.prefix, - addText: options.addText, - formCssClass: "dynamic-" + options.prefix, - deleteCssClass: "inline-deletelink", - deleteText: options.deleteText, - emptyCssClass: "empty-form", - added: function(row) { - initPrepopulatedFields(row); - reinitDateTimeShortCuts(); - updateSelectFilter(); - }, - addButton: options.addButton - }); - - return $rows; - }; - - // Stacked inlines --------------------------------------------------------- - $.fn.stackedFormset = function(selector, options) { - const $rows = $(this); - const updateInlineLabel = function(row) { - $(selector).find(".inline_label").each(function(i) { - const count = i + 1; - $(this).html($(this).html().replace(/(#\d+)/g, "#" + count)); - }); - }; - - const reinitDateTimeShortCuts = function() { - // Reinitialize the calendar and clock widgets by force, yuck. - if (typeof DateTimeShortcuts !== "undefined") { - $(".datetimeshortcuts").remove(); - DateTimeShortcuts.init(); - } - }; - - const updateSelectFilter = function() { - // If any SelectFilter widgets were added, instantiate a new instance. - if (typeof SelectFilter !== "undefined") { - $(".selectfilter").each(function(index, value) { - SelectFilter.init(value.id, this.dataset.fieldName, false); - }); - $(".selectfilterstacked").each(function(index, value) { - SelectFilter.init(value.id, this.dataset.fieldName, true); - }); - } - }; - - const initPrepopulatedFields = function(row) { - row.find('.prepopulated_field').each(function() { - const field = $(this), - input = field.find('input, select, textarea'), - dependency_list = input.data('dependency_list') || [], - dependencies = []; - $.each(dependency_list, function(i, field_name) { - // Dependency in a fieldset. - let field_element = row.find('.form-row .field-' + field_name); - // Dependency without a fieldset. - if (!field_element.length) { - field_element = row.find('.form-row.field-' + field_name); - } - dependencies.push('#' + field_element.find('input, select, textarea').attr('id')); - }); - if (dependencies.length) { - input.prepopulate(dependencies, input.attr('maxlength')); - } - }); - }; - - $rows.formset({ - prefix: options.prefix, - addText: options.addText, - formCssClass: "dynamic-" + options.prefix, - deleteCssClass: "inline-deletelink", - deleteText: options.deleteText, - emptyCssClass: "empty-form", - removed: updateInlineLabel, - added: function(row) { - initPrepopulatedFields(row); - reinitDateTimeShortCuts(); - updateSelectFilter(); - updateInlineLabel(row); - }, - addButton: options.addButton - }); - - return $rows; - }; - - $(document).ready(function() { - $(".js-inline-admin-formset").each(function() { - const data = $(this).data(), - inlineOptions = data.inlineFormset; - let selector; - switch(data.inlineType) { - case "stacked": - selector = inlineOptions.name + "-group .inline-related"; - $(selector).stackedFormset(selector, inlineOptions.options); - break; - case "tabular": - selector = inlineOptions.name + "-group .tabular.inline-related tbody:first > tr.form-row"; - $(selector).tabularFormset(selector, inlineOptions.options); - break; - } - }); - }); -} diff --git a/djangoProject/staticfiles/admin/js/jquery.init.js b/djangoProject/staticfiles/admin/js/jquery.init.js deleted file mode 100644 index f40b27f4..00000000 --- a/djangoProject/staticfiles/admin/js/jquery.init.js +++ /dev/null @@ -1,8 +0,0 @@ -/*global jQuery:false*/ -'use strict'; -/* Puts the included jQuery into our own namespace using noConflict and passing - * it 'true'. This ensures that the included jQuery doesn't pollute the global - * namespace (i.e. this preserves pre-existing values for both window.$ and - * window.jQuery). - */ -window.django = {jQuery: jQuery.noConflict(true)}; diff --git a/djangoProject/staticfiles/admin/js/nav_sidebar.js b/djangoProject/staticfiles/admin/js/nav_sidebar.js deleted file mode 100644 index 7e735db1..00000000 --- a/djangoProject/staticfiles/admin/js/nav_sidebar.js +++ /dev/null @@ -1,79 +0,0 @@ -'use strict'; -{ - const toggleNavSidebar = document.getElementById('toggle-nav-sidebar'); - if (toggleNavSidebar !== null) { - const navSidebar = document.getElementById('nav-sidebar'); - const main = document.getElementById('main'); - let navSidebarIsOpen = localStorage.getItem('django.admin.navSidebarIsOpen'); - if (navSidebarIsOpen === null) { - navSidebarIsOpen = 'true'; - } - main.classList.toggle('shifted', navSidebarIsOpen === 'true'); - navSidebar.setAttribute('aria-expanded', navSidebarIsOpen); - - toggleNavSidebar.addEventListener('click', function() { - if (navSidebarIsOpen === 'true') { - navSidebarIsOpen = 'false'; - } else { - navSidebarIsOpen = 'true'; - } - localStorage.setItem('django.admin.navSidebarIsOpen', navSidebarIsOpen); - main.classList.toggle('shifted'); - navSidebar.setAttribute('aria-expanded', navSidebarIsOpen); - }); - } - - function initSidebarQuickFilter() { - const options = []; - const navSidebar = document.getElementById('nav-sidebar'); - if (!navSidebar) { - return; - } - navSidebar.querySelectorAll('th[scope=row] a').forEach((container) => { - options.push({title: container.innerHTML, node: container}); - }); - - function checkValue(event) { - let filterValue = event.target.value; - if (filterValue) { - filterValue = filterValue.toLowerCase(); - } - if (event.key === 'Escape') { - filterValue = ''; - event.target.value = ''; // clear input - } - let matches = false; - for (const o of options) { - let displayValue = ''; - if (filterValue) { - if (o.title.toLowerCase().indexOf(filterValue) === -1) { - displayValue = 'none'; - } else { - matches = true; - } - } - // show/hide parent - o.node.parentNode.parentNode.style.display = displayValue; - } - if (!filterValue || matches) { - event.target.classList.remove('no-results'); - } else { - event.target.classList.add('no-results'); - } - sessionStorage.setItem('django.admin.navSidebarFilterValue', filterValue); - } - - const nav = document.getElementById('nav-filter'); - nav.addEventListener('change', checkValue, false); - nav.addEventListener('input', checkValue, false); - nav.addEventListener('keyup', checkValue, false); - - const storedValue = sessionStorage.getItem('django.admin.navSidebarFilterValue'); - if (storedValue) { - nav.value = storedValue; - checkValue({target: nav, key: ''}); - } - } - window.initSidebarQuickFilter = initSidebarQuickFilter; - initSidebarQuickFilter(); -} diff --git a/djangoProject/staticfiles/admin/js/popup_response.js b/djangoProject/staticfiles/admin/js/popup_response.js deleted file mode 100644 index 2b1d3dd3..00000000 --- a/djangoProject/staticfiles/admin/js/popup_response.js +++ /dev/null @@ -1,16 +0,0 @@ -/*global opener */ -'use strict'; -{ - const initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse); - switch(initData.action) { - case 'change': - opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value); - break; - case 'delete': - opener.dismissDeleteRelatedObjectPopup(window, initData.value); - break; - default: - opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj); - break; - } -} diff --git a/djangoProject/staticfiles/admin/js/prepopulate.js b/djangoProject/staticfiles/admin/js/prepopulate.js deleted file mode 100644 index 89e95ab4..00000000 --- a/djangoProject/staticfiles/admin/js/prepopulate.js +++ /dev/null @@ -1,43 +0,0 @@ -/*global URLify*/ -'use strict'; -{ - const $ = django.jQuery; - $.fn.prepopulate = function(dependencies, maxLength, allowUnicode) { - /* - Depends on urlify.js - Populates a selected field with the values of the dependent fields, - URLifies and shortens the string. - dependencies - array of dependent fields ids - maxLength - maximum length of the URLify'd string - allowUnicode - Unicode support of the URLify'd string - */ - return this.each(function() { - const prepopulatedField = $(this); - - const populate = function() { - // Bail if the field's value has been changed by the user - if (prepopulatedField.data('_changed')) { - return; - } - - const values = []; - $.each(dependencies, function(i, field) { - field = $(field); - if (field.val().length > 0) { - values.push(field.val()); - } - }); - prepopulatedField.val(URLify(values.join(' '), maxLength, allowUnicode)); - }; - - prepopulatedField.data('_changed', false); - prepopulatedField.on('change', function() { - prepopulatedField.data('_changed', true); - }); - - if (!prepopulatedField.val()) { - $(dependencies.join(',')).on('keyup change focus', populate); - } - }); - }; -} diff --git a/djangoProject/staticfiles/admin/js/prepopulate_init.js b/djangoProject/staticfiles/admin/js/prepopulate_init.js deleted file mode 100644 index a58841f0..00000000 --- a/djangoProject/staticfiles/admin/js/prepopulate_init.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; -{ - const $ = django.jQuery; - const fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); - $.each(fields, function(index, field) { - $( - '.empty-form .form-row .field-' + field.name + - ', .empty-form.form-row .field-' + field.name + - ', .empty-form .form-row.field-' + field.name - ).addClass('prepopulated_field'); - $(field.id).data('dependency_list', field.dependency_list).prepopulate( - field.dependency_ids, field.maxLength, field.allowUnicode - ); - }); -} diff --git a/djangoProject/staticfiles/admin/js/theme.js b/djangoProject/staticfiles/admin/js/theme.js deleted file mode 100644 index 794cd15f..00000000 --- a/djangoProject/staticfiles/admin/js/theme.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; -{ - window.addEventListener('load', function(e) { - - function setTheme(mode) { - if (mode !== "light" && mode !== "dark" && mode !== "auto") { - console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`); - mode = "auto"; - } - document.documentElement.dataset.theme = mode; - localStorage.setItem("theme", mode); - } - - function cycleTheme() { - const currentTheme = localStorage.getItem("theme") || "auto"; - const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches; - - if (prefersDark) { - // Auto (dark) -> Light -> Dark - if (currentTheme === "auto") { - setTheme("light"); - } else if (currentTheme === "light") { - setTheme("dark"); - } else { - setTheme("auto"); - } - } else { - // Auto (light) -> Dark -> Light - if (currentTheme === "auto") { - setTheme("dark"); - } else if (currentTheme === "dark") { - setTheme("light"); - } else { - setTheme("auto"); - } - } - } - - function initTheme() { - // set theme defined in localStorage if there is one, or fallback to auto mode - const currentTheme = localStorage.getItem("theme"); - currentTheme ? setTheme(currentTheme) : setTheme("auto"); - } - - function setupTheme() { - // Attach event handlers for toggling themes - const buttons = document.getElementsByClassName("theme-toggle"); - Array.from(buttons).forEach((btn) => { - btn.addEventListener("click", cycleTheme); - }); - initTheme(); - } - - setupTheme(); - }); -} diff --git a/djangoProject/staticfiles/admin/js/urlify.js b/djangoProject/staticfiles/admin/js/urlify.js deleted file mode 100644 index 9fc04094..00000000 --- a/djangoProject/staticfiles/admin/js/urlify.js +++ /dev/null @@ -1,169 +0,0 @@ -/*global XRegExp*/ -'use strict'; -{ - const LATIN_MAP = { - 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE', - 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I', - 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O', - 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U', - 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'Ÿ': 'Y', 'ß': 'ss', 'à': 'a', - 'á': 'a', 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', - 'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i', - 'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', - 'ö': 'o', 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', - 'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y' - }; - const LATIN_SYMBOLS_MAP = { - '©': '(c)' - }; - const GREEK_MAP = { - 'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h', - 'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3', - 'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f', - 'χ': 'x', 'ψ': 'ps', 'ω': 'w', 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o', - 'ύ': 'y', 'ή': 'h', 'ώ': 'w', 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y', - 'ΐ': 'i', 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z', - 'Η': 'H', 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N', - 'Ξ': '3', 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y', - 'Φ': 'F', 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W', 'Ά': 'A', 'Έ': 'E', 'Ί': 'I', - 'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W', 'Ϊ': 'I', 'Ϋ': 'Y' - }; - const TURKISH_MAP = { - 'ş': 's', 'Ş': 'S', 'ı': 'i', 'İ': 'I', 'ç': 'c', 'Ç': 'C', 'ü': 'u', - 'Ü': 'U', 'ö': 'o', 'Ö': 'O', 'ğ': 'g', 'Ğ': 'G' - }; - const ROMANIAN_MAP = { - 'ă': 'a', 'î': 'i', 'ș': 's', 'ț': 't', 'â': 'a', - 'Ă': 'A', 'Î': 'I', 'Ș': 'S', 'Ț': 'T', 'Â': 'A' - }; - const RUSSIAN_MAP = { - 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo', - 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', - 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', - 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': '', - 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya', - 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo', - 'Ж': 'Zh', 'З': 'Z', 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M', - 'Н': 'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U', - 'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': '', - 'Ы': 'Y', 'Ь': '', 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya' - }; - const UKRAINIAN_MAP = { - 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G', 'є': 'ye', 'і': 'i', - 'ї': 'yi', 'ґ': 'g' - }; - const CZECH_MAP = { - 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's', 'ť': 't', - 'ů': 'u', 'ž': 'z', 'Č': 'C', 'Ď': 'D', 'Ě': 'E', 'Ň': 'N', 'Ř': 'R', - 'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z' - }; - const SLOVAK_MAP = { - 'á': 'a', 'ä': 'a', 'č': 'c', 'ď': 'd', 'é': 'e', 'í': 'i', 'ľ': 'l', - 'ĺ': 'l', 'ň': 'n', 'ó': 'o', 'ô': 'o', 'ŕ': 'r', 'š': 's', 'ť': 't', - 'ú': 'u', 'ý': 'y', 'ž': 'z', - 'Á': 'a', 'Ä': 'A', 'Č': 'C', 'Ď': 'D', 'É': 'E', 'Í': 'I', 'Ľ': 'L', - 'Ĺ': 'L', 'Ň': 'N', 'Ó': 'O', 'Ô': 'O', 'Ŕ': 'R', 'Š': 'S', 'Ť': 'T', - 'Ú': 'U', 'Ý': 'Y', 'Ž': 'Z' - }; - const POLISH_MAP = { - 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ó': 'o', 'ś': 's', - 'ź': 'z', 'ż': 'z', - 'Ą': 'A', 'Ć': 'C', 'Ę': 'E', 'Ł': 'L', 'Ń': 'N', 'Ó': 'O', 'Ś': 'S', - 'Ź': 'Z', 'Ż': 'Z' - }; - const LATVIAN_MAP = { - 'ā': 'a', 'č': 'c', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l', - 'ņ': 'n', 'š': 's', 'ū': 'u', 'ž': 'z', - 'Ā': 'A', 'Č': 'C', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'I', 'Ķ': 'K', 'Ļ': 'L', - 'Ņ': 'N', 'Š': 'S', 'Ū': 'U', 'Ž': 'Z' - }; - const ARABIC_MAP = { - 'أ': 'a', 'ب': 'b', 'ت': 't', 'ث': 'th', 'ج': 'g', 'ح': 'h', 'خ': 'kh', 'د': 'd', - 'ذ': 'th', 'ر': 'r', 'ز': 'z', 'س': 's', 'ش': 'sh', 'ص': 's', 'ض': 'd', 'ط': 't', - 'ظ': 'th', 'ع': 'aa', 'غ': 'gh', 'ف': 'f', 'ق': 'k', 'ك': 'k', 'ل': 'l', 'م': 'm', - 'ن': 'n', 'ه': 'h', 'و': 'o', 'ي': 'y' - }; - const LITHUANIAN_MAP = { - 'ą': 'a', 'č': 'c', 'ę': 'e', 'ė': 'e', 'į': 'i', 'š': 's', 'ų': 'u', - 'ū': 'u', 'ž': 'z', - 'Ą': 'A', 'Č': 'C', 'Ę': 'E', 'Ė': 'E', 'Į': 'I', 'Š': 'S', 'Ų': 'U', - 'Ū': 'U', 'Ž': 'Z' - }; - const SERBIAN_MAP = { - 'ђ': 'dj', 'ј': 'j', 'љ': 'lj', 'њ': 'nj', 'ћ': 'c', 'џ': 'dz', - 'đ': 'dj', 'Ђ': 'Dj', 'Ј': 'j', 'Љ': 'Lj', 'Њ': 'Nj', 'Ћ': 'C', - 'Џ': 'Dz', 'Đ': 'Dj' - }; - const AZERBAIJANI_MAP = { - 'ç': 'c', 'ə': 'e', 'ğ': 'g', 'ı': 'i', 'ö': 'o', 'ş': 's', 'ü': 'u', - 'Ç': 'C', 'Ə': 'E', 'Ğ': 'G', 'İ': 'I', 'Ö': 'O', 'Ş': 'S', 'Ü': 'U' - }; - const GEORGIAN_MAP = { - 'ა': 'a', 'ბ': 'b', 'გ': 'g', 'დ': 'd', 'ე': 'e', 'ვ': 'v', 'ზ': 'z', - 'თ': 't', 'ი': 'i', 'კ': 'k', 'ლ': 'l', 'მ': 'm', 'ნ': 'n', 'ო': 'o', - 'პ': 'p', 'ჟ': 'j', 'რ': 'r', 'ს': 's', 'ტ': 't', 'უ': 'u', 'ფ': 'f', - 'ქ': 'q', 'ღ': 'g', 'ყ': 'y', 'შ': 'sh', 'ჩ': 'ch', 'ც': 'c', 'ძ': 'dz', - 'წ': 'w', 'ჭ': 'ch', 'ხ': 'x', 'ჯ': 'j', 'ჰ': 'h' - }; - - const ALL_DOWNCODE_MAPS = [ - LATIN_MAP, - LATIN_SYMBOLS_MAP, - GREEK_MAP, - TURKISH_MAP, - ROMANIAN_MAP, - RUSSIAN_MAP, - UKRAINIAN_MAP, - CZECH_MAP, - SLOVAK_MAP, - POLISH_MAP, - LATVIAN_MAP, - ARABIC_MAP, - LITHUANIAN_MAP, - SERBIAN_MAP, - AZERBAIJANI_MAP, - GEORGIAN_MAP - ]; - - const Downcoder = { - 'Initialize': function() { - if (Downcoder.map) { // already made - return; - } - Downcoder.map = {}; - for (const lookup of ALL_DOWNCODE_MAPS) { - Object.assign(Downcoder.map, lookup); - } - Downcoder.regex = new RegExp(Object.keys(Downcoder.map).join('|'), 'g'); - } - }; - - function downcode(slug) { - Downcoder.Initialize(); - return slug.replace(Downcoder.regex, function(m) { - return Downcoder.map[m]; - }); - } - - - function URLify(s, num_chars, allowUnicode) { - // changes, e.g., "Petty theft" to "petty-theft" - if (!allowUnicode) { - s = downcode(s); - } - s = s.toLowerCase(); // convert to lowercase - // if downcode doesn't hit, the char will be stripped here - if (allowUnicode) { - // Keep Unicode letters including both lowercase and uppercase - // characters, whitespace, and dash; remove other characters. - s = XRegExp.replace(s, XRegExp('[^-_\\p{L}\\p{N}\\s]', 'g'), ''); - } else { - s = s.replace(/[^-\w\s]/g, ''); // remove unneeded chars - } - s = s.replace(/^\s+|\s+$/g, ''); // trim leading/trailing spaces - s = s.replace(/[-\s]+/g, '-'); // convert spaces to hyphens - s = s.substring(0, num_chars); // trim to first num_chars chars - return s.replace(/-+$/g, ''); // trim any trailing hyphens - } - window.URLify = URLify; -} diff --git a/djangoProject/staticfiles/admin/js/vendor/jquery/LICENSE.txt b/djangoProject/staticfiles/admin/js/vendor/jquery/LICENSE.txt deleted file mode 100644 index f642c3f7..00000000 --- a/djangoProject/staticfiles/admin/js/vendor/jquery/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright OpenJS Foundation and other contributors, https://openjsf.org/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/djangoProject/staticfiles/admin/js/vendor/jquery/jquery.js b/djangoProject/staticfiles/admin/js/vendor/jquery/jquery.js deleted file mode 100644 index 1a86433c..00000000 --- a/djangoProject/staticfiles/admin/js/vendor/jquery/jquery.js +++ /dev/null @@ -1,10716 +0,0 @@ -/*! - * jQuery JavaScript Library v3.7.1 - * https://jquery.com/ - * - * Copyright OpenJS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2023-08-28T13:37Z - */ -( function( global, factory ) { - - "use strict"; - - if ( typeof module === "object" && typeof module.exports === "object" ) { - - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket trac-14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 -// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode -// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common -// enough that all such attempts are guarded in a try block. -"use strict"; - -var arr = []; - -var getProto = Object.getPrototypeOf; - -var slice = arr.slice; - -var flat = arr.flat ? function( array ) { - return arr.flat.call( array ); -} : function( array ) { - return arr.concat.apply( [], array ); -}; - - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var fnToString = hasOwn.toString; - -var ObjectFunctionString = fnToString.call( Object ); - -var support = {}; - -var isFunction = function isFunction( obj ) { - - // Support: Chrome <=57, Firefox <=52 - // In some browsers, typeof returns "function" for HTML elements - // (i.e., `typeof document.createElement( "object" ) === "function"`). - // We don't want to classify *any* DOM node as a function. - // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 - // Plus for old WebKit, typeof returns "function" for HTML collections - // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) - return typeof obj === "function" && typeof obj.nodeType !== "number" && - typeof obj.item !== "function"; - }; - - -var isWindow = function isWindow( obj ) { - return obj != null && obj === obj.window; - }; - - -var document = window.document; - - - - var preservedScriptAttributes = { - type: true, - src: true, - nonce: true, - noModule: true - }; - - function DOMEval( code, node, doc ) { - doc = doc || document; - - var i, val, - script = doc.createElement( "script" ); - - script.text = code; - if ( node ) { - for ( i in preservedScriptAttributes ) { - - // Support: Firefox 64+, Edge 18+ - // Some browsers don't support the "nonce" property on scripts. - // On the other hand, just using `getAttribute` is not enough as - // the `nonce` attribute is reset to an empty string whenever it - // becomes browsing-context connected. - // See https://github.com/whatwg/html/issues/2369 - // See https://html.spec.whatwg.org/#nonce-attributes - // The `node.getAttribute` check was added for the sake of - // `jQuery.globalEval` so that it can fake a nonce-containing node - // via an object. - val = node[ i ] || node.getAttribute && node.getAttribute( i ); - if ( val ) { - script.setAttribute( i, val ); - } - } - } - doc.head.appendChild( script ).parentNode.removeChild( script ); - } - - -function toType( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android <=2.3 only (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; -} -/* global Symbol */ -// Defining this global in .eslintrc.json would create a danger of using the global -// unguarded in another place, it seems safer to define global only for this module - - - -var version = "3.7.1", - - rhtmlSuffix = /HTML$/i, - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }; - -jQuery.fn = jQuery.prototype = { - - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - - // Return all the elements in a clean array - if ( num == null ) { - return slice.call( this ); - } - - // Return just the one element from the set - return num < 0 ? this[ num + this.length ] : this[ num ]; - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - each: function( callback ) { - return jQuery.each( this, callback ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map( this, function( elem, i ) { - return callback.call( elem, i, elem ); - } ) ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - even: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return ( i + 1 ) % 2; - } ) ); - }, - - odd: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return i % 2; - } ) ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[ 0 ] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !isFunction( target ) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - - // Only deal with non-null/undefined values - if ( ( options = arguments[ i ] ) != null ) { - - // Extend the base object - for ( name in options ) { - copy = options[ name ]; - - // Prevent Object.prototype pollution - // Prevent never-ending loop - if ( name === "__proto__" || target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = Array.isArray( copy ) ) ) ) { - src = target[ name ]; - - // Ensure proper type for the source value - if ( copyIsArray && !Array.isArray( src ) ) { - clone = []; - } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { - clone = {}; - } else { - clone = src; - } - copyIsArray = false; - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend( { - - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isPlainObject: function( obj ) { - var proto, Ctor; - - // Detect obvious negatives - // Use toString instead of jQuery.type to catch host objects - if ( !obj || toString.call( obj ) !== "[object Object]" ) { - return false; - } - - proto = getProto( obj ); - - // Objects with no prototype (e.g., `Object.create( null )`) are plain - if ( !proto ) { - return true; - } - - // Objects with prototype are plain iff they were constructed by a global Object function - Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; - return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; - }, - - isEmptyObject: function( obj ) { - var name; - - for ( name in obj ) { - return false; - } - return true; - }, - - // Evaluates a script in a provided context; falls back to the global one - // if not specified. - globalEval: function( code, options, doc ) { - DOMEval( code, { nonce: options && options.nonce }, doc ); - }, - - each: function( obj, callback ) { - var length, i = 0; - - if ( isArrayLike( obj ) ) { - length = obj.length; - for ( ; i < length; i++ ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } else { - for ( i in obj ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } - - return obj; - }, - - - // Retrieve the text value of an array of DOM nodes - text: function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - - // If no nodeType, this is expected to be an array - while ( ( node = elem[ i++ ] ) ) { - - // Do not traverse comment nodes - ret += jQuery.text( node ); - } - } - if ( nodeType === 1 || nodeType === 11 ) { - return elem.textContent; - } - if ( nodeType === 9 ) { - return elem.documentElement.textContent; - } - if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - - // Do not include comment or processing instruction nodes - - return ret; - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArrayLike( Object( arr ) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - isXMLDoc: function( elem ) { - var namespace = elem && elem.namespaceURI, - docElem = elem && ( elem.ownerDocument || elem ).documentElement; - - // Assume HTML when documentElement doesn't yet exist, such as inside - // document fragments. - return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" ); - }, - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var length, value, - i = 0, - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArrayLike( elems ) ) { - length = elems.length; - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return flat( ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -} ); - -if ( typeof Symbol === "function" ) { - jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; -} - -// Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), - function( _i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); - } ); - -function isArrayLike( obj ) { - - // Support: real iOS 8.2 only (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = toType( obj ); - - if ( isFunction( obj ) || isWindow( obj ) ) { - return false; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} - - -function nodeName( elem, name ) { - - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - -} -var pop = arr.pop; - - -var sort = arr.sort; - - -var splice = arr.splice; - - -var whitespace = "[\\x20\\t\\r\\n\\f]"; - - -var rtrimCSS = new RegExp( - "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", - "g" -); - - - - -// Note: an element does not contain itself -jQuery.contains = function( a, b ) { - var bup = b && b.parentNode; - - return a === bup || !!( bup && bup.nodeType === 1 && ( - - // Support: IE 9 - 11+ - // IE doesn't have `contains` on SVG. - a.contains ? - a.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - ) ); -}; - - - - -// CSS string/identifier serialization -// https://drafts.csswg.org/cssom/#common-serializing-idioms -var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; - -function fcssescape( ch, asCodePoint ) { - if ( asCodePoint ) { - - // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER - if ( ch === "\0" ) { - return "\uFFFD"; - } - - // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; - } - - // Other potentially-special ASCII characters get backslash-escaped - return "\\" + ch; -} - -jQuery.escapeSelector = function( sel ) { - return ( sel + "" ).replace( rcssescape, fcssescape ); -}; - - - - -var preferredDoc = document, - pushNative = push; - -( function() { - -var i, - Expr, - outermostContext, - sortInput, - hasDuplicate, - push = pushNative, - - // Local document vars - document, - documentElement, - documentIsHTML, - rbuggyQSA, - matches, - - // Instance-specific data - expando = jQuery.expando, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - nonnativeSelectorCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" + - "loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram - identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + - "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", - - // Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + - - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + - whitespace + "*\\]", - - pseudos = ":(" + identifier + ")(?:\\((" + - - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + - whitespace + "*" ), - rdescend = new RegExp( whitespace + "|>" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - ID: new RegExp( "^#(" + identifier + ")" ), - CLASS: new RegExp( "^\\.(" + identifier + ")" ), - TAG: new RegExp( "^(" + identifier + "|[*])" ), - ATTR: new RegExp( "^" + attributes ), - PSEUDO: new RegExp( "^" + pseudos ), - CHILD: new RegExp( - "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + - whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + - whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - bool: new RegExp( "^(?:" + booleans + ")$", "i" ), - - // For use in libraries implementing .is() - // We use this for POS matching in `select` - needsContext: new RegExp( "^" + whitespace + - "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + - "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - - // CSS escapes - // https://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + - "?|\\\\([^\\r\\n\\f])", "g" ), - funescape = function( escape, nonHex ) { - var high = "0x" + escape.slice( 1 ) - 0x10000; - - if ( nonHex ) { - - // Strip the backslash prefix from a non-hex escape sequence - return nonHex; - } - - // Replace a hexadecimal escape sequence with the encoded Unicode code point - // Support: IE <=11+ - // For values outside the Basic Multilingual Plane (BMP), manually construct a - // surrogate pair - return high < 0 ? - String.fromCharCode( high + 0x10000 ) : - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // Used for iframes; see `setDocument`. - // Support: IE 9 - 11+, Edge 12 - 18+ - // Removing the function wrapper causes a "Permission Denied" - // error in IE/Edge. - unloadHandler = function() { - setDocument(); - }, - - inDisabledFieldset = addCombinator( - function( elem ) { - return elem.disabled === true && nodeName( elem, "fieldset" ); - }, - { dir: "parentNode", next: "legend" } - ); - -// Support: IE <=9 only -// Accessing document.activeElement can throw unexpectedly -// https://bugs.jquery.com/ticket/13393 -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - ( arr = slice.call( preferredDoc.childNodes ) ), - preferredDoc.childNodes - ); - - // Support: Android <=4.0 - // Detect silently failing push.apply - // eslint-disable-next-line no-unused-expressions - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { - apply: function( target, els ) { - pushNative.apply( target, slice.call( els ) ); - }, - call: function( target ) { - pushNative.apply( target, slice.call( arguments, 1 ) ); - } - }; -} - -function find( selector, context, results, seed ) { - var m, i, elem, nid, match, groups, newSelector, - newContext = context && context.ownerDocument, - - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - - results = results || []; - - // Return early from calls with invalid selector or context - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - // Try to shortcut find operations (as opposed to filters) in HTML documents - if ( !seed ) { - setDocument( context ); - context = context || document; - - if ( documentIsHTML ) { - - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { - - // ID selector - if ( ( m = match[ 1 ] ) ) { - - // Document context - if ( nodeType === 9 ) { - if ( ( elem = context.getElementById( m ) ) ) { - - // Support: IE 9 only - // getElementById can match elements by name instead of ID - if ( elem.id === m ) { - push.call( results, elem ); - return results; - } - } else { - return results; - } - - // Element context - } else { - - // Support: IE 9 only - // getElementById can match elements by name instead of ID - if ( newContext && ( elem = newContext.getElementById( m ) ) && - find.contains( context, elem ) && - elem.id === m ) { - - push.call( results, elem ); - return results; - } - } - - // Type selector - } else if ( match[ 2 ] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Class selector - } else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) { - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // Take advantage of querySelectorAll - if ( !nonnativeSelectorCache[ selector + " " ] && - ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) { - - newSelector = selector; - newContext = context; - - // qSA considers elements outside a scoping root when evaluating child or - // descendant combinators, which is not what we want. - // In such cases, we work around the behavior by prefixing every selector in the - // list with an ID selector referencing the scope context. - // The technique has to be used as well when a leading combinator is used - // as such selectors are not recognized by querySelectorAll. - // Thanks to Andrew Dupont for this technique. - if ( nodeType === 1 && - ( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) { - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; - - // We can use :scope instead of the ID hack if the browser - // supports it & if we're not changing the context. - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when - // strict-comparing two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( newContext != context || !support.scope ) { - - // Capture the context ID, setting it first if necessary - if ( ( nid = context.getAttribute( "id" ) ) ) { - nid = jQuery.escapeSelector( nid ); - } else { - context.setAttribute( "id", ( nid = expando ) ); - } - } - - // Prefix every selector in the list - groups = tokenize( selector ); - i = groups.length; - while ( i-- ) { - groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + - toSelector( groups[ i ] ); - } - newSelector = groups.join( "," ); - } - - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - nonnativeSelectorCache( selector, true ); - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } - } - } - } - } - - // All others - return select( selector.replace( rtrimCSS, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {function(string, object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - - // Use (key + " ") to avoid collision with native prototype properties - // (see https://github.com/jquery/sizzle/issues/157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return ( cache[ key + " " ] = value ); - } - return cache; -} - -/** - * Mark a function for special use by jQuery selector module - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created element and returns a boolean result - */ -function assert( fn ) { - var el = document.createElement( "fieldset" ); - - try { - return !!fn( el ); - } catch ( e ) { - return false; - } finally { - - // Remove from its parent by default - if ( el.parentNode ) { - el.parentNode.removeChild( el ); - } - - // release memory in IE - el = null; - } -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - return nodeName( elem, "input" ) && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) && - elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for :enabled/:disabled - * @param {Boolean} disabled true for :disabled; false for :enabled - */ -function createDisabledPseudo( disabled ) { - - // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable - return function( elem ) { - - // Only certain elements can match :enabled or :disabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled - if ( "form" in elem ) { - - // Check for inherited disabledness on relevant non-disabled elements: - // * listed form-associated elements in a disabled fieldset - // https://html.spec.whatwg.org/multipage/forms.html#category-listed - // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled - // * option elements in a disabled optgroup - // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled - // All such elements have a "form" property. - if ( elem.parentNode && elem.disabled === false ) { - - // Option elements defer to a parent optgroup if present - if ( "label" in elem ) { - if ( "label" in elem.parentNode ) { - return elem.parentNode.disabled === disabled; - } else { - return elem.disabled === disabled; - } - } - - // Support: IE 6 - 11+ - // Use the isDisabled shortcut property to check for disabled fieldset ancestors - return elem.isDisabled === disabled || - - // Where there is no isDisabled, check manually - elem.isDisabled !== !disabled && - inDisabledFieldset( elem ) === disabled; - } - - return elem.disabled === disabled; - - // Try to winnow out elements that can't be disabled before trusting the disabled property. - // Some victims get caught in our net (label, legend, menu, track), but it shouldn't - // even exist on them, let alone have a boolean value. - } else if ( "label" in elem ) { - return elem.disabled === disabled; - } - - // Remaining elements are neither :enabled nor :disabled - return false; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction( function( argument ) { - argument = +argument; - return markFunction( function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ ( j = matchIndexes[ i ] ) ] ) { - seed[ j ] = !( matches[ j ] = seed[ j ] ); - } - } - } ); - } ); -} - -/** - * Checks a node for validity as a jQuery selector context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [node] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -function setDocument( node ) { - var subWindow, - doc = node ? node.ownerDocument || node : preferredDoc; - - // Return early if doc is invalid or already selected - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Update global variables - document = doc; - documentElement = document.documentElement; - documentIsHTML = !jQuery.isXMLDoc( document ); - - // Support: iOS 7 only, IE 9 - 11+ - // Older browsers didn't support unprefixed `matches`. - matches = documentElement.matches || - documentElement.webkitMatchesSelector || - documentElement.msMatchesSelector; - - // Support: IE 9 - 11+, Edge 12 - 18+ - // Accessing iframe documents after unload throws "permission denied" errors - // (see trac-13936). - // Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`, - // all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well. - if ( documentElement.msMatchesSelector && - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - preferredDoc != document && - ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { - - // Support: IE 9 - 11+, Edge 12 - 18+ - subWindow.addEventListener( "unload", unloadHandler ); - } - - // Support: IE <10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programmatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert( function( el ) { - documentElement.appendChild( el ).id = jQuery.expando; - return !document.getElementsByName || - !document.getElementsByName( jQuery.expando ).length; - } ); - - // Support: IE 9 only - // Check to see if it's possible to do matchesSelector - // on a disconnected node. - support.disconnectedMatch = assert( function( el ) { - return matches.call( el, "*" ); - } ); - - // Support: IE 9 - 11+, Edge 12 - 18+ - // IE/Edge don't support the :scope pseudo-class. - support.scope = assert( function() { - return document.querySelectorAll( ":scope" ); - } ); - - // Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only - // Make sure the `:has()` argument is parsed unforgivingly. - // We include `*` in the test to detect buggy implementations that are - // _selectively_ forgiving (specifically when the list includes at least - // one valid selector). - // Note that we treat complete lack of support for `:has()` as if it were - // spec-compliant support, which is fine because use of `:has()` in such - // environments will fail in the qSA path and fall back to jQuery traversal - // anyway. - support.cssHas = assert( function() { - try { - document.querySelector( ":has(*,:jqfake)" ); - return false; - } catch ( e ) { - return true; - } - } ); - - // ID filter and find - if ( support.getById ) { - Expr.filter.ID = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute( "id" ) === attrId; - }; - }; - Expr.find.ID = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var elem = context.getElementById( id ); - return elem ? [ elem ] : []; - } - }; - } else { - Expr.filter.ID = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && - elem.getAttributeNode( "id" ); - return node && node.value === attrId; - }; - }; - - // Support: IE 6 - 7 only - // getElementById is not reliable as a find shortcut - Expr.find.ID = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var node, i, elems, - elem = context.getElementById( id ); - - if ( elem ) { - - // Verify the id attribute - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - - // Fall back on getElementsByName - elems = context.getElementsByName( id ); - i = 0; - while ( ( elem = elems[ i++ ] ) ) { - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - } - } - - return []; - } - }; - } - - // Tag - Expr.find.TAG = function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else { - return context.querySelectorAll( tag ); - } - }; - - // Class - Expr.find.CLASS = function( className, context ) { - if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - rbuggyQSA = []; - - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert( function( el ) { - - var input; - - documentElement.appendChild( el ).innerHTML = - "" + - ""; - - // Support: iOS <=7 - 8 only - // Boolean attributes and "value" are not treated correctly in some XML documents - if ( !el.querySelectorAll( "[selected]" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: iOS <=7 - 8 only - if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push( "~=" ); - } - - // Support: iOS 8 only - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibling-combinator selector` fails - if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push( ".#.+[+~]" ); - } - - // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ - // In some of the document kinds, these selectors wouldn't work natively. - // This is probably OK but for backwards compatibility we want to maintain - // handling them through jQuery traversal in jQuery 3.x. - if ( !el.querySelectorAll( ":checked" ).length ) { - rbuggyQSA.push( ":checked" ); - } - - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - input = document.createElement( "input" ); - input.setAttribute( "type", "hidden" ); - el.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE 9 - 11+ - // IE's :disabled selector does not pick up the children of disabled fieldsets - // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ - // In some of the document kinds, these selectors wouldn't work natively. - // This is probably OK but for backwards compatibility we want to maintain - // handling them through jQuery traversal in jQuery 3.x. - documentElement.appendChild( el ).disabled = true; - if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: IE 11+, Edge 15 - 18+ - // IE 11/Edge don't find elements on a `[name='']` query in some cases. - // Adding a temporary attribute to the document before the selection works - // around the issue. - // Interestingly, IE 10 & older don't seem to have the issue. - input = document.createElement( "input" ); - input.setAttribute( "name", "" ); - el.appendChild( input ); - if ( !el.querySelectorAll( "[name='']" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + - whitespace + "*(?:''|\"\")" ); - } - } ); - - if ( !support.cssHas ) { - - // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+ - // Our regular `try-catch` mechanism fails to detect natively-unsupported - // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`) - // in browsers that parse the `:has()` argument as a forgiving selector list. - // https://drafts.csswg.org/selectors/#relational now requires the argument - // to be parsed unforgivingly, but browsers have not yet fully adjusted. - rbuggyQSA.push( ":has" ); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { - - // Choose the first element that is related to our preferred document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( a === document || a.ownerDocument == preferredDoc && - find.contains( preferredDoc, a ) ) { - return -1; - } - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( b === document || b.ownerDocument == preferredDoc && - find.contains( preferredDoc, b ) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - }; - - return document; -} - -find.matches = function( expr, elements ) { - return find( expr, null, null, elements ); -}; - -find.matchesSelector = function( elem, expr ) { - setDocument( elem ); - - if ( documentIsHTML && - !nonnativeSelectorCache[ expr + " " ] && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch ( e ) { - nonnativeSelectorCache( expr, true ); - } - } - - return find( expr, document, null, [ elem ] ).length > 0; -}; - -find.contains = function( context, elem ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( context.ownerDocument || context ) != document ) { - setDocument( context ); - } - return jQuery.contains( context, elem ); -}; - - -find.attr = function( elem, name ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( elem.ownerDocument || elem ) != document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - - // Don't get fooled by Object.prototype properties (see trac-13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - if ( val !== undefined ) { - return val; - } - - return elem.getAttribute( name ); -}; - -find.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -jQuery.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - // - // Support: Android <=4.0+ - // Testing for detecting duplicates is unpredictable so instead assume we can't - // depend on duplicate detection in all browsers without a stable sort. - hasDuplicate = !support.sortStable; - sortInput = !support.sortStable && slice.call( results, 0 ); - sort.call( results, sortOrder ); - - if ( hasDuplicate ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - splice.call( results, duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -jQuery.fn.uniqueSort = function() { - return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) ); -}; - -Expr = jQuery.expr = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - ATTR: function( match ) { - match[ 1 ] = match[ 1 ].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" ) - .replace( runescape, funescape ); - - if ( match[ 2 ] === "~=" ) { - match[ 3 ] = " " + match[ 3 ] + " "; - } - - return match.slice( 0, 4 ); - }, - - CHILD: function( match ) { - - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[ 1 ] = match[ 1 ].toLowerCase(); - - if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { - - // nth-* requires argument - if ( !match[ 3 ] ) { - find.error( match[ 0 ] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[ 4 ] = +( match[ 4 ] ? - match[ 5 ] + ( match[ 6 ] || 1 ) : - 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) - ); - match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); - - // other types prohibit arguments - } else if ( match[ 3 ] ) { - find.error( match[ 0 ] ); - } - - return match; - }, - - PSEUDO: function( match ) { - var excess, - unquoted = !match[ 6 ] && match[ 2 ]; - - if ( matchExpr.CHILD.test( match[ 0 ] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[ 3 ] ) { - match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - - // Get excess from tokenize (recursively) - ( excess = tokenize( unquoted, true ) ) && - - // advance to the next closing parenthesis - ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { - - // excess is a negative index - match[ 0 ] = match[ 0 ].slice( 0, excess ); - match[ 2 ] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - TAG: function( nodeNameSelector ) { - var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { - return true; - } : - function( elem ) { - return nodeName( elem, expectedNodeName ); - }; - }, - - CLASS: function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - ( pattern = new RegExp( "(^|" + whitespace + ")" + className + - "(" + whitespace + "|$)" ) ) && - classCache( className, function( elem ) { - return pattern.test( - typeof elem.className === "string" && elem.className || - typeof elem.getAttribute !== "undefined" && - elem.getAttribute( "class" ) || - "" - ); - } ); - }, - - ATTR: function( name, operator, check ) { - return function( elem ) { - var result = find.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - if ( operator === "=" ) { - return result === check; - } - if ( operator === "!=" ) { - return result !== check; - } - if ( operator === "^=" ) { - return check && result.indexOf( check ) === 0; - } - if ( operator === "*=" ) { - return check && result.indexOf( check ) > -1; - } - if ( operator === "$=" ) { - return check && result.slice( -check.length ) === check; - } - if ( operator === "~=" ) { - return ( " " + result.replace( rwhitespace, " " ) + " " ) - .indexOf( check ) > -1; - } - if ( operator === "|=" ) { - return result === check || result.slice( 0, check.length + 1 ) === check + "-"; - } - - return false; - }; - }, - - CHILD: function( type, what, _argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, _context, xml ) { - var cache, outerCache, node, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType, - diff = false; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( ( node = node[ dir ] ) ) { - if ( ofType ? - nodeName( node, name ) : - node.nodeType === 1 ) { - - return false; - } - } - - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - - // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || ( parent[ expando ] = {} ); - cache = outerCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex && cache[ 2 ]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( ( node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - } else { - - // Use previously-cached element index if available - if ( useCache ) { - outerCache = elem[ expando ] || ( elem[ expando ] = {} ); - cache = outerCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex; - } - - // xml :nth-child(...) - // or :nth-last-child(...) or :nth(-last)?-of-type(...) - if ( diff === false ) { - - // Use the same loop as above to seek `elem` from the start - while ( ( node = ++nodeIndex && node && node[ dir ] || - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - if ( ( ofType ? - nodeName( node, name ) : - node.nodeType === 1 ) && - ++diff ) { - - // Cache the index of each encountered element - if ( useCache ) { - outerCache = node[ expando ] || - ( node[ expando ] = {} ); - outerCache[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - PSEUDO: function( pseudo, argument ) { - - // pseudo-class names are case-insensitive - // https://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - find.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as jQuery does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction( function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf.call( seed, matched[ i ] ); - seed[ idx ] = !( matches[ idx ] = matched[ i ] ); - } - } ) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - - // Potentially complex pseudos - not: markFunction( function( selector ) { - - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrimCSS, "$1" ) ); - - return matcher[ expando ] ? - markFunction( function( seed, matches, _context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( ( elem = unmatched[ i ] ) ) { - seed[ i ] = !( matches[ i ] = elem ); - } - } - } ) : - function( elem, _context, xml ) { - input[ 0 ] = elem; - matcher( input, null, xml, results ); - - // Don't keep the element - // (see https://github.com/jquery/sizzle/issues/299) - input[ 0 ] = null; - return !results.pop(); - }; - } ), - - has: markFunction( function( selector ) { - return function( elem ) { - return find( selector, elem ).length > 0; - }; - } ), - - contains: markFunction( function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1; - }; - } ), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // https://www.w3.org/TR/selectors/#lang-pseudo - lang: markFunction( function( lang ) { - - // lang value must be a valid identifier - if ( !ridentifier.test( lang || "" ) ) { - find.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( ( elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); - return false; - }; - } ), - - // Miscellaneous - target: function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - root: function( elem ) { - return elem === documentElement; - }, - - focus: function( elem ) { - return elem === safeActiveElement() && - document.hasFocus() && - !!( elem.type || elem.href || ~elem.tabIndex ); - }, - - // Boolean properties - enabled: createDisabledPseudo( false ), - disabled: createDisabledPseudo( true ), - - checked: function( elem ) { - - // In CSS3, :checked should return both checked and selected elements - // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - return ( nodeName( elem, "input" ) && !!elem.checked ) || - ( nodeName( elem, "option" ) && !!elem.selected ); - }, - - selected: function( elem ) { - - // Support: IE <=11+ - // Accessing the selectedIndex property - // forces the browser to treat the default option as - // selected when in an optgroup. - if ( elem.parentNode ) { - // eslint-disable-next-line no-unused-expressions - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - empty: function( elem ) { - - // https://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - parent: function( elem ) { - return !Expr.pseudos.empty( elem ); - }, - - // Element/input types - header: function( elem ) { - return rheader.test( elem.nodeName ); - }, - - input: function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - button: function( elem ) { - return nodeName( elem, "input" ) && elem.type === "button" || - nodeName( elem, "button" ); - }, - - text: function( elem ) { - var attr; - return nodeName( elem, "input" ) && elem.type === "text" && - - // Support: IE <10 only - // New HTML5 attribute values (e.g., "search") appear - // with elem.type === "text" - ( ( attr = elem.getAttribute( "type" ) ) == null || - attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - first: createPositionalPseudo( function() { - return [ 0 ]; - } ), - - last: createPositionalPseudo( function( _matchIndexes, length ) { - return [ length - 1 ]; - } ), - - eq: createPositionalPseudo( function( _matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - } ), - - even: createPositionalPseudo( function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - odd: createPositionalPseudo( function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - lt: createPositionalPseudo( function( matchIndexes, length, argument ) { - var i; - - if ( argument < 0 ) { - i = argument + length; - } else if ( argument > length ) { - i = length; - } else { - i = argument; - } - - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - gt: createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ) - } -}; - -Expr.pseudos.nth = Expr.pseudos.eq; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -function tokenize( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || ( match = rcomma.exec( soFar ) ) ) { - if ( match ) { - - // Don't consume trailing commas as valid - soFar = soFar.slice( match[ 0 ].length ) || soFar; - } - groups.push( ( tokens = [] ) ); - } - - matched = false; - - // Combinators - if ( ( match = rleadingCombinator.exec( soFar ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - - // Cast descendant combinators to space - type: match[ 0 ].replace( rtrimCSS, " " ) - } ); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || - ( match = preFilters[ type ]( match ) ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - type: type, - matches: match - } ); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - if ( parseOnly ) { - return soFar.length; - } - - return soFar ? - find.error( selector ) : - - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -} - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[ i ].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - skip = combinator.next, - key = skip || dir, - checkNonElements = base && key === "parentNode", - doneName = done++; - - return combinator.first ? - - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - return false; - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching - if ( xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || ( elem[ expando ] = {} ); - - if ( skip && nodeName( elem, skip ) ) { - elem = elem[ dir ] || elem; - } else if ( ( oldCache = outerCache[ key ] ) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return ( newCache[ 2 ] = oldCache[ 2 ] ); - } else { - - // Reuse newcache so results back-propagate to previous elements - outerCache[ key ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { - return true; - } - } - } - } - } - return false; - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[ i ]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[ 0 ]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - find( selector, contexts[ i ], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( ( elem = unmatched[ i ] ) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction( function( seed, results, context, xml ) { - var temp, i, elem, matcherOut, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || - multipleContexts( selector || "*", - context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems; - - if ( matcher ) { - - // If we have a postFinder, or filtered seed, or non-seed postFilter - // or preexisting results, - matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results; - - // Find primary matches - matcher( matcherIn, matcherOut, context, xml ); - } else { - matcherOut = matcherIn; - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( ( elem = temp[ i ] ) ) { - matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) ) { - - // Restore matcherIn since elem is not yet a final match - temp.push( ( matcherIn[ i ] = elem ) ); - } - } - postFinder( null, ( matcherOut = [] ), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) && - ( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) { - - seed[ temp ] = !( results[ temp ] = elem ); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - } ); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[ 0 ].type ], - implicitRelative = leadingRelative || Expr.relative[ " " ], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf.call( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || ( - ( checkContext = context ).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - - // Avoid hanging onto element - // (see https://github.com/jquery/sizzle/issues/299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { - matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; - } else { - matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[ j ].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ) - .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) - ).replace( rtrimCSS, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find.TAG( "*", outermost ), - - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), - len = elems.length; - - if ( outermost ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - outermostContext = context == document || context || outermost; - } - - // Add elements passing elementMatchers directly to results - // Support: iOS <=7 - 9 only - // Tolerate NodeList properties (IE: "length"; Safari: ) matching - // elements by id. (see trac-14142) - for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( !context && elem.ownerDocument != document ) { - setDocument( elem ); - xml = !documentIsHTML; - } - while ( ( matcher = elementMatchers[ j++ ] ) ) { - if ( matcher( elem, context || document, xml ) ) { - push.call( results, elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - - // They will have gone through all possible matchers - if ( ( elem = !matcher && elem ) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // `i` is now the count of elements visited above, and adding it to `matchedCount` - // makes the latter nonnegative. - matchedCount += i; - - // Apply set filters to unmatched elements - // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` - // equals `i`), unless we didn't visit _any_ elements in the above loop because we have - // no element matchers and no seed. - // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that - // case, which will result in a "00" `matchedCount` that differs from `i` but is also - // numerically zero. - if ( bySet && i !== matchedCount ) { - j = 0; - while ( ( matcher = setMatchers[ j++ ] ) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !( unmatched[ i ] || setMatched[ i ] ) ) { - setMatched[ i ] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - jQuery.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -function compile( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[ i ] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, - matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -} - -/** - * A low-level selection function that works with jQuery's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with jQuery selector compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -function select( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( ( selector = compiled.selector || selector ) ); - - results = results || []; - - // Try to minimize operations if there is only one selector in the list and no seed - // (the latter of which guarantees us context) - if ( match.length === 1 ) { - - // Reduce context if the leading compound selector is an ID - tokens = match[ 0 ] = match[ 0 ].slice( 0 ); - if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && - context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { - - context = ( Expr.find.ID( - token.matches[ 0 ].replace( runescape, funescape ), - context - ) || [] )[ 0 ]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[ i ]; - - // Abort if we hit a combinator - if ( Expr.relative[ ( type = token.type ) ] ) { - break; - } - if ( ( find = Expr.find[ type ] ) ) { - - // Search, expanding context for leading sibling combinators - if ( ( seed = find( - token.matches[ 0 ].replace( runescape, funescape ), - rsibling.test( tokens[ 0 ].type ) && - testContext( context.parentNode ) || context - ) ) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - !context || rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -} - -// One-time assignments - -// Support: Android <=4.0 - 4.1+ -// Sort stability -support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; - -// Initialize against the default document -setDocument(); - -// Support: Android <=4.0 - 4.1+ -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert( function( el ) { - - // Should return 1, but returns 4 (following) - return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; -} ); - -jQuery.find = find; - -// Deprecated -jQuery.expr[ ":" ] = jQuery.expr.pseudos; -jQuery.unique = jQuery.uniqueSort; - -// These have always been private, but they used to be documented as part of -// Sizzle so let's maintain them for now for backwards compatibility purposes. -find.compile = compile; -find.select = select; -find.setDocument = setDocument; -find.tokenize = tokenize; - -find.escape = jQuery.escapeSelector; -find.getText = jQuery.text; -find.isXML = jQuery.isXMLDoc; -find.selectors = jQuery.expr; -find.support = jQuery.support; -find.uniqueSort = jQuery.uniqueSort; - - /* eslint-enable */ - -} )(); - - -var dir = function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; -}; - - -var siblings = function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; -}; - - -var rneedsContext = jQuery.expr.match.needsContext; - -var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); - - - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - return !!qualifier.call( elem, i, elem ) !== not; - } ); - } - - // Single element - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - } ); - } - - // Arraylike of elements (jQuery, arguments, Array) - if ( typeof qualifier !== "string" ) { - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) > -1 ) !== not; - } ); - } - - // Filtered directly for both simple and complex selectors - return jQuery.filter( qualifier, elements, not ); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - if ( elems.length === 1 && elem.nodeType === 1 ) { - return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; - } - - return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - } ) ); -}; - -jQuery.fn.extend( { - find: function( selector ) { - var i, ret, - len = this.length, - self = this; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter( function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - } ) ); - } - - ret = this.pushStack( [] ); - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - return len > 1 ? jQuery.uniqueSort( ret ) : ret; - }, - filter: function( selector ) { - return this.pushStack( winnow( this, selector || [], false ) ); - }, - not: function( selector ) { - return this.pushStack( winnow( this, selector || [], true ) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -} ); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (trac-9521) - // Strict HTML recognition (trac-11290: must start with <) - // Shortcut simple #id case for speed - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, - - init = jQuery.fn.init = function( selector, context, root ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Method init() accepts an alternate rootjQuery - // so migrate can support jQuery.sub (gh-2101) - root = root || rootjQuery; - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector[ 0 ] === "<" && - selector[ selector.length - 1 ] === ">" && - selector.length >= 3 ) { - - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && ( match[ 1 ] || !context ) ) { - - // HANDLE: $(html) -> $(array) - if ( match[ 1 ] ) { - context = context instanceof jQuery ? context[ 0 ] : context; - - // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[ 1 ], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - - // Properties of context are called as methods if possible - if ( isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[ 2 ] ); - - if ( elem ) { - - // Inject the element directly into the jQuery object - this[ 0 ] = elem; - this.length = 1; - } - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || root ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this[ 0 ] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( isFunction( selector ) ) { - return root.ready !== undefined ? - root.ready( selector ) : - - // Execute immediately if ready is not present - selector( jQuery ); - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend( { - has: function( target ) { - var targets = jQuery( target, this ), - l = targets.length; - - return this.filter( function() { - var i = 0; - for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[ i ] ) ) { - return true; - } - } - } ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - targets = typeof selectors !== "string" && jQuery( selectors ); - - // Positional selectors never match, since there's no _selection_ context - if ( !rneedsContext.test( selectors ) ) { - for ( ; i < l; i++ ) { - for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { - - // Always skip document fragments - if ( cur.nodeType < 11 && ( targets ? - targets.index( cur ) > -1 : - - // Don't pass non-elements to jQuery#find - cur.nodeType === 1 && - jQuery.find.matchesSelector( cur, selectors ) ) ) { - - matched.push( cur ); - break; - } - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); - }, - - // Determine the position of an element within the set - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; - } - - // Index in selector - if ( typeof elem === "string" ) { - return indexOf.call( jQuery( elem ), this[ 0 ] ); - } - - // Locate the position of the desired element - return indexOf.call( this, - - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[ 0 ] : elem - ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.uniqueSort( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - } -} ); - -function sibling( cur, dir ) { - while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} - return cur; -} - -jQuery.each( { - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, _i, until ) { - return dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, _i, until ) { - return dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, _i, until ) { - return dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return siblings( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return siblings( elem.firstChild ); - }, - contents: function( elem ) { - if ( elem.contentDocument != null && - - // Support: IE 11+ - // elements with no `data` attribute has an object - // `contentDocument` with a `null` prototype. - getProto( elem.contentDocument ) ) { - - return elem.contentDocument; - } - - // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only - // Treat the template element as a regular one in browsers that - // don't support it. - if ( nodeName( elem, "template" ) ) { - elem = elem.content || elem; - } - - return jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var matched = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - matched = jQuery.filter( selector, matched ); - } - - if ( this.length > 1 ) { - - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - jQuery.uniqueSort( matched ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - matched.reverse(); - } - } - - return this.pushStack( matched ); - }; -} ); -var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); - - - -// Convert String-formatted options into Object-formatted ones -function createOptions( options ) { - var object = {}; - jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { - object[ flag ] = true; - } ); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - createOptions( options ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - - // Last fire value for non-forgettable lists - memory, - - // Flag to know if list was already fired - fired, - - // Flag to prevent firing - locked, - - // Actual callback list - list = [], - - // Queue of execution data for repeatable lists - queue = [], - - // Index of currently firing callback (modified by add/remove as needed) - firingIndex = -1, - - // Fire callbacks - fire = function() { - - // Enforce single-firing - locked = locked || options.once; - - // Execute callbacks for all pending executions, - // respecting firingIndex overrides and runtime changes - fired = firing = true; - for ( ; queue.length; firingIndex = -1 ) { - memory = queue.shift(); - while ( ++firingIndex < list.length ) { - - // Run callback and check for early termination - if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && - options.stopOnFalse ) { - - // Jump to end and forget the data so .add doesn't re-fire - firingIndex = list.length; - memory = false; - } - } - } - - // Forget the data if we're done with it - if ( !options.memory ) { - memory = false; - } - - firing = false; - - // Clean up if we're done firing for good - if ( locked ) { - - // Keep an empty list if we have data for future add calls - if ( memory ) { - list = []; - - // Otherwise, this object is spent - } else { - list = ""; - } - } - }, - - // Actual Callbacks object - self = { - - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - - // If we have memory from a past run, we should fire after adding - if ( memory && !firing ) { - firingIndex = list.length - 1; - queue.push( memory ); - } - - ( function add( args ) { - jQuery.each( args, function( _, arg ) { - if ( isFunction( arg ) ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && toType( arg ) !== "string" ) { - - // Inspect recursively - add( arg ); - } - } ); - } )( arguments ); - - if ( memory && !firing ) { - fire(); - } - } - return this; - }, - - // Remove a callback from the list - remove: function() { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - - // Handle firing indexes - if ( index <= firingIndex ) { - firingIndex--; - } - } - } ); - return this; - }, - - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? - jQuery.inArray( fn, list ) > -1 : - list.length > 0; - }, - - // Remove all callbacks from the list - empty: function() { - if ( list ) { - list = []; - } - return this; - }, - - // Disable .fire and .add - // Abort any current/pending executions - // Clear all callbacks and values - disable: function() { - locked = queue = []; - list = memory = ""; - return this; - }, - disabled: function() { - return !list; - }, - - // Disable .fire - // Also disable .add unless we have memory (since it would have no effect) - // Abort any pending executions - lock: function() { - locked = queue = []; - if ( !memory && !firing ) { - list = memory = ""; - } - return this; - }, - locked: function() { - return !!locked; - }, - - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( !locked ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - queue.push( args ); - if ( !firing ) { - fire(); - } - } - return this; - }, - - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -function Identity( v ) { - return v; -} -function Thrower( ex ) { - throw ex; -} - -function adoptValue( value, resolve, reject, noValue ) { - var method; - - try { - - // Check for promise aspect first to privilege synchronous behavior - if ( value && isFunction( ( method = value.promise ) ) ) { - method.call( value ).done( resolve ).fail( reject ); - - // Other thenables - } else if ( value && isFunction( ( method = value.then ) ) ) { - method.call( value, resolve, reject ); - - // Other non-thenables - } else { - - // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: - // * false: [ value ].slice( 0 ) => resolve( value ) - // * true: [ value ].slice( 1 ) => resolve() - resolve.apply( undefined, [ value ].slice( noValue ) ); - } - - // For Promises/A+, convert exceptions into rejections - // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in - // Deferred#then to conditionally suppress rejection. - } catch ( value ) { - - // Support: Android 4.0 only - // Strict mode functions invoked without .call/.apply get global-object context - reject.apply( undefined, [ value ] ); - } -} - -jQuery.extend( { - - Deferred: function( func ) { - var tuples = [ - - // action, add listener, callbacks, - // ... .then handlers, argument index, [final state] - [ "notify", "progress", jQuery.Callbacks( "memory" ), - jQuery.Callbacks( "memory" ), 2 ], - [ "resolve", "done", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 0, "resolved" ], - [ "reject", "fail", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 1, "rejected" ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - "catch": function( fn ) { - return promise.then( null, fn ); - }, - - // Keep pipe for back-compat - pipe: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - - return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( _i, tuple ) { - - // Map tuples (progress, done, fail) to arguments (done, fail, progress) - var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; - - // deferred.progress(function() { bind to newDefer or newDefer.notify }) - // deferred.done(function() { bind to newDefer or newDefer.resolve }) - // deferred.fail(function() { bind to newDefer or newDefer.reject }) - deferred[ tuple[ 1 ] ]( function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && isFunction( returned.promise ) ) { - returned.promise() - .progress( newDefer.notify ) - .done( newDefer.resolve ) - .fail( newDefer.reject ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( - this, - fn ? [ returned ] : arguments - ); - } - } ); - } ); - fns = null; - } ).promise(); - }, - then: function( onFulfilled, onRejected, onProgress ) { - var maxDepth = 0; - function resolve( depth, deferred, handler, special ) { - return function() { - var that = this, - args = arguments, - mightThrow = function() { - var returned, then; - - // Support: Promises/A+ section 2.3.3.3.3 - // https://promisesaplus.com/#point-59 - // Ignore double-resolution attempts - if ( depth < maxDepth ) { - return; - } - - returned = handler.apply( that, args ); - - // Support: Promises/A+ section 2.3.1 - // https://promisesaplus.com/#point-48 - if ( returned === deferred.promise() ) { - throw new TypeError( "Thenable self-resolution" ); - } - - // Support: Promises/A+ sections 2.3.3.1, 3.5 - // https://promisesaplus.com/#point-54 - // https://promisesaplus.com/#point-75 - // Retrieve `then` only once - then = returned && - - // Support: Promises/A+ section 2.3.4 - // https://promisesaplus.com/#point-64 - // Only check objects and functions for thenability - ( typeof returned === "object" || - typeof returned === "function" ) && - returned.then; - - // Handle a returned thenable - if ( isFunction( then ) ) { - - // Special processors (notify) just wait for resolution - if ( special ) { - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ) - ); - - // Normal processors (resolve) also hook into progress - } else { - - // ...and disregard older resolution values - maxDepth++; - - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ), - resolve( maxDepth, deferred, Identity, - deferred.notifyWith ) - ); - } - - // Handle all other returned values - } else { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Identity ) { - that = undefined; - args = [ returned ]; - } - - // Process the value(s) - // Default process is resolve - ( special || deferred.resolveWith )( that, args ); - } - }, - - // Only normal processors (resolve) catch and reject exceptions - process = special ? - mightThrow : - function() { - try { - mightThrow(); - } catch ( e ) { - - if ( jQuery.Deferred.exceptionHook ) { - jQuery.Deferred.exceptionHook( e, - process.error ); - } - - // Support: Promises/A+ section 2.3.3.3.4.1 - // https://promisesaplus.com/#point-61 - // Ignore post-resolution exceptions - if ( depth + 1 >= maxDepth ) { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Thrower ) { - that = undefined; - args = [ e ]; - } - - deferred.rejectWith( that, args ); - } - } - }; - - // Support: Promises/A+ section 2.3.3.3.1 - // https://promisesaplus.com/#point-57 - // Re-resolve promises immediately to dodge false rejection from - // subsequent errors - if ( depth ) { - process(); - } else { - - // Call an optional hook to record the error, in case of exception - // since it's otherwise lost when execution goes async - if ( jQuery.Deferred.getErrorHook ) { - process.error = jQuery.Deferred.getErrorHook(); - - // The deprecated alias of the above. While the name suggests - // returning the stack, not an error instance, jQuery just passes - // it directly to `console.warn` so both will work; an instance - // just better cooperates with source maps. - } else if ( jQuery.Deferred.getStackHook ) { - process.error = jQuery.Deferred.getStackHook(); - } - window.setTimeout( process ); - } - }; - } - - return jQuery.Deferred( function( newDefer ) { - - // progress_handlers.add( ... ) - tuples[ 0 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onProgress ) ? - onProgress : - Identity, - newDefer.notifyWith - ) - ); - - // fulfilled_handlers.add( ... ) - tuples[ 1 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onFulfilled ) ? - onFulfilled : - Identity - ) - ); - - // rejected_handlers.add( ... ) - tuples[ 2 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onRejected ) ? - onRejected : - Thrower - ) - ); - } ).promise(); - }, - - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 5 ]; - - // promise.progress = list.add - // promise.done = list.add - // promise.fail = list.add - promise[ tuple[ 1 ] ] = list.add; - - // Handle state - if ( stateString ) { - list.add( - function() { - - // state = "resolved" (i.e., fulfilled) - // state = "rejected" - state = stateString; - }, - - // rejected_callbacks.disable - // fulfilled_callbacks.disable - tuples[ 3 - i ][ 2 ].disable, - - // rejected_handlers.disable - // fulfilled_handlers.disable - tuples[ 3 - i ][ 3 ].disable, - - // progress_callbacks.lock - tuples[ 0 ][ 2 ].lock, - - // progress_handlers.lock - tuples[ 0 ][ 3 ].lock - ); - } - - // progress_handlers.fire - // fulfilled_handlers.fire - // rejected_handlers.fire - list.add( tuple[ 3 ].fire ); - - // deferred.notify = function() { deferred.notifyWith(...) } - // deferred.resolve = function() { deferred.resolveWith(...) } - // deferred.reject = function() { deferred.rejectWith(...) } - deferred[ tuple[ 0 ] ] = function() { - deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); - return this; - }; - - // deferred.notifyWith = list.fireWith - // deferred.resolveWith = list.fireWith - // deferred.rejectWith = list.fireWith - deferred[ tuple[ 0 ] + "With" ] = list.fireWith; - } ); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( singleValue ) { - var - - // count of uncompleted subordinates - remaining = arguments.length, - - // count of unprocessed arguments - i = remaining, - - // subordinate fulfillment data - resolveContexts = Array( i ), - resolveValues = slice.call( arguments ), - - // the primary Deferred - primary = jQuery.Deferred(), - - // subordinate callback factory - updateFunc = function( i ) { - return function( value ) { - resolveContexts[ i ] = this; - resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( !( --remaining ) ) { - primary.resolveWith( resolveContexts, resolveValues ); - } - }; - }; - - // Single- and empty arguments are adopted like Promise.resolve - if ( remaining <= 1 ) { - adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, - !remaining ); - - // Use .then() to unwrap secondary thenables (cf. gh-3000) - if ( primary.state() === "pending" || - isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { - - return primary.then(); - } - } - - // Multiple arguments are aggregated like Promise.all array elements - while ( i-- ) { - adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); - } - - return primary.promise(); - } -} ); - - -// These usually indicate a programmer mistake during development, -// warn about them ASAP rather than swallowing them by default. -var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; - -// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error -// captured before the async barrier to get the original error cause -// which may otherwise be hidden. -jQuery.Deferred.exceptionHook = function( error, asyncError ) { - - // Support: IE 8 - 9 only - // Console exists when dev tools are open, which can happen at any time - if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { - window.console.warn( "jQuery.Deferred exception: " + error.message, - error.stack, asyncError ); - } -}; - - - - -jQuery.readyException = function( error ) { - window.setTimeout( function() { - throw error; - } ); -}; - - - - -// The deferred used on DOM ready -var readyList = jQuery.Deferred(); - -jQuery.fn.ready = function( fn ) { - - readyList - .then( fn ) - - // Wrap jQuery.readyException in a function so that the lookup - // happens at the time of error handling instead of callback - // registration. - .catch( function( error ) { - jQuery.readyException( error ); - } ); - - return this; -}; - -jQuery.extend( { - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See trac-6781 - readyWait: 1, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - } -} ); - -jQuery.ready.then = readyList.then; - -// The ready event handler and self cleanup method -function completed() { - document.removeEventListener( "DOMContentLoaded", completed ); - window.removeEventListener( "load", completed ); - jQuery.ready(); -} - -// Catch cases where $(document).ready() is called -// after the browser event has already occurred. -// Support: IE <=9 - 10 only -// Older IE sometimes signals "interactive" too soon -if ( document.readyState === "complete" || - ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout( jQuery.ready ); - -} else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed ); -} - - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - len = elems.length, - bulk = key == null; - - // Sets many values - if ( toType( key ) === "object" ) { - chainable = true; - for ( i in key ) { - access( elems, fn, i, key[ i ], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, _key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < len; i++ ) { - fn( - elems[ i ], key, raw ? - value : - value.call( elems[ i ], i, fn( elems[ i ], key ) ) - ); - } - } - } - - if ( chainable ) { - return elems; - } - - // Gets - if ( bulk ) { - return fn.call( elems ); - } - - return len ? fn( elems[ 0 ], key ) : emptyGet; -}; - - -// Matches dashed string for camelizing -var rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/g; - -// Used by camelCase as callback to replace() -function fcamelCase( _all, letter ) { - return letter.toUpperCase(); -} - -// Convert dashed to camelCase; used by the css and data modules -// Support: IE <=9 - 11, Edge 12 - 15 -// Microsoft forgot to hump their vendor prefix (trac-9572) -function camelCase( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); -} -var acceptData = function( owner ) { - - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); -}; - - - - -function Data() { - this.expando = jQuery.expando + Data.uid++; -} - -Data.uid = 1; - -Data.prototype = { - - cache: function( owner ) { - - // Check if the owner object already has a cache - var value = owner[ this.expando ]; - - // If not, create one - if ( !value ) { - value = {}; - - // We can accept data for non-element nodes in modern browsers, - // but we should not, see trac-8335. - // Always return an empty object. - if ( acceptData( owner ) ) { - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable property - // configurable must be true to allow the property to be - // deleted when data is removed - } else { - Object.defineProperty( owner, this.expando, { - value: value, - configurable: true - } ); - } - } - } - - return value; - }, - set: function( owner, data, value ) { - var prop, - cache = this.cache( owner ); - - // Handle: [ owner, key, value ] args - // Always use camelCase key (gh-2257) - if ( typeof data === "string" ) { - cache[ camelCase( data ) ] = value; - - // Handle: [ owner, { properties } ] args - } else { - - // Copy the properties one-by-one to the cache object - for ( prop in data ) { - cache[ camelCase( prop ) ] = data[ prop ]; - } - } - return cache; - }, - get: function( owner, key ) { - return key === undefined ? - this.cache( owner ) : - - // Always use camelCase key (gh-2257) - owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; - }, - access: function( owner, key, value ) { - - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if ( key === undefined || - ( ( key && typeof key === "string" ) && value === undefined ) ) { - - return this.get( owner, key ); - } - - // When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - this.set( owner, key, value ); - - // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - return value !== undefined ? value : key; - }, - remove: function( owner, key ) { - var i, - cache = owner[ this.expando ]; - - if ( cache === undefined ) { - return; - } - - if ( key !== undefined ) { - - // Support array or space separated string of keys - if ( Array.isArray( key ) ) { - - // If key is an array of keys... - // We always set camelCase keys, so remove that. - key = key.map( camelCase ); - } else { - key = camelCase( key ); - - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - key = key in cache ? - [ key ] : - ( key.match( rnothtmlwhite ) || [] ); - } - - i = key.length; - - while ( i-- ) { - delete cache[ key[ i ] ]; - } - } - - // Remove the expando if there's no more data - if ( key === undefined || jQuery.isEmptyObject( cache ) ) { - - // Support: Chrome <=35 - 45 - // Webkit & Blink performance suffers when deleting properties - // from DOM nodes, so set to undefined instead - // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) - if ( owner.nodeType ) { - owner[ this.expando ] = undefined; - } else { - delete owner[ this.expando ]; - } - } - }, - hasData: function( owner ) { - var cache = owner[ this.expando ]; - return cache !== undefined && !jQuery.isEmptyObject( cache ); - } -}; -var dataPriv = new Data(); - -var dataUser = new Data(); - - - -// Implementation Summary -// -// 1. Enforce API surface and semantic compatibility with 1.9.x branch -// 2. Improve the module's maintainability by reducing the storage -// paths to a single mechanism. -// 3. Use the same single mechanism to support "private" and "user" data. -// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) -// 5. Avoid exposing implementation details on user objects (eg. expando properties) -// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /[A-Z]/g; - -function getData( data ) { - if ( data === "true" ) { - return true; - } - - if ( data === "false" ) { - return false; - } - - if ( data === "null" ) { - return null; - } - - // Only convert to a number if it doesn't change the string - if ( data === +data + "" ) { - return +data; - } - - if ( rbrace.test( data ) ) { - return JSON.parse( data ); - } - - return data; -} - -function dataAttr( elem, key, data ) { - var name; - - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = getData( data ); - } catch ( e ) {} - - // Make sure we set the data so it isn't changed later - dataUser.set( elem, key, data ); - } else { - data = undefined; - } - } - return data; -} - -jQuery.extend( { - hasData: function( elem ) { - return dataUser.hasData( elem ) || dataPriv.hasData( elem ); - }, - - data: function( elem, name, data ) { - return dataUser.access( elem, name, data ); - }, - - removeData: function( elem, name ) { - dataUser.remove( elem, name ); - }, - - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to dataPriv methods, these can be deprecated. - _data: function( elem, name, data ) { - return dataPriv.access( elem, name, data ); - }, - - _removeData: function( elem, name ) { - dataPriv.remove( elem, name ); - } -} ); - -jQuery.fn.extend( { - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = dataUser.get( elem ); - - if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE 11 only - // The attrs elements can be null (trac-14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = camelCase( name.slice( 5 ) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - dataPriv.set( elem, "hasDataAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each( function() { - dataUser.set( this, key ); - } ); - } - - return access( this, function( value ) { - var data; - - // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - if ( elem && value === undefined ) { - - // Attempt to get data from the cache - // The key will always be camelCased in Data - data = dataUser.get( elem, key ); - if ( data !== undefined ) { - return data; - } - - // Attempt to "discover" the data in - // HTML5 custom data-* attrs - data = dataAttr( elem, key ); - if ( data !== undefined ) { - return data; - } - - // We tried really hard, but the data doesn't exist. - return; - } - - // Set the data... - this.each( function() { - - // We always store the camelCased key - dataUser.set( this, key, value ); - } ); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each( function() { - dataUser.remove( this, key ); - } ); - } -} ); - - -jQuery.extend( { - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = dataPriv.get( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || Array.isArray( data ) ) { - queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // Clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { - empty: jQuery.Callbacks( "once memory" ).add( function() { - dataPriv.remove( elem, [ type + "queue", key ] ); - } ) - } ); - } -} ); - -jQuery.fn.extend( { - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[ 0 ], type ); - } - - return data === undefined ? - this : - this.each( function() { - var queue = jQuery.queue( this, type, data ); - - // Ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - } ); - }, - dequeue: function( type ) { - return this.each( function() { - jQuery.dequeue( this, type ); - } ); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -} ); -var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; - -var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); - - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var documentElement = document.documentElement; - - - - var isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ); - }, - composed = { composed: true }; - - // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only - // Check attachment across shadow DOM boundaries when possible (gh-3504) - // Support: iOS 10.0-10.2 only - // Early iOS 10 versions support `attachShadow` but not `getRootNode`, - // leading to errors. We need to check for `getRootNode`. - if ( documentElement.getRootNode ) { - isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ) || - elem.getRootNode( composed ) === elem.ownerDocument; - }; - } -var isHiddenWithinTree = function( elem, el ) { - - // isHiddenWithinTree might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - - // Inline style trumps all - return elem.style.display === "none" || - elem.style.display === "" && - - // Otherwise, check computed style - // Support: Firefox <=43 - 45 - // Disconnected elements can have computed display: none, so first confirm that elem is - // in the document. - isAttached( elem ) && - - jQuery.css( elem, "display" ) === "none"; - }; - - - -function adjustCSS( elem, prop, valueParts, tween ) { - var adjusted, scale, - maxIterations = 20, - currentValue = tween ? - function() { - return tween.cur(); - } : - function() { - return jQuery.css( elem, prop, "" ); - }, - initial = currentValue(), - unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - initialInUnit = elem.nodeType && - ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && - rcssNum.exec( jQuery.css( elem, prop ) ); - - if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { - - // Support: Firefox <=54 - // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) - initial = initial / 2; - - // Trust units reported by jQuery.css - unit = unit || initialInUnit[ 3 ]; - - // Iteratively approximate from a nonzero starting point - initialInUnit = +initial || 1; - - while ( maxIterations-- ) { - - // Evaluate and update our best guess (doubling guesses that zero out). - // Finish if the scale equals or crosses 1 (making the old*new product non-positive). - jQuery.style( elem, prop, initialInUnit + unit ); - if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { - maxIterations = 0; - } - initialInUnit = initialInUnit / scale; - - } - - initialInUnit = initialInUnit * 2; - jQuery.style( elem, prop, initialInUnit + unit ); - - // Make sure we update the tween properties later on - valueParts = valueParts || []; - } - - if ( valueParts ) { - initialInUnit = +initialInUnit || +initial || 0; - - // Apply relative offset (+=/-=) if specified - adjusted = valueParts[ 1 ] ? - initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : - +valueParts[ 2 ]; - if ( tween ) { - tween.unit = unit; - tween.start = initialInUnit; - tween.end = adjusted; - } - } - return adjusted; -} - - -var defaultDisplayMap = {}; - -function getDefaultDisplay( elem ) { - var temp, - doc = elem.ownerDocument, - nodeName = elem.nodeName, - display = defaultDisplayMap[ nodeName ]; - - if ( display ) { - return display; - } - - temp = doc.body.appendChild( doc.createElement( nodeName ) ); - display = jQuery.css( temp, "display" ); - - temp.parentNode.removeChild( temp ); - - if ( display === "none" ) { - display = "block"; - } - defaultDisplayMap[ nodeName ] = display; - - return display; -} - -function showHide( elements, show ) { - var display, elem, - values = [], - index = 0, - length = elements.length; - - // Determine new display value for elements that need to change - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - display = elem.style.display; - if ( show ) { - - // Since we force visibility upon cascade-hidden elements, an immediate (and slow) - // check is required in this first loop unless we have a nonempty display value (either - // inline or about-to-be-restored) - if ( display === "none" ) { - values[ index ] = dataPriv.get( elem, "display" ) || null; - if ( !values[ index ] ) { - elem.style.display = ""; - } - } - if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { - values[ index ] = getDefaultDisplay( elem ); - } - } else { - if ( display !== "none" ) { - values[ index ] = "none"; - - // Remember what we're overwriting - dataPriv.set( elem, "display", display ); - } - } - } - - // Set the display of the elements in a second loop to avoid constant reflow - for ( index = 0; index < length; index++ ) { - if ( values[ index ] != null ) { - elements[ index ].style.display = values[ index ]; - } - } - - return elements; -} - -jQuery.fn.extend( { - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each( function() { - if ( isHiddenWithinTree( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - } ); - } -} ); -var rcheckableType = ( /^(?:checkbox|radio)$/i ); - -var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); - -var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); - - - -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (trac-11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (trac-14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Android <=4.1 only - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE <=11 only - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // Support: IE <=9 only - // IE <=9 replaces "; - support.option = !!div.lastChild; -} )(); - - -// We have to close these tags to support XHTML (trac-13200) -var wrapMap = { - - // XHTML parsers do not magically insert elements in the - // same way that tag soup parsers do. So we cannot shorten - // this by omitting or other required elements. - thead: [ 1, "", "
    " ], - col: [ 2, "", "
    " ], - tr: [ 2, "", "
    " ], - td: [ 3, "", "
    " ], - - _default: [ 0, "", "" ] -}; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// Support: IE <=9 only -if ( !support.option ) { - wrapMap.optgroup = wrapMap.option = [ 1, "" ]; -} - - -function getAll( context, tag ) { - - // Support: IE <=9 - 11 only - // Use typeof to avoid zero-argument method invocation on host objects (trac-15151) - var ret; - - if ( typeof context.getElementsByTagName !== "undefined" ) { - ret = context.getElementsByTagName( tag || "*" ); - - } else if ( typeof context.querySelectorAll !== "undefined" ) { - ret = context.querySelectorAll( tag || "*" ); - - } else { - ret = []; - } - - if ( tag === undefined || tag && nodeName( context, tag ) ) { - return jQuery.merge( [ context ], ret ); - } - - return ret; -} - - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - dataPriv.set( - elems[ i ], - "globalEval", - !refElements || dataPriv.get( refElements[ i ], "globalEval" ) - ); - } -} - - -var rhtml = /<|&#?\w+;/; - -function buildFragment( elems, context, scripts, selection, ignored ) { - var elem, tmp, tag, wrap, attached, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( toType( elem ) === "object" ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; - - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); - - // Remember the top-level container - tmp = fragment.firstChild; - - // Ensure the created nodes are orphaned (trac-12392) - tmp.textContent = ""; - } - } - } - - // Remove wrapper from fragment - fragment.textContent = ""; - - i = 0; - while ( ( elem = nodes[ i++ ] ) ) { - - // Skip elements already in the context collection (trac-4087) - if ( selection && jQuery.inArray( elem, selection ) > -1 ) { - if ( ignored ) { - ignored.push( elem ); - } - continue; - } - - attached = isAttached( elem ); - - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( attached ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( ( elem = tmp[ j++ ] ) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - return fragment; -} - - -var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -function on( elem, types, selector, data, fn, one ) { - var origFn, type; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - on( elem, type, selector, data, types[ type ], one ); - } - return elem; - } - - if ( data == null && fn == null ) { - - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return elem; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return elem.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - } ); -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - - var handleObjIn, eventHandle, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.get( elem ); - - // Only attach events to objects that accept data - if ( !acceptData( elem ) ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Ensure that invalid selectors throw exceptions at attach time - // Evaluate against documentElement in case elem is a non-element node (e.g., document) - if ( selector ) { - jQuery.find.matchesSelector( documentElement, selector ); - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !( events = elemData.events ) ) { - events = elemData.events = Object.create( null ); - } - if ( !( eventHandle = elemData.handle ) ) { - eventHandle = elemData.handle = function( e ) { - - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? - jQuery.event.dispatch.apply( elem, arguments ) : undefined; - }; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend( { - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join( "." ) - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !( handlers = events[ type ] ) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener if the special events handler returns false - if ( !special.setup || - special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - - var j, origCount, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); - - if ( !elemData || !( events = elemData.events ) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[ 2 ] && - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || - selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || - special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove data and the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - dataPriv.remove( elem, "handle events" ); - } - }, - - dispatch: function( nativeEvent ) { - - var i, j, ret, matched, handleObj, handlerQueue, - args = new Array( arguments.length ), - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( nativeEvent ), - - handlers = ( - dataPriv.get( this, "events" ) || Object.create( null ) - )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[ 0 ] = event; - - for ( i = 1; i < arguments.length; i++ ) { - args[ i ] = arguments[ i ]; - } - - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( ( handleObj = matched.handlers[ j++ ] ) && - !event.isImmediatePropagationStopped() ) { - - // If the event is namespaced, then each handler is only invoked if it is - // specially universal or its namespaces are a superset of the event's. - if ( !event.rnamespace || handleObj.namespace === false || - event.rnamespace.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || - handleObj.handler ).apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( ( event.result = ret ) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var i, handleObj, sel, matchedHandlers, matchedSelectors, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - if ( delegateCount && - - // Support: IE <=9 - // Black-hole SVG instance trees (trac-13180) - cur.nodeType && - - // Support: Firefox <=42 - // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) - // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click - // Support: IE 11 only - // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) - !( event.type === "click" && event.button >= 1 ) ) { - - for ( ; cur !== this; cur = cur.parentNode || this ) { - - // Don't check non-elements (trac-13208) - // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764) - if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { - matchedHandlers = []; - matchedSelectors = {}; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (trac-13203) - sel = handleObj.selector + " "; - - if ( matchedSelectors[ sel ] === undefined ) { - matchedSelectors[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) > -1 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matchedSelectors[ sel ] ) { - matchedHandlers.push( handleObj ); - } - } - if ( matchedHandlers.length ) { - handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); - } - } - } - } - - // Add the remaining (directly-bound) handlers - cur = this; - if ( delegateCount < handlers.length ) { - handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); - } - - return handlerQueue; - }, - - addProp: function( name, hook ) { - Object.defineProperty( jQuery.Event.prototype, name, { - enumerable: true, - configurable: true, - - get: isFunction( hook ) ? - function() { - if ( this.originalEvent ) { - return hook( this.originalEvent ); - } - } : - function() { - if ( this.originalEvent ) { - return this.originalEvent[ name ]; - } - }, - - set: function( value ) { - Object.defineProperty( this, name, { - enumerable: true, - configurable: true, - writable: true, - value: value - } ); - } - } ); - }, - - fix: function( originalEvent ) { - return originalEvent[ jQuery.expando ] ? - originalEvent : - new jQuery.Event( originalEvent ); - }, - - special: { - load: { - - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - click: { - - // Utilize native event to ensure correct state for checkable inputs - setup: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Claim the first handler - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - // dataPriv.set( el, "click", ... ) - leverageNative( el, "click", true ); - } - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Force setup before triggering a click - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - leverageNative( el, "click" ); - } - - // Return non-false to allow normal event-path propagation - return true; - }, - - // For cross-browser consistency, suppress native .click() on links - // Also prevent it if we're currently inside a leveraged native-event stack - _default: function( event ) { - var target = event.target; - return rcheckableType.test( target.type ) && - target.click && nodeName( target, "input" ) && - dataPriv.get( target, "click" ) || - nodeName( target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - } -}; - -// Ensure the presence of an event listener that handles manually-triggered -// synthetic events by interrupting progress until reinvoked in response to -// *native* events that it fires directly, ensuring that state changes have -// already occurred before other listeners are invoked. -function leverageNative( el, type, isSetup ) { - - // Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add - if ( !isSetup ) { - if ( dataPriv.get( el, type ) === undefined ) { - jQuery.event.add( el, type, returnTrue ); - } - return; - } - - // Register the controller as a special universal handler for all event namespaces - dataPriv.set( el, type, false ); - jQuery.event.add( el, type, { - namespace: false, - handler: function( event ) { - var result, - saved = dataPriv.get( this, type ); - - if ( ( event.isTrigger & 1 ) && this[ type ] ) { - - // Interrupt processing of the outer synthetic .trigger()ed event - if ( !saved ) { - - // Store arguments for use when handling the inner native event - // There will always be at least one argument (an event object), so this array - // will not be confused with a leftover capture object. - saved = slice.call( arguments ); - dataPriv.set( this, type, saved ); - - // Trigger the native event and capture its result - this[ type ](); - result = dataPriv.get( this, type ); - dataPriv.set( this, type, false ); - - if ( saved !== result ) { - - // Cancel the outer synthetic event - event.stopImmediatePropagation(); - event.preventDefault(); - - return result; - } - - // If this is an inner synthetic event for an event with a bubbling surrogate - // (focus or blur), assume that the surrogate already propagated from triggering - // the native event and prevent that from happening again here. - // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the - // bubbling surrogate propagates *after* the non-bubbling base), but that seems - // less bad than duplication. - } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { - event.stopPropagation(); - } - - // If this is a native event triggered above, everything is now in order - // Fire an inner synthetic event with the original arguments - } else if ( saved ) { - - // ...and capture the result - dataPriv.set( this, type, jQuery.event.trigger( - saved[ 0 ], - saved.slice( 1 ), - this - ) ); - - // Abort handling of the native event by all jQuery handlers while allowing - // native handlers on the same element to run. On target, this is achieved - // by stopping immediate propagation just on the jQuery event. However, - // the native event is re-wrapped by a jQuery one on each level of the - // propagation so the only way to stop it for jQuery is to stop it for - // everyone via native `stopPropagation()`. This is not a problem for - // focus/blur which don't bubble, but it does also stop click on checkboxes - // and radios. We accept this limitation. - event.stopPropagation(); - event.isImmediatePropagationStopped = returnTrue; - } - } - } ); -} - -jQuery.removeEvent = function( elem, type, handle ) { - - // This "if" is needed for plain objects - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle ); - } -}; - -jQuery.Event = function( src, props ) { - - // Allow instantiation without the 'new' keyword - if ( !( this instanceof jQuery.Event ) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - - // Support: Android <=2.3 only - src.returnValue === false ? - returnTrue : - returnFalse; - - // Create target properties - // Support: Safari <=6 - 7 only - // Target should not be a text node (trac-504, trac-13143) - this.target = ( src.target && src.target.nodeType === 3 ) ? - src.target.parentNode : - src.target; - - this.currentTarget = src.currentTarget; - this.relatedTarget = src.relatedTarget; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || Date.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - constructor: jQuery.Event, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - isSimulated: false, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - - if ( e && !this.isSimulated ) { - e.preventDefault(); - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Includes all common event props including KeyEvent and MouseEvent specific props -jQuery.each( { - altKey: true, - bubbles: true, - cancelable: true, - changedTouches: true, - ctrlKey: true, - detail: true, - eventPhase: true, - metaKey: true, - pageX: true, - pageY: true, - shiftKey: true, - view: true, - "char": true, - code: true, - charCode: true, - key: true, - keyCode: true, - button: true, - buttons: true, - clientX: true, - clientY: true, - offsetX: true, - offsetY: true, - pointerId: true, - pointerType: true, - screenX: true, - screenY: true, - targetTouches: true, - toElement: true, - touches: true, - which: true -}, jQuery.event.addProp ); - -jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { - - function focusMappedHandler( nativeEvent ) { - if ( document.documentMode ) { - - // Support: IE 11+ - // Attach a single focusin/focusout handler on the document while someone wants - // focus/blur. This is because the former are synchronous in IE while the latter - // are async. In other browsers, all those handlers are invoked synchronously. - - // `handle` from private data would already wrap the event, but we need - // to change the `type` here. - var handle = dataPriv.get( this, "handle" ), - event = jQuery.event.fix( nativeEvent ); - event.type = nativeEvent.type === "focusin" ? "focus" : "blur"; - event.isSimulated = true; - - // First, handle focusin/focusout - handle( nativeEvent ); - - // ...then, handle focus/blur - // - // focus/blur don't bubble while focusin/focusout do; simulate the former by only - // invoking the handler at the lower level. - if ( event.target === event.currentTarget ) { - - // The setup part calls `leverageNative`, which, in turn, calls - // `jQuery.event.add`, so event handle will already have been set - // by this point. - handle( event ); - } - } else { - - // For non-IE browsers, attach a single capturing handler on the document - // while someone wants focusin/focusout. - jQuery.event.simulate( delegateType, nativeEvent.target, - jQuery.event.fix( nativeEvent ) ); - } - } - - jQuery.event.special[ type ] = { - - // Utilize native event if possible so blur/focus sequence is correct - setup: function() { - - var attaches; - - // Claim the first handler - // dataPriv.set( this, "focus", ... ) - // dataPriv.set( this, "blur", ... ) - leverageNative( this, type, true ); - - if ( document.documentMode ) { - - // Support: IE 9 - 11+ - // We use the same native handler for focusin & focus (and focusout & blur) - // so we need to coordinate setup & teardown parts between those events. - // Use `delegateType` as the key as `type` is already used by `leverageNative`. - attaches = dataPriv.get( this, delegateType ); - if ( !attaches ) { - this.addEventListener( delegateType, focusMappedHandler ); - } - dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 ); - } else { - - // Return false to allow normal processing in the caller - return false; - } - }, - trigger: function() { - - // Force setup before trigger - leverageNative( this, type ); - - // Return non-false to allow normal event-path propagation - return true; - }, - - teardown: function() { - var attaches; - - if ( document.documentMode ) { - attaches = dataPriv.get( this, delegateType ) - 1; - if ( !attaches ) { - this.removeEventListener( delegateType, focusMappedHandler ); - dataPriv.remove( this, delegateType ); - } else { - dataPriv.set( this, delegateType, attaches ); - } - } else { - - // Return false to indicate standard teardown should be applied - return false; - } - }, - - // Suppress native focus or blur if we're currently inside - // a leveraged native-event stack - _default: function( event ) { - return dataPriv.get( event.target, type ); - }, - - delegateType: delegateType - }; - - // Support: Firefox <=44 - // Firefox doesn't have focus(in | out) events - // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 - // - // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 - // focus(in | out) events fire after focus & blur events, - // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order - // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 - // - // Support: IE 9 - 11+ - // To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch, - // attach a single handler for both events in IE. - jQuery.event.special[ delegateType ] = { - setup: function() { - - // Handle: regular nodes (via `this.ownerDocument`), window - // (via `this.document`) & document (via `this`). - var doc = this.ownerDocument || this.document || this, - dataHolder = document.documentMode ? this : doc, - attaches = dataPriv.get( dataHolder, delegateType ); - - // Support: IE 9 - 11+ - // We use the same native handler for focusin & focus (and focusout & blur) - // so we need to coordinate setup & teardown parts between those events. - // Use `delegateType` as the key as `type` is already used by `leverageNative`. - if ( !attaches ) { - if ( document.documentMode ) { - this.addEventListener( delegateType, focusMappedHandler ); - } else { - doc.addEventListener( type, focusMappedHandler, true ); - } - } - dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this.document || this, - dataHolder = document.documentMode ? this : doc, - attaches = dataPriv.get( dataHolder, delegateType ) - 1; - - if ( !attaches ) { - if ( document.documentMode ) { - this.removeEventListener( delegateType, focusMappedHandler ); - } else { - doc.removeEventListener( type, focusMappedHandler, true ); - } - dataPriv.remove( dataHolder, delegateType ); - } else { - dataPriv.set( dataHolder, delegateType, attaches ); - } - } - }; -} ); - -// Create mouseenter/leave events using mouseover/out and event-time checks -// so that event delegation works in jQuery. -// Do the same for pointerenter/pointerleave and pointerover/pointerout -// -// Support: Safari 7 only -// Safari sends mouseenter too often; see: -// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 -// for the description of the bug (it existed in older Chrome versions as well). -jQuery.each( { - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mouseenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -} ); - -jQuery.fn.extend( { - - on: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn ); - }, - one: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? - handleObj.origType + "." + handleObj.namespace : - handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each( function() { - jQuery.event.remove( this, types, fn, selector ); - } ); - } -} ); - - -var - - // Support: IE <=10 - 11, Edge 12 - 13 only - // In IE/Edge using regex groups here causes severe slowdowns. - // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /\s*$/g; - -// Prefer a tbody over its parent table for containing new rows -function manipulationTarget( elem, content ) { - if ( nodeName( elem, "table" ) && - nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { - - return jQuery( elem ).children( "tbody" )[ 0 ] || elem; - } - - return elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { - elem.type = elem.type.slice( 5 ); - } else { - elem.removeAttribute( "type" ); - } - - return elem; -} - -function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, udataOld, udataCur, events; - - if ( dest.nodeType !== 1 ) { - return; - } - - // 1. Copy private data: events, handlers, etc. - if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.get( src ); - events = pdataOld.events; - - if ( events ) { - dataPriv.remove( dest, "handle events" ); - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - } - - // 2. Copy user data - if ( dataUser.hasData( src ) ) { - udataOld = dataUser.access( src ); - udataCur = jQuery.extend( {}, udataOld ); - - dataUser.set( dest, udataCur ); - } -} - -// Fix IE bugs, see support tests -function fixInput( src, dest ) { - var nodeName = dest.nodeName.toLowerCase(); - - // Fails to persist the checked state of a cloned checkbox or radio button. - if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - dest.checked = src.checked; - - // Fails to return the selected option to the default selected state when cloning options - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -function domManip( collection, args, callback, ignored ) { - - // Flatten any nested arrays - args = flat( args ); - - var fragment, first, scripts, hasScripts, node, doc, - i = 0, - l = collection.length, - iNoClone = l - 1, - value = args[ 0 ], - valueIsFunction = isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( valueIsFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return collection.each( function( index ) { - var self = collection.eq( index ); - if ( valueIsFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - domManip( self, args, callback, ignored ); - } ); - } - - if ( l ) { - fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - // Require either new content or an interest in ignored elements to invoke the callback - if ( first || ignored ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item - // instead of the first because it can end up - // being emptied incorrectly in certain situations (trac-8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( collection[ i ], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Re-enable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !dataPriv.access( node, "globalEval" ) && - jQuery.contains( doc, node ) ) { - - if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { - - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl && !node.noModule ) { - jQuery._evalUrl( node.src, { - nonce: node.nonce || node.getAttribute( "nonce" ) - }, doc ); - } - } else { - - // Unwrap a CDATA section containing script contents. This shouldn't be - // needed as in XML documents they're already not visible when - // inspecting element contents and in HTML documents they have no - // meaning but we're preserving that logic for backwards compatibility. - // This will be removed completely in 4.0. See gh-4904. - DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); - } - } - } - } - } - } - - return collection; -} - -function remove( elem, selector, keepData ) { - var node, - nodes = selector ? jQuery.filter( selector, elem ) : elem, - i = 0; - - for ( ; ( node = nodes[ i ] ) != null; i++ ) { - if ( !keepData && node.nodeType === 1 ) { - jQuery.cleanData( getAll( node ) ); - } - - if ( node.parentNode ) { - if ( keepData && isAttached( node ) ) { - setGlobalEval( getAll( node, "script" ) ); - } - node.parentNode.removeChild( node ); - } - } - - return elem; -} - -jQuery.extend( { - htmlPrefilter: function( html ) { - return html; - }, - - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = isAttached( elem ); - - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { - - // We eschew jQuery#find here for performance reasons: - // https://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - // Return the cloned set - return clone; - }, - - cleanData: function( elems ) { - var data, elem, type, - special = jQuery.event.special, - i = 0; - - for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { - if ( acceptData( elem ) ) { - if ( ( data = elem[ dataPriv.expando ] ) ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataPriv.expando ] = undefined; - } - if ( elem[ dataUser.expando ] ) { - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataUser.expando ] = undefined; - } - } - } - } -} ); - -jQuery.fn.extend( { - detach: function( selector ) { - return remove( this, selector, true ); - }, - - remove: function( selector ) { - return remove( this, selector ); - }, - - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().each( function() { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.textContent = value; - } - } ); - }, null, value, arguments.length ); - }, - - append: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - } ); - }, - - prepend: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - } ); - }, - - before: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - } ); - }, - - after: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - } ); - }, - - empty: function() { - var elem, - i = 0; - - for ( ; ( elem = this[ i ] ) != null; i++ ) { - if ( elem.nodeType === 1 ) { - - // Prevent memory leaks - jQuery.cleanData( getAll( elem, false ) ); - - // Remove any remaining nodes - elem.textContent = ""; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - } ); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined && elem.nodeType === 1 ) { - return elem.innerHTML; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = jQuery.htmlPrefilter( value ); - - try { - for ( ; i < l; i++ ) { - elem = this[ i ] || {}; - - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch ( e ) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var ignored = []; - - // Make the changes, replacing each non-ignored context element with the new content - return domManip( this, arguments, function( elem ) { - var parent = this.parentNode; - - if ( jQuery.inArray( this, ignored ) < 0 ) { - jQuery.cleanData( getAll( this ) ); - if ( parent ) { - parent.replaceChild( elem, this ); - } - } - - // Force callback invocation - }, ignored ); - } -} ); - -jQuery.each( { - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1, - i = 0; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone( true ); - jQuery( insert[ i ] )[ original ]( elems ); - - // Support: Android <=4.0 only, PhantomJS 1 only - // .get() because push.apply(_, arraylike) throws on ancient WebKit - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -} ); -var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); - -var rcustomProp = /^--/; - - -var getStyles = function( elem ) { - - // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - var view = elem.ownerDocument.defaultView; - - if ( !view || !view.opener ) { - view = window; - } - - return view.getComputedStyle( elem ); - }; - -var swap = function( elem, options, callback ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.call( elem ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - -var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); - - - -( function() { - - // Executing both pixelPosition & boxSizingReliable tests require only one layout - // so they're executed at the same time to save the second computation. - function computeStyleTests() { - - // This is a singleton, we need to execute it only once - if ( !div ) { - return; - } - - container.style.cssText = "position:absolute;left:-11111px;width:60px;" + - "margin-top:1px;padding:0;border:0"; - div.style.cssText = - "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + - "margin:auto;border:1px;padding:1px;" + - "width:60%;top:1%"; - documentElement.appendChild( container ).appendChild( div ); - - var divStyle = window.getComputedStyle( div ); - pixelPositionVal = divStyle.top !== "1%"; - - // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 - reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; - - // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 - // Some styles come back with percentage values, even though they shouldn't - div.style.right = "60%"; - pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; - - // Support: IE 9 - 11 only - // Detect misreporting of content dimensions for box-sizing:border-box elements - boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; - - // Support: IE 9 only - // Detect overflow:scroll screwiness (gh-3699) - // Support: Chrome <=64 - // Don't get tricked when zoom affects offsetWidth (gh-4029) - div.style.position = "absolute"; - scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; - - documentElement.removeChild( container ); - - // Nullify the div so it wouldn't be stored in the memory and - // it will also be a sign that checks already performed - div = null; - } - - function roundPixelMeasures( measure ) { - return Math.round( parseFloat( measure ) ); - } - - var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, - reliableTrDimensionsVal, reliableMarginLeftVal, - container = document.createElement( "div" ), - div = document.createElement( "div" ); - - // Finish early in limited (non-browser) environments - if ( !div.style ) { - return; - } - - // Support: IE <=9 - 11 only - // Style of cloned element affects source element cloned (trac-8908) - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - jQuery.extend( support, { - boxSizingReliable: function() { - computeStyleTests(); - return boxSizingReliableVal; - }, - pixelBoxStyles: function() { - computeStyleTests(); - return pixelBoxStylesVal; - }, - pixelPosition: function() { - computeStyleTests(); - return pixelPositionVal; - }, - reliableMarginLeft: function() { - computeStyleTests(); - return reliableMarginLeftVal; - }, - scrollboxSize: function() { - computeStyleTests(); - return scrollboxSizeVal; - }, - - // Support: IE 9 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Behavior in IE 9 is more subtle than in newer versions & it passes - // some versions of this test; make sure not to make it pass there! - // - // Support: Firefox 70+ - // Only Firefox includes border widths - // in computed dimensions. (gh-4529) - reliableTrDimensions: function() { - var table, tr, trChild, trStyle; - if ( reliableTrDimensionsVal == null ) { - table = document.createElement( "table" ); - tr = document.createElement( "tr" ); - trChild = document.createElement( "div" ); - - table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; - tr.style.cssText = "box-sizing:content-box;border:1px solid"; - - // Support: Chrome 86+ - // Height set through cssText does not get applied. - // Computed height then comes back as 0. - tr.style.height = "1px"; - trChild.style.height = "9px"; - - // Support: Android 8 Chrome 86+ - // In our bodyBackground.html iframe, - // display for all div elements is set to "inline", - // which causes a problem only in Android 8 Chrome 86. - // Ensuring the div is `display: block` - // gets around this issue. - trChild.style.display = "block"; - - documentElement - .appendChild( table ) - .appendChild( tr ) - .appendChild( trChild ); - - trStyle = window.getComputedStyle( tr ); - reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + - parseInt( trStyle.borderTopWidth, 10 ) + - parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; - - documentElement.removeChild( table ); - } - return reliableTrDimensionsVal; - } - } ); -} )(); - - -function curCSS( elem, name, computed ) { - var width, minWidth, maxWidth, ret, - isCustomProp = rcustomProp.test( name ), - - // Support: Firefox 51+ - // Retrieving style before computed somehow - // fixes an issue with getting wrong values - // on detached elements - style = elem.style; - - computed = computed || getStyles( elem ); - - // getPropertyValue is needed for: - // .css('filter') (IE 9 only, trac-12537) - // .css('--customProperty) (gh-3144) - if ( computed ) { - - // Support: IE <=9 - 11+ - // IE only supports `"float"` in `getPropertyValue`; in computed styles - // it's only available as `"cssFloat"`. We no longer modify properties - // sent to `.css()` apart from camelCasing, so we need to check both. - // Normally, this would create difference in behavior: if - // `getPropertyValue` returns an empty string, the value returned - // by `.css()` would be `undefined`. This is usually the case for - // disconnected elements. However, in IE even disconnected elements - // with no styles return `"none"` for `getPropertyValue( "float" )` - ret = computed.getPropertyValue( name ) || computed[ name ]; - - if ( isCustomProp && ret ) { - - // Support: Firefox 105+, Chrome <=105+ - // Spec requires trimming whitespace for custom properties (gh-4926). - // Firefox only trims leading whitespace. Chrome just collapses - // both leading & trailing whitespace to a single space. - // - // Fall back to `undefined` if empty string returned. - // This collapses a missing definition with property defined - // and set to an empty string but there's no standard API - // allowing us to differentiate them without a performance penalty - // and returning `undefined` aligns with older jQuery. - // - // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED - // as whitespace while CSS does not, but this is not a problem - // because CSS preprocessing replaces them with U+000A LINE FEED - // (which *is* CSS whitespace) - // https://www.w3.org/TR/css-syntax-3/#input-preprocessing - ret = ret.replace( rtrimCSS, "$1" ) || undefined; - } - - if ( ret === "" && !isAttached( elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Android Browser returns percentage for some values, - // but width seems to be reliably pixels. - // This is against the CSSOM draft spec: - // https://drafts.csswg.org/cssom/#resolved-values - if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret !== undefined ? - - // Support: IE <=9 - 11 only - // IE returns zIndex value as an integer. - ret + "" : - ret; -} - - -function addGetHookIf( conditionFn, hookFn ) { - - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function() { - if ( conditionFn() ) { - - // Hook not needed (or it's not possible to use it due - // to missing dependency), remove it. - delete this.get; - return; - } - - // Hook needed; redefine it so that the support test is not executed again. - return ( this.get = hookFn ).apply( this, arguments ); - } - }; -} - - -var cssPrefixes = [ "Webkit", "Moz", "ms" ], - emptyStyle = document.createElement( "div" ).style, - vendorProps = {}; - -// Return a vendor-prefixed property or undefined -function vendorPropName( name ) { - - // Check for vendor prefixed names - var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in emptyStyle ) { - return name; - } - } -} - -// Return a potentially-mapped jQuery.cssProps or vendor prefixed property -function finalPropName( name ) { - var final = jQuery.cssProps[ name ] || vendorProps[ name ]; - - if ( final ) { - return final; - } - if ( name in emptyStyle ) { - return name; - } - return vendorProps[ name ] = vendorPropName( name ) || name; -} - - -var - - // Swappable if display is none or starts with table - // except "table", "table-cell", or "table-caption" - // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }; - -function setPositiveNumber( _elem, value, subtract ) { - - // Any relative (+/-) values have already been - // normalized at this point - var matches = rcssNum.exec( value ); - return matches ? - - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : - value; -} - -function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { - var i = dimension === "width" ? 1 : 0, - extra = 0, - delta = 0, - marginDelta = 0; - - // Adjustment may not be necessary - if ( box === ( isBorderBox ? "border" : "content" ) ) { - return 0; - } - - for ( ; i < 4; i += 2 ) { - - // Both box models exclude margin - // Count margin delta separately to only add it after scroll gutter adjustment. - // This is needed to make negative margins work with `outerHeight( true )` (gh-3982). - if ( box === "margin" ) { - marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); - } - - // If we get here with a content-box, we're seeking "padding" or "border" or "margin" - if ( !isBorderBox ) { - - // Add padding - delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // For "border" or "margin", add border - if ( box !== "padding" ) { - delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - - // But still keep track of it otherwise - } else { - extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - - // If we get here with a border-box (content + padding + border), we're seeking "content" or - // "padding" or "margin" - } else { - - // For "content", subtract padding - if ( box === "content" ) { - delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // For "content" or "padding", subtract border - if ( box !== "margin" ) { - delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - // Account for positive content-box scroll gutter when requested by providing computedVal - if ( !isBorderBox && computedVal >= 0 ) { - - // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border - // Assuming integer scroll gutter, subtract the rest and round down - delta += Math.max( 0, Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - computedVal - - delta - - extra - - 0.5 - - // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter - // Use an explicit zero to avoid NaN (gh-3964) - ) ) || 0; - } - - return delta + marginDelta; -} - -function getWidthOrHeight( elem, dimension, extra ) { - - // Start with computed style - var styles = getStyles( elem ), - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). - // Fake content-box until we know it's needed to know the true value. - boxSizingNeeded = !support.boxSizingReliable() || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - valueIsBorderBox = isBorderBox, - - val = curCSS( elem, dimension, styles ), - offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); - - // Support: Firefox <=54 - // Return a confounding non-pixel value or feign ignorance, as appropriate. - if ( rnumnonpx.test( val ) ) { - if ( !extra ) { - return val; - } - val = "auto"; - } - - - // Support: IE 9 - 11 only - // Use offsetWidth/offsetHeight for when box sizing is unreliable. - // In those cases, the computed value can be trusted to be border-box. - if ( ( !support.boxSizingReliable() && isBorderBox || - - // Support: IE 10 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Interestingly, in some cases IE 9 doesn't suffer from this issue. - !support.reliableTrDimensions() && nodeName( elem, "tr" ) || - - // Fall back to offsetWidth/offsetHeight when value is "auto" - // This happens for inline elements with no explicit setting (gh-3571) - val === "auto" || - - // Support: Android <=4.1 - 4.3 only - // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) - !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && - - // Make sure the element is visible & connected - elem.getClientRects().length ) { - - isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // Where available, offsetWidth/offsetHeight approximate border box dimensions. - // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the - // retrieved value as a content box dimension. - valueIsBorderBox = offsetProp in elem; - if ( valueIsBorderBox ) { - val = elem[ offsetProp ]; - } - } - - // Normalize "" and auto - val = parseFloat( val ) || 0; - - // Adjust for the element's box model - return ( val + - boxModelAdjustment( - elem, - dimension, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles, - - // Provide the current computed size to request scroll gutter calculation (gh-3589) - val - ) - ) + "px"; -} - -jQuery.extend( { - - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - animationIterationCount: true, - aspectRatio: true, - borderImageSlice: true, - columnCount: true, - flexGrow: true, - flexShrink: true, - fontWeight: true, - gridArea: true, - gridColumn: true, - gridColumnEnd: true, - gridColumnStart: true, - gridRow: true, - gridRowEnd: true, - gridRowStart: true, - lineHeight: true, - opacity: true, - order: true, - orphans: true, - scale: true, - widows: true, - zIndex: true, - zoom: true, - - // SVG-related - fillOpacity: true, - floodOpacity: true, - stopOpacity: true, - strokeMiterlimit: true, - strokeOpacity: true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: {}, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ), - style = elem.style; - - // Make sure that we're working with the right name. We don't - // want to query the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Gets hook for the prefixed version, then unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // Convert "+=" or "-=" to relative numbers (trac-7345) - if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { - value = adjustCSS( elem, name, ret ); - - // Fixes bug trac-9237 - type = "number"; - } - - // Make sure that null and NaN values aren't set (trac-7116) - if ( value == null || value !== value ) { - return; - } - - // If a number was passed in, add the unit (except for certain CSS properties) - // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append - // "px" to a few hardcoded values. - if ( type === "number" && !isCustomProp ) { - value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); - } - - // background-* props affect original clone's values - if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !( "set" in hooks ) || - ( value = hooks.set( elem, value, extra ) ) !== undefined ) { - - if ( isCustomProp ) { - style.setProperty( name, value ); - } else { - style[ name ] = value; - } - } - - } else { - - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && - ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { - - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var val, num, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ); - - // Make sure that we're working with the right name. We don't - // want to modify the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Try prefixed name followed by the unprefixed name - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - // Convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Make numeric if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || isFinite( num ) ? num || 0 : val; - } - - return val; - } -} ); - -jQuery.each( [ "height", "width" ], function( _i, dimension ) { - jQuery.cssHooks[ dimension ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - - // Certain elements can have dimension info if we invisibly show them - // but it must have a current display style that would benefit - return rdisplayswap.test( jQuery.css( elem, "display" ) ) && - - // Support: Safari 8+ - // Table columns in Safari have non-zero offsetWidth & zero - // getBoundingClientRect().width unless display is changed. - // Support: IE <=11 only - // Running getBoundingClientRect on a disconnected node - // in IE throws an error. - ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? - swap( elem, cssShow, function() { - return getWidthOrHeight( elem, dimension, extra ); - } ) : - getWidthOrHeight( elem, dimension, extra ); - } - }, - - set: function( elem, value, extra ) { - var matches, - styles = getStyles( elem ), - - // Only read styles.position if the test has a chance to fail - // to avoid forcing a reflow. - scrollboxSizeBuggy = !support.scrollboxSize() && - styles.position === "absolute", - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) - boxSizingNeeded = scrollboxSizeBuggy || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - subtract = extra ? - boxModelAdjustment( - elem, - dimension, - extra, - isBorderBox, - styles - ) : - 0; - - // Account for unreliable border-box dimensions by comparing offset* to computed and - // faking a content-box to get border and padding (gh-3699) - if ( isBorderBox && scrollboxSizeBuggy ) { - subtract -= Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - parseFloat( styles[ dimension ] ) - - boxModelAdjustment( elem, dimension, "border", false, styles ) - - 0.5 - ); - } - - // Convert to pixels if value adjustment is needed - if ( subtract && ( matches = rcssNum.exec( value ) ) && - ( matches[ 3 ] || "px" ) !== "px" ) { - - elem.style[ dimension ] = value; - value = jQuery.css( elem, dimension ); - } - - return setPositiveNumber( elem, value, subtract ); - } - }; -} ); - -jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, - function( elem, computed ) { - if ( computed ) { - return ( parseFloat( curCSS( elem, "marginLeft" ) ) || - elem.getBoundingClientRect().left - - swap( elem, { marginLeft: 0 }, function() { - return elem.getBoundingClientRect().left; - } ) - ) + "px"; - } - } -); - -// These hooks are used by animate to expand properties -jQuery.each( { - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // Assumes a single number if not a string - parts = typeof value === "string" ? value.split( " " ) : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( prefix !== "margin" ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -} ); - -jQuery.fn.extend( { - css: function( name, value ) { - return access( this, function( elem, name, value ) { - var styles, len, - map = {}, - i = 0; - - if ( Array.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - } -} ); - - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || jQuery.easing._default; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - // Use a property on the element directly when it is not a DOM element, - // or when there is no matching style property that exists. - if ( tween.elem.nodeType !== 1 || - tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { - return tween.elem[ tween.prop ]; - } - - // Passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails. - // Simple values such as "10px" are parsed to Float; - // complex values such as "rotate(1rad)" are returned as-is. - result = jQuery.css( tween.elem, tween.prop, "" ); - - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - - // Use step hook for back compat. - // Use cssHook if its there. - // Use .style if available and use plain properties where available. - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.nodeType === 1 && ( - jQuery.cssHooks[ tween.prop ] || - tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Support: IE <=9 only -// Panic based approach to setting things on disconnected nodes -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p * Math.PI ) / 2; - }, - _default: "swing" -}; - -jQuery.fx = Tween.prototype.init; - -// Back compat <1.8 extension point -jQuery.fx.step = {}; - - - - -var - fxNow, inProgress, - rfxtypes = /^(?:toggle|show|hide)$/, - rrun = /queueHooks$/; - -function schedule() { - if ( inProgress ) { - if ( document.hidden === false && window.requestAnimationFrame ) { - window.requestAnimationFrame( schedule ); - } else { - window.setTimeout( schedule, jQuery.fx.interval ); - } - - jQuery.fx.tick(); - } -} - -// Animations created synchronously will run synchronously -function createFxNow() { - window.setTimeout( function() { - fxNow = undefined; - } ); - return ( fxNow = Date.now() ); -} - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - i = 0, - attrs = { height: type }; - - // If we include width, step value is 1 to do all cssExpand values, - // otherwise step value is 2 to skip over Left and Right - includeWidth = includeWidth ? 1 : 0; - for ( ; i < 4; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -function createTween( value, prop, animation ) { - var tween, - collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { - - // We're done with this property - return tween; - } - } -} - -function defaultPrefilter( elem, props, opts ) { - var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, - isBox = "width" in props || "height" in props, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHiddenWithinTree( elem ), - dataShow = dataPriv.get( elem, "fxshow" ); - - // Queue-skipping animations hijack the fx hooks - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always( function() { - - // Ensure the complete handler is called before this completes - anim.always( function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - } ); - } ); - } - - // Detect show/hide animations - for ( prop in props ) { - value = props[ prop ]; - if ( rfxtypes.test( value ) ) { - delete props[ prop ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - - // Pretend to be hidden if this is a "show" and - // there is still data from a stopped show/hide - if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { - hidden = true; - - // Ignore all other no-op show/hide data - } else { - continue; - } - } - orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); - } - } - - // Bail out if this is a no-op like .hide().hide() - propTween = !jQuery.isEmptyObject( props ); - if ( !propTween && jQuery.isEmptyObject( orig ) ) { - return; - } - - // Restrict "overflow" and "display" styles during box animations - if ( isBox && elem.nodeType === 1 ) { - - // Support: IE <=9 - 11, Edge 12 - 15 - // Record all 3 overflow attributes because IE does not infer the shorthand - // from identically-valued overflowX and overflowY and Edge just mirrors - // the overflowX value there. - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Identify a display type, preferring old show/hide data over the CSS cascade - restoreDisplay = dataShow && dataShow.display; - if ( restoreDisplay == null ) { - restoreDisplay = dataPriv.get( elem, "display" ); - } - display = jQuery.css( elem, "display" ); - if ( display === "none" ) { - if ( restoreDisplay ) { - display = restoreDisplay; - } else { - - // Get nonempty value(s) by temporarily forcing visibility - showHide( [ elem ], true ); - restoreDisplay = elem.style.display || restoreDisplay; - display = jQuery.css( elem, "display" ); - showHide( [ elem ] ); - } - } - - // Animate inline elements as inline-block - if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { - if ( jQuery.css( elem, "float" ) === "none" ) { - - // Restore the original display value at the end of pure show/hide animations - if ( !propTween ) { - anim.done( function() { - style.display = restoreDisplay; - } ); - if ( restoreDisplay == null ) { - display = style.display; - restoreDisplay = display === "none" ? "" : display; - } - } - style.display = "inline-block"; - } - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - anim.always( function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - } ); - } - - // Implement show/hide animations - propTween = false; - for ( prop in orig ) { - - // General show/hide setup for this element animation - if ( !propTween ) { - if ( dataShow ) { - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - } else { - dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); - } - - // Store hidden/visible for toggle so `.stop().toggle()` "reverses" - if ( toggle ) { - dataShow.hidden = !hidden; - } - - // Show elements before animating them - if ( hidden ) { - showHide( [ elem ], true ); - } - - /* eslint-disable no-loop-func */ - - anim.done( function() { - - /* eslint-enable no-loop-func */ - - // The final step of a "hide" animation is actually hiding the element - if ( !hidden ) { - showHide( [ elem ] ); - } - dataPriv.remove( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - } ); - } - - // Per-property setup - propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = propTween.start; - if ( hidden ) { - propTween.end = propTween.start; - propTween.start = 0; - } - } - } -} - -function propFilter( props, specialEasing ) { - var index, name, easing, value, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( Array.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // Not quite $.extend, this won't overwrite existing keys. - // Reusing 'index' because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = Animation.prefilters.length, - deferred = jQuery.Deferred().always( function() { - - // Don't match elem in the :animated selector - delete tick.elem; - } ), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - - // Support: Android 2.3 only - // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ] ); - - // If there's more to do, yield - if ( percent < 1 && length ) { - return remaining; - } - - // If this was an empty animation, synthesize a final progress notification - if ( !length ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - } - - // Resolve the animation and report its conclusion - deferred.resolveWith( elem, [ animation ] ); - return false; - }, - animation = deferred.promise( { - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { - specialEasing: {}, - easing: jQuery.easing._default - }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - - // If we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // Resolve when we played the last frame; otherwise, reject - if ( gotoEnd ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - } ), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length; index++ ) { - result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - if ( isFunction( result.stop ) ) { - jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = - result.stop.bind( result ); - } - return result; - } - } - - jQuery.map( props, createTween, animation ); - - if ( isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - // Attach callbacks from options - animation - .progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - } ) - ); - - return animation; -} - -jQuery.Animation = jQuery.extend( Animation, { - - tweeners: { - "*": [ function( prop, value ) { - var tween = this.createTween( prop, value ); - adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); - return tween; - } ] - }, - - tweener: function( props, callback ) { - if ( isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.match( rnothtmlwhite ); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length; index++ ) { - prop = props[ index ]; - Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; - Animation.tweeners[ prop ].unshift( callback ); - } - }, - - prefilters: [ defaultPrefilter ], - - prefilter: function( callback, prepend ) { - if ( prepend ) { - Animation.prefilters.unshift( callback ); - } else { - Animation.prefilters.push( callback ); - } - } -} ); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !isFunction( easing ) && easing - }; - - // Go to the end state if fx are off - if ( jQuery.fx.off ) { - opt.duration = 0; - - } else { - if ( typeof opt.duration !== "number" ) { - if ( opt.duration in jQuery.fx.speeds ) { - opt.duration = jQuery.fx.speeds[ opt.duration ]; - - } else { - opt.duration = jQuery.fx.speeds._default; - } - } - } - - // Normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.fn.extend( { - fadeTo: function( speed, to, easing, callback ) { - - // Show any hidden elements after setting opacity to 0 - return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() - - // Animate to the value specified - .end().animate( { opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - - // Empty animations, or finishing resolves immediately - if ( empty || dataPriv.get( this, "finish" ) ) { - anim.stop( true ); - } - }; - - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue ) { - this.queue( type || "fx", [] ); - } - - return this.each( function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = dataPriv.get( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && - ( type == null || timers[ index ].queue === type ) ) { - - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // Start the next in the queue if the last step wasn't forced. - // Timers currently will call their complete callbacks, which - // will dequeue but only if they were gotoEnd. - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - } ); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each( function() { - var index, - data = dataPriv.get( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // Enable finishing flag on private data - data.finish = true; - - // Empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.stop ) { - hooks.stop.call( this, true ); - } - - // Look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // Look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // Turn off finishing flag - delete data.finish; - } ); - } -} ); - -jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -} ); - -// Generate shortcuts for custom animations -jQuery.each( { - slideDown: genFx( "show" ), - slideUp: genFx( "hide" ), - slideToggle: genFx( "toggle" ), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -} ); - -jQuery.timers = []; -jQuery.fx.tick = function() { - var timer, - i = 0, - timers = jQuery.timers; - - fxNow = Date.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - - // Run the timer and safely remove it when done (allowing for external removal) - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - jQuery.timers.push( timer ); - jQuery.fx.start(); -}; - -jQuery.fx.interval = 13; -jQuery.fx.start = function() { - if ( inProgress ) { - return; - } - - inProgress = true; - schedule(); -}; - -jQuery.fx.stop = function() { - inProgress = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - - // Default speed - _default: 400 -}; - - -// Based off of the plugin by Clint Helfers, with permission. -jQuery.fn.delay = function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = window.setTimeout( next, time ); - hooks.stop = function() { - window.clearTimeout( timeout ); - }; - } ); -}; - - -( function() { - var input = document.createElement( "input" ), - select = document.createElement( "select" ), - opt = select.appendChild( document.createElement( "option" ) ); - - input.type = "checkbox"; - - // Support: Android <=4.3 only - // Default value for a checkbox should be "on" - support.checkOn = input.value !== ""; - - // Support: IE <=11 only - // Must access selectedIndex to make default options select - support.optSelected = opt.selected; - - // Support: IE <=11 only - // An input loses its value after becoming a radio - input = document.createElement( "input" ); - input.value = "t"; - input.type = "radio"; - support.radioValue = input.value === "t"; -} )(); - - -var boolHook, - attrHandle = jQuery.expr.attrHandle; - -jQuery.fn.extend( { - attr: function( name, value ) { - return access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each( function() { - jQuery.removeAttr( this, name ); - } ); - } -} ); - -jQuery.extend( { - attr: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set attributes on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === "undefined" ) { - return jQuery.prop( elem, name, value ); - } - - // Attribute hooks are determined by the lowercase version - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - hooks = jQuery.attrHooks[ name.toLowerCase() ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); - } - - if ( value !== undefined ) { - if ( value === null ) { - jQuery.removeAttr( elem, name ); - return; - } - - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - elem.setAttribute( name, value + "" ); - return value; - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? undefined : ret; - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !support.radioValue && value === "radio" && - nodeName( elem, "input" ) ) { - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - }, - - removeAttr: function( elem, value ) { - var name, - i = 0, - - // Attribute names can contain non-HTML whitespace characters - // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 - attrNames = value && value.match( rnothtmlwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( ( name = attrNames[ i++ ] ) ) { - elem.removeAttribute( name ); - } - } - } -} ); - -// Hooks for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else { - elem.setAttribute( name, name ); - } - return name; - } -}; - -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { - var getter = attrHandle[ name ] || jQuery.find.attr; - - attrHandle[ name ] = function( elem, name, isXML ) { - var ret, handle, - lowercaseName = name.toLowerCase(); - - if ( !isXML ) { - - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[ lowercaseName ]; - attrHandle[ lowercaseName ] = ret; - ret = getter( elem, name, isXML ) != null ? - lowercaseName : - null; - attrHandle[ lowercaseName ] = handle; - } - return ret; - }; -} ); - - - - -var rfocusable = /^(?:input|select|textarea|button)$/i, - rclickable = /^(?:a|area)$/i; - -jQuery.fn.extend( { - prop: function( name, value ) { - return access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - return this.each( function() { - delete this[ jQuery.propFix[ name ] || name ]; - } ); - } -} ); - -jQuery.extend( { - prop: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set properties on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - return ( elem[ name ] = value ); - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - return elem[ name ]; - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - - // Support: IE <=9 - 11 only - // elem.tabIndex doesn't always return the - // correct value when it hasn't been explicitly set - // Use proper attribute retrieval (trac-12072) - var tabindex = jQuery.find.attr( elem, "tabindex" ); - - if ( tabindex ) { - return parseInt( tabindex, 10 ); - } - - if ( - rfocusable.test( elem.nodeName ) || - rclickable.test( elem.nodeName ) && - elem.href - ) { - return 0; - } - - return -1; - } - } - }, - - propFix: { - "for": "htmlFor", - "class": "className" - } -} ); - -// Support: IE <=11 only -// Accessing the selectedIndex property -// forces the browser to respect setting selected -// on the option -// The getter ensures a default option is selected -// when in an optgroup -// eslint rule "no-unused-expressions" is disabled for this code -// since it considers such accessions noop -if ( !support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent && parent.parentNode ) { - parent.parentNode.selectedIndex; - } - return null; - }, - set: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent ) { - parent.selectedIndex; - - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - } - }; -} - -jQuery.each( [ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -} ); - - - - - // Strip and collapse whitespace according to HTML spec - // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace - function stripAndCollapse( value ) { - var tokens = value.match( rnothtmlwhite ) || []; - return tokens.join( " " ); - } - - -function getClass( elem ) { - return elem.getAttribute && elem.getAttribute( "class" ) || ""; -} - -function classesToArray( value ) { - if ( Array.isArray( value ) ) { - return value; - } - if ( typeof value === "string" ) { - return value.match( rnothtmlwhite ) || []; - } - return []; -} - -jQuery.fn.extend( { - addClass: function( value ) { - var classNames, cur, curValue, className, i, finalValue; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - classNames = classesToArray( value ); - - if ( classNames.length ) { - return this.each( function() { - curValue = getClass( this ); - cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - for ( i = 0; i < classNames.length; i++ ) { - className = classNames[ i ]; - if ( cur.indexOf( " " + className + " " ) < 0 ) { - cur += className + " "; - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - this.setAttribute( "class", finalValue ); - } - } - } ); - } - - return this; - }, - - removeClass: function( value ) { - var classNames, cur, curValue, className, i, finalValue; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - if ( !arguments.length ) { - return this.attr( "class", "" ); - } - - classNames = classesToArray( value ); - - if ( classNames.length ) { - return this.each( function() { - curValue = getClass( this ); - - // This expression is here for better compressibility (see addClass) - cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - for ( i = 0; i < classNames.length; i++ ) { - className = classNames[ i ]; - - // Remove *all* instances - while ( cur.indexOf( " " + className + " " ) > -1 ) { - cur = cur.replace( " " + className + " ", " " ); - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - this.setAttribute( "class", finalValue ); - } - } - } ); - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var classNames, className, i, self, - type = typeof value, - isValidValue = type === "string" || Array.isArray( value ); - - if ( isFunction( value ) ) { - return this.each( function( i ) { - jQuery( this ).toggleClass( - value.call( this, i, getClass( this ), stateVal ), - stateVal - ); - } ); - } - - if ( typeof stateVal === "boolean" && isValidValue ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - classNames = classesToArray( value ); - - return this.each( function() { - if ( isValidValue ) { - - // Toggle individual class names - self = jQuery( this ); - - for ( i = 0; i < classNames.length; i++ ) { - className = classNames[ i ]; - - // Check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( value === undefined || type === "boolean" ) { - className = getClass( this ); - if ( className ) { - - // Store className if set - dataPriv.set( this, "__className__", className ); - } - - // If the element has a class name or if we're passed `false`, - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - if ( this.setAttribute ) { - this.setAttribute( "class", - className || value === false ? - "" : - dataPriv.get( this, "__className__" ) || "" - ); - } - } - } ); - }, - - hasClass: function( selector ) { - var className, elem, - i = 0; - - className = " " + selector + " "; - while ( ( elem = this[ i++ ] ) ) { - if ( elem.nodeType === 1 && - ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { - return true; - } - } - - return false; - } -} ); - - - - -var rreturn = /\r/g; - -jQuery.fn.extend( { - val: function( value ) { - var hooks, ret, valueIsFunction, - elem = this[ 0 ]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || - jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && - "get" in hooks && - ( ret = hooks.get( elem, "value" ) ) !== undefined - ) { - return ret; - } - - ret = elem.value; - - // Handle most common string cases - if ( typeof ret === "string" ) { - return ret.replace( rreturn, "" ); - } - - // Handle cases where value is null/undef or number - return ret == null ? "" : ret; - } - - return; - } - - valueIsFunction = isFunction( value ); - - return this.each( function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( valueIsFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - - } else if ( typeof val === "number" ) { - val += ""; - - } else if ( Array.isArray( val ) ) { - val = jQuery.map( val, function( value ) { - return value == null ? "" : value + ""; - } ); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - } ); - } -} ); - -jQuery.extend( { - valHooks: { - option: { - get: function( elem ) { - - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - - // Support: IE <=10 - 11 only - // option.text throws exceptions (trac-14686, trac-14858) - // Strip and collapse whitespace - // https://html.spec.whatwg.org/#strip-and-collapse-whitespace - stripAndCollapse( jQuery.text( elem ) ); - } - }, - select: { - get: function( elem ) { - var value, option, i, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one", - values = one ? null : [], - max = one ? index + 1 : options.length; - - if ( index < 0 ) { - i = max; - - } else { - i = one ? index : 0; - } - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // Support: IE <=9 only - // IE8-9 doesn't update selected after form reset (trac-2551) - if ( ( option.selected || i === index ) && - - // Don't return options that are disabled or in a disabled optgroup - !option.disabled && - ( !option.parentNode.disabled || - !nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - - /* eslint-disable no-cond-assign */ - - if ( option.selected = - jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 - ) { - optionSet = true; - } - - /* eslint-enable no-cond-assign */ - } - - // Force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - return values; - } - } - } -} ); - -// Radios and checkboxes getter/setter -jQuery.each( [ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( Array.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); - } - } - }; - if ( !support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - return elem.getAttribute( "value" ) === null ? "on" : elem.value; - }; - } -} ); - - - - -// Return jQuery for attributes-only inclusion -var location = window.location; - -var nonce = { guid: Date.now() }; - -var rquery = ( /\?/ ); - - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml, parserErrorElem; - if ( !data || typeof data !== "string" ) { - return null; - } - - // Support: IE 9 - 11 only - // IE throws on parseFromString with invalid input. - try { - xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); - } catch ( e ) {} - - parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; - if ( !xml || parserErrorElem ) { - jQuery.error( "Invalid XML: " + ( - parserErrorElem ? - jQuery.map( parserErrorElem.childNodes, function( el ) { - return el.textContent; - } ).join( "\n" ) : - data - ) ); - } - return xml; -}; - - -var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - stopPropagationCallback = function( e ) { - e.stopPropagation(); - }; - -jQuery.extend( jQuery.event, { - - trigger: function( event, data, elem, onlyHandlers ) { - - var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; - - cur = lastElement = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf( "." ) > -1 ) { - - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split( "." ); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf( ":" ) < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join( "." ); - event.rnamespace = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (trac-9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724) - if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === ( elem.ownerDocument || document ) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { - lastElement = cur; - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && - dataPriv.get( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( ( !special._default || - special._default.apply( eventPath.pop(), data ) === false ) && - acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name as the event. - // Don't do default actions on window, that's where global variables be (trac-6170) - if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - - if ( event.isPropagationStopped() ) { - lastElement.addEventListener( type, stopPropagationCallback ); - } - - elem[ type ](); - - if ( event.isPropagationStopped() ) { - lastElement.removeEventListener( type, stopPropagationCallback ); - } - - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - // Piggyback on a donor event to simulate a different one - // Used only for `focus(in | out)` events - simulate: function( type, elem, event ) { - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true - } - ); - - jQuery.event.trigger( e, null, elem ); - } - -} ); - -jQuery.fn.extend( { - - trigger: function( type, data ) { - return this.each( function() { - jQuery.event.trigger( type, data, this ); - } ); - }, - triggerHandler: function( type, data ) { - var elem = this[ 0 ]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -} ); - - -var - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( Array.isArray( obj ) ) { - - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - - // Item is non-scalar (array or object), encode its numeric index. - buildParams( - prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", - v, - traditional, - add - ); - } - } ); - - } else if ( !traditional && toType( obj ) === "object" ) { - - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - - // Serialize scalar item. - add( prefix, obj ); - } -} - -// Serialize an array of form elements or a set of -// key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, valueOrFunction ) { - - // If value is a function, invoke it and use its return value - var value = isFunction( valueOrFunction ) ? - valueOrFunction() : - valueOrFunction; - - s[ s.length ] = encodeURIComponent( key ) + "=" + - encodeURIComponent( value == null ? "" : value ); - }; - - if ( a == null ) { - return ""; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - } ); - - } else { - - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ); -}; - -jQuery.fn.extend( { - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map( function() { - - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - } ).filter( function() { - var type = this.type; - - // Use .is( ":disabled" ) so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !rcheckableType.test( type ) ); - } ).map( function( _i, elem ) { - var val = jQuery( this ).val(); - - if ( val == null ) { - return null; - } - - if ( Array.isArray( val ) ) { - return jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ); - } - - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ).get(); - } -} ); - - -var - r20 = /%20/g, - rhash = /#.*$/, - rantiCache = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, - - // trac-7653, trac-8125, trac-8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression - allTypes = "*/".concat( "*" ), - - // Anchor tag for parsing the document origin - originAnchor = document.createElement( "a" ); - -originAnchor.href = location.href; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; - - if ( isFunction( func ) ) { - - // For each dataType in the dataTypeExpression - while ( ( dataType = dataTypes[ i++ ] ) ) { - - // Prepend if requested - if ( dataType[ 0 ] === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); - - // Otherwise append - } else { - ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if ( typeof dataTypeOrTransport === "string" && - !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - } ); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes trac-9887 -function ajaxExtend( target, src ) { - var key, deep, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -/* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - - var ct, type, finalDataType, firstDataType, - contents = s.contents, - dataTypes = s.dataTypes; - - // Remove auto dataType and get content-type in the process - while ( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -/* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ -function ajaxConvert( s, response, jqXHR, isSuccess ) { - var conv2, current, conv, tmp, prev, - converters = {}, - - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - current = dataTypes.shift(); - - // Convert to each sequential dataType - while ( current ) { - - if ( s.responseFields[ current ] ) { - jqXHR[ s.responseFields[ current ] ] = response; - } - - // Apply the dataFilter if provided - if ( !prev && isSuccess && s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - prev = current; - current = dataTypes.shift(); - - if ( current ) { - - // There's only work to do if current dataType is non-auto - if ( current === "*" ) { - - current = prev; - - // Convert response if prev dataType is non-auto and differs from current - } else if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split( " " ); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.unshift( tmp[ 1 ] ); - } - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s.throws ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { - state: "parsererror", - error: conv ? e : "No conversion from " + prev + " to " + current - }; - } - } - } - } - } - } - - return { state: "success", data: response }; -} - -jQuery.extend( { - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: location.href, - type: "GET", - isLocal: rlocalProtocol.test( location.protocol ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /\bxml\b/, - html: /\bhtml/, - json: /\bjson\b/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": JSON.parse, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var transport, - - // URL without anti-cache param - cacheURL, - - // Response headers - responseHeadersString, - responseHeaders, - - // timeout handle - timeoutTimer, - - // Url cleanup var - urlAnchor, - - // Request state (becomes false upon send and true upon completion) - completed, - - // To know if global events are to be dispatched - fireGlobals, - - // Loop variable - i, - - // uncached part of the url - uncached, - - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - - // Callbacks context - callbackContext = s.context || s, - - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && - ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks( "once memory" ), - - // Status-dependent callbacks - statusCode = s.statusCode || {}, - - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - - // Default abort message - strAbort = "canceled", - - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( completed ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( ( match = rheaders.exec( responseHeadersString ) ) ) { - responseHeaders[ match[ 1 ].toLowerCase() + " " ] = - ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) - .concat( match[ 2 ] ); - } - } - match = responseHeaders[ key.toLowerCase() + " " ]; - } - return match == null ? null : match.join( ", " ); - }, - - // Raw string - getAllResponseHeaders: function() { - return completed ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - if ( completed == null ) { - name = requestHeadersNames[ name.toLowerCase() ] = - requestHeadersNames[ name.toLowerCase() ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( completed == null ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( completed ) { - - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } else { - - // Lazy-add the new callbacks in a way that preserves old ones - for ( code in map ) { - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ); - - // Add protocol if not provided (prefilters might expect it) - // Handle falsy url in the settings object (trac-10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || location.href ) + "" ) - .replace( rprotocol, location.protocol + "//" ); - - // Alias method option to type as per ticket trac-12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; - - // A cross-domain request is in order when the origin doesn't match the current origin. - if ( s.crossDomain == null ) { - urlAnchor = document.createElement( "a" ); - - // Support: IE <=8 - 11, Edge 12 - 15 - // IE throws exception on accessing the href property if url is malformed, - // e.g. http://example.com:80x/ - try { - urlAnchor.href = s.url; - - // Support: IE <=8 - 11 only - // Anchor's host property isn't correctly set when s.url is relative - urlAnchor.href = urlAnchor.href; - s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== - urlAnchor.protocol + "//" + urlAnchor.host; - } catch ( e ) { - - // If there is an error parsing the URL, assume it is crossDomain, - // it can be rejected by the transport if it is invalid - s.crossDomain = true; - } - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( completed ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118) - fireGlobals = jQuery.event && s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger( "ajaxStart" ); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - // Remove hash to simplify url manipulation - cacheURL = s.url.replace( rhash, "" ); - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // Remember the hash so we can put it back - uncached = s.url.slice( cacheURL.length ); - - // If data is available and should be processed, append data to url - if ( s.data && ( s.processData || typeof s.data === "string" ) ) { - cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; - - // trac-9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add or update anti-cache param if needed - if ( s.cache === false ) { - cacheURL = cacheURL.replace( rantiCache, "$1" ); - uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + - uncached; - } - - // Put hash and anti-cache on the URL that will be requested (gh-1732) - s.url = cacheURL + uncached; - - // Change '%20' to '+' if this is encoded form body content (gh-2658) - } else if ( s.data && s.processData && - ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { - s.data = s.data.replace( r20, "+" ); - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? - s.accepts[ s.dataTypes[ 0 ] ] + - ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && - ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { - - // Abort if not done already and return - return jqXHR.abort(); - } - - // Aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - completeDeferred.add( s.complete ); - jqXHR.done( s.success ); - jqXHR.fail( s.error ); - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - - // If request was aborted inside ajaxSend, stop there - if ( completed ) { - return jqXHR; - } - - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = window.setTimeout( function() { - jqXHR.abort( "timeout" ); - }, s.timeout ); - } - - try { - completed = false; - transport.send( requestHeaders, done ); - } catch ( e ) { - - // Rethrow post-completion exceptions - if ( completed ) { - throw e; - } - - // Propagate others as results - done( -1, e ); - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Ignore repeat invocations - if ( completed ) { - return; - } - - completed = true; - - // Clear timeout if it exists - if ( timeoutTimer ) { - window.clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Determine if successful - isSuccess = status >= 200 && status < 300 || status === 304; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // Use a noop converter for missing script but not if jsonp - if ( !isSuccess && - jQuery.inArray( "script", s.dataTypes ) > -1 && - jQuery.inArray( "json", s.dataTypes ) < 0 ) { - s.converters[ "text script" ] = function() {}; - } - - // Convert no matter what (that way responseXXX fields are always set) - response = ajaxConvert( s, response, jqXHR, isSuccess ); - - // If successful, handle type chaining - if ( isSuccess ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader( "Last-Modified" ); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader( "etag" ); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 || s.type === "HEAD" ) { - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - - // Extract error from statusText and normalize for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger( "ajaxStop" ); - } - } - } - - return jqXHR; - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - } -} ); - -jQuery.each( [ "get", "post" ], function( _i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - - // Shift arguments if data argument was omitted - if ( isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - // The url can be an options object (which then must have .url) - return jQuery.ajax( jQuery.extend( { - url: url, - type: method, - dataType: type, - data: data, - success: callback - }, jQuery.isPlainObject( url ) && url ) ); - }; -} ); - -jQuery.ajaxPrefilter( function( s ) { - var i; - for ( i in s.headers ) { - if ( i.toLowerCase() === "content-type" ) { - s.contentType = s.headers[ i ] || ""; - } - } -} ); - - -jQuery._evalUrl = function( url, options, doc ) { - return jQuery.ajax( { - url: url, - - // Make this explicit, since user can override this through ajaxSetup (trac-11264) - type: "GET", - dataType: "script", - cache: true, - async: false, - global: false, - - // Only evaluate the response if it is successful (gh-4126) - // dataFilter is not invoked for failure responses, so using it instead - // of the default converter is kludgy but it works. - converters: { - "text script": function() {} - }, - dataFilter: function( response ) { - jQuery.globalEval( response, options, doc ); - } - } ); -}; - - -jQuery.fn.extend( { - wrapAll: function( html ) { - var wrap; - - if ( this[ 0 ] ) { - if ( isFunction( html ) ) { - html = html.call( this[ 0 ] ); - } - - // The elements to wrap the target around - wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); - - if ( this[ 0 ].parentNode ) { - wrap.insertBefore( this[ 0 ] ); - } - - wrap.map( function() { - var elem = this; - - while ( elem.firstElementChild ) { - elem = elem.firstElementChild; - } - - return elem; - } ).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( isFunction( html ) ) { - return this.each( function( i ) { - jQuery( this ).wrapInner( html.call( this, i ) ); - } ); - } - - return this.each( function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - } ); - }, - - wrap: function( html ) { - var htmlIsFunction = isFunction( html ); - - return this.each( function( i ) { - jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); - } ); - }, - - unwrap: function( selector ) { - this.parent( selector ).not( "body" ).each( function() { - jQuery( this ).replaceWith( this.childNodes ); - } ); - return this; - } -} ); - - -jQuery.expr.pseudos.hidden = function( elem ) { - return !jQuery.expr.pseudos.visible( elem ); -}; -jQuery.expr.pseudos.visible = function( elem ) { - return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); -}; - - - - -jQuery.ajaxSettings.xhr = function() { - try { - return new window.XMLHttpRequest(); - } catch ( e ) {} -}; - -var xhrSuccessStatus = { - - // File protocol always yields status code 0, assume 200 - 0: 200, - - // Support: IE <=9 only - // trac-1450: sometimes IE returns 1223 when it should be 204 - 1223: 204 - }, - xhrSupported = jQuery.ajaxSettings.xhr(); - -support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -support.ajax = xhrSupported = !!xhrSupported; - -jQuery.ajaxTransport( function( options ) { - var callback, errorCallback; - - // Cross domain only allowed if supported through XMLHttpRequest - if ( support.cors || xhrSupported && !options.crossDomain ) { - return { - send: function( headers, complete ) { - var i, - xhr = options.xhr(); - - xhr.open( - options.type, - options.url, - options.async, - options.username, - options.password - ); - - // Apply custom fields if provided - if ( options.xhrFields ) { - for ( i in options.xhrFields ) { - xhr[ i ] = options.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( options.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( options.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { - headers[ "X-Requested-With" ] = "XMLHttpRequest"; - } - - // Set headers - for ( i in headers ) { - xhr.setRequestHeader( i, headers[ i ] ); - } - - // Callback - callback = function( type ) { - return function() { - if ( callback ) { - callback = errorCallback = xhr.onload = - xhr.onerror = xhr.onabort = xhr.ontimeout = - xhr.onreadystatechange = null; - - if ( type === "abort" ) { - xhr.abort(); - } else if ( type === "error" ) { - - // Support: IE <=9 only - // On a manual native abort, IE9 throws - // errors on any property access that is not readyState - if ( typeof xhr.status !== "number" ) { - complete( 0, "error" ); - } else { - complete( - - // File: protocol always yields status 0; see trac-8605, trac-14207 - xhr.status, - xhr.statusText - ); - } - } else { - complete( - xhrSuccessStatus[ xhr.status ] || xhr.status, - xhr.statusText, - - // Support: IE <=9 only - // IE9 has no XHR2 but throws on binary (trac-11426) - // For XHR2 non-text, let the caller handle it (gh-2498) - ( xhr.responseType || "text" ) !== "text" || - typeof xhr.responseText !== "string" ? - { binary: xhr.response } : - { text: xhr.responseText }, - xhr.getAllResponseHeaders() - ); - } - } - }; - }; - - // Listen to events - xhr.onload = callback(); - errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); - - // Support: IE 9 only - // Use onreadystatechange to replace onabort - // to handle uncaught aborts - if ( xhr.onabort !== undefined ) { - xhr.onabort = errorCallback; - } else { - xhr.onreadystatechange = function() { - - // Check readyState before timeout as it changes - if ( xhr.readyState === 4 ) { - - // Allow onerror to be called first, - // but that will not handle a native abort - // Also, save errorCallback to a variable - // as xhr.onerror cannot be accessed - window.setTimeout( function() { - if ( callback ) { - errorCallback(); - } - } ); - } - }; - } - - // Create the abort callback - callback = callback( "abort" ); - - try { - - // Do send the request (this may raise an exception) - xhr.send( options.hasContent && options.data || null ); - } catch ( e ) { - - // trac-14683: Only rethrow if this hasn't been notified as an error yet - if ( callback ) { - throw e; - } - } - }, - - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -} ); - - - - -// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) -jQuery.ajaxPrefilter( function( s ) { - if ( s.crossDomain ) { - s.contents.script = false; - } -} ); - -// Install script dataType -jQuery.ajaxSetup( { - accepts: { - script: "text/javascript, application/javascript, " + - "application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /\b(?:java|ecma)script\b/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -} ); - -// Handle cache's special case and crossDomain -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - } -} ); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function( s ) { - - // This transport only deals with cross domain or forced-by-attrs requests - if ( s.crossDomain || s.scriptAttrs ) { - var script, callback; - return { - send: function( _, complete ) { - script = jQuery( "

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⁢RyN%$ZK4i;|r2sX-dtk!-r7civ5{JiABc8K*$W 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%0DEPCv4*hT2At zmQrUG`IiBY_66xWL@{{Adx!VV+&Ag#ZDYSmRc@xF(c0)SNcFad=rWk)d+P{OhRq&0 zO?Q0grJt>4zdql0s9e;BE|90d*7?+#2rNL@tlmt%O{X&?95p57!*@WIgXuNK-9^G` z;)}u1De$q_609`V4(M4`M=>+r*ORB8+0Aok$3G$=1EPf)SNZdU1y3My{58(#$I)@P zi~qvR_#Z+b{>k{n*8gOm_)mW$b;ZR2p3Q2onO*zW3c@HV#8?4z)H_Sb!H)KRAtG3H z5j5zjK|HA{?C$Nsnx-8Hz|&%Aq4?1&U${5F>k8Hz$05XO+lXpWG6!FCY94(h&d1GO zJ5e8keJdOj9`7v8OK%Hbo#JXL&WEMqMTrJu_ogIN@{)B$`cfrJAY;~{r?6D|cJOCB zNAO_@>m4@nsjiHwAQZ|r_*1e(P8OJusSn_xgF7K z*w;&-fBJhy|1%H!PapdS@a}JMGryCzq}|>0T8v}g$S1x@xE_78>@tu(y(I}fnfWh? z;!a{mi$~3-&a-to?hse+?O)@eC;|Hl^KdQHlXL@i1fLl{0rdR$v3(?jqY66UZax{r zY`4HHkV6#Y?Obs%ADm1D57=5e3DLM6>4IL1bh=HfJuem0DxvaZVT_dIW~nWU&Ldu1m1x zz-z;pO`MU+Xq)}0!Q0?B#mL<7Woo(tqWc7}4(hepKRCDbLvv@nRoo3dMcr#H5k0|p zX>X*G`su<@o?aD}Nom5Fq_#B@nwp(lM8fO4uD8mY+0+5gi=0U8RD%G?9YfMvT6Zls zNi@l@i(s-<7&QQl&}3k}!XDnr>ghM2+bw8??CNf|D+^k>8pp7G2k>1fz*PRQ6y4{s z|4z*y{!o@k5saxw^(8*UmR`vsnRc9g;zW2e`$0diJTWwY4ek*&sTE(FLf`SapZYdN z88IiCG1`^MAA%ciQ~2$BQaB$>S0$o{cy1S=Wl{B#C|q~Et4Uh6?s(i!Z%-XVp1m_w z#$=n)t*=nkKg`>fH=wtpZ{ye1^}rKPJCw?O6M6@e9Pa|i)JGwNaG@DA#Zit!;`Ci%R1k~)4Cs>!bnxi1nJVh^b@xHzX_xT zpflP*e<(>m#wPMs5S2hvSx@!zJMs>$I+;4w2mcRFJfGVq1y55R)PNxHS1PnIMQxi*#^STI2*KY2X zsSQW}l>X4tVPmMz{aoKxhzRO*D{@Q~})#B|glEaKZ}=`kI~Jacd# zG=zoj0Ztb#X)sh!@hqj+hYv;@nUw|wZ0LV#>GqAe@}djekV2uItWzq_6FtrU1)qbS z$0aU;O~4QHf&K;Q^Ivw(K0mA9&j?70Uj4Tw#-I3ozn|%6!3HqvLX;?3Xs%I7jOMH1 zncL>|L@el|#mq#sbHA9J$Pg^KF3VTOH|XeHK&nkmG5wlx-OjqBMo)RExzI-14XL13 zQxj`H*M&nnxxZ|g{|r(3_8k9-Xk9sV`xZ^?{M|7O#E;Yted@ZK#eaqxXh}#rnFS%A z=TYYT&#(smE-a5d%`j$gfSmo5DjHB&nJseX;3nqHYJV7tC+zBuwf8m{{nCN%y907Y zvSgkIH{31-abT0g0Wn)*(Ksa7!Fq;>2IcBa`9hXE+ID!M8rvL#7Ssvo>-!;mpSRua zyE^nl=;jJtPv^cT4n&iQZ;0;9&)LwqRQ2yQOaB*-o6{4uSlS!K_)W8kq*I#)RL&rHKNecs=cL5Q=YxJ`~H*IpXdJ2BXPFP5cXq zEuHT)haSF)*|dSdGDOok%Y%QDwy5|hVNj(+A>O1)|4$GHy7x2s?ffmeOi1j!X(oSY z6EbWm(1_-DvbSM?TzC84wY?VOs8fG3rqqAmH&T_8S`1AXl><1^B@zVoUU~s02cFk? zAJmOeGoae(Ij*aLq}BZvLlAYIi0fn1zQngSow)N8?28{}!>sdd(afQB z|9|BLh1%9{Y4lX@Mf?$-;_~ipEf=9%OKL2+R)Zp4eNg3tBVt0OTYUQ+I#;a3=#CEV z1Q_pVv0kzWXlEjGp(Z*dKs#7VUL40i*8p@Lu=i{paNy$e_B`uxYBq$C^ zpm60+n8&`v@efEG_s|ht>24r+d#EwW1N8Bpa62n-sfeQGM?)B*j4r~nLXB|ORG~EF zZYGX9Nc&VW1v20Vj@A05r`4BHFL?@nJ-M99-zAV|pZJHvZt@9M%D+W% z{3%cJXO8zTFdBxJ#~*S9uBK*53i+#ji!z25!(gk`l45D!?sab&1}uTnLdYRAA%|>S zuw;_rwaw2AOM;$7t<{TADk1UA1;fAq@0Gkq{Da+qsYjnVPUZ~x85@6JBKb!ol7GVl z)^AQL4tV~i$jnCc2*M)?Cf7^%N+H=&1O(#WKd?K|*c zIiM4lii;)rW^X4YJhd1V4|A5ZFocQJlAxpBqe4&0(^r|=Ns$4RnyG=pjmz(Rmbc&S zbk==4-M23EU+})WC-YB&Nd56n_mzz4p9It~L!{#1%qpRZ3-L9--Ry2uwhCl2@KP=H zf3nvJI{*J-SoZck&+7@2^w^d!t)$A7Dy0>k~V>ZC4{9cD4GOx$1}|dO-pGH z(hI`?NA(_RbM;(6VePD8;2tWdva1qWee(^YX*Z(-K7ECluyLqTUvi_YHvN zy!0We*a~e?!`x83T;dco zm6$oU`m7a^1okBQtvz|hriG3T7ZkSCcB2&?5|K{TVh|zI!Zv!&aope?6hZ+cJP-PI z4K~<2{_$nr?540BpXQ;x9-YzWR-L$9H_ob|O(J(-W3K9pPyThZEf^ z)FEk}?Q@pQHo-!tWzi0!rKIXP&=>oHB+)rzJ-s5jJ5m|e+sW%*ABE6g`ILVu-m15q zwONBskRWT|=eUVxm>A5NQncFc9w6<@NaCx}@#Gdgyb;ikq%giFfQ84+1V#z;tyCuG zIOe$rSZ;3y^kxR`_X-~nnpCj$umzY8Ci)W7eyE-GCj+TJ6kq>mujQZP@y|<_lK8Ui z^irk-LR{;HHf@W7nxPPS(xQLn?g`B6mjOh-%m8R&wYmrmbCIp(s9+)#jSeEd{TF*& zPTwB)*X?bemsj5&_dkg4>f7UfMz~aRj-N@B_p>p@eS6$zCHGx_|C2pV=gx{oCjU2X zTp}dLjc^U@5jPOfl4J>55@3@Z6Ii!y#SkB}bzTZH?ceBG(?%)@?CL}RxkuNx+x=N1 zK`Hde+)=@ZU@l>tDj^3KuE1!G4>Xa2dUv1R%KB4eX`ak zYkjiza|lcNWUWuu`edz7*1mgl{&$;q@ArMNk)IYDDTwCD3pKtj&v}h|eG4c#i~>ir z^DqCjn!9!wD;0=;NJ?FV;Q4nw=Uz}nrDR{w0H-aea-gj~z}@vDB*Hd7`%mL5-N zm=oLG5_3&YLruq0*E%Va&p*?o)9cWr3zBxnOMm;@ZO2K@{qjtYcOT%@-E{MAV~i+k z)ZH81Jvn8_J^eOiw-uIs+mBN8atJ-*g96?Ylt2*}fV4-&}*eTyZ@j z;&W~E3gk}5y`ty&2ZVQf2~KB=!k{Mt?kI{EX+xfB3L6n$V587*q++bw>VC~ojdr{f zI$2!SDn~`K1p_N9FNr8YmBW0=+h< zsNU39LR2;=JQu8J_6wKY6gGtjV{8)tfNGq8%Qx( zQkWfNBeEBuon}Hf<%noDil2Rhvh4v@JShmDQgh{|eTx>^@tN&MN0#wwjzKTORI?_w5E}Fe#|yZ!ImANdBrG(!b0c4k zmBgR=Chi9DUNvqezLIbm8!vO0?Ia#+%;QhHYK)VF;xe0>Ha2t7&0vIHA*+2e?2YOA zy@62$h3N6?e0uzHIb6)(XZQXsY(}t!9=?A%tU~-tHDwc;Jlkay$lErAJqr*W z)a)+8IJHC)cjz^sm-OcoTe=9j;3K6+zkz0c8R{UvO-lFxQ;eDFRbR*AHG_zLdBL!S z?rc|dq|mHz8h;#=+@#lm^lspT)USdw8nt#2h(Y))k{hFL-28fIw#r6Ip_LoXpdNx& zrh5X=tYhO~a|y+5D$}@JvZxc(#+uJBND*BG_FLirMxD7aHZ&f-;(qV7zeH0OW+HXV zhISE70bRo)&Ms$XO|b~&1oi%<7oq$;(x+KmB0NdH-^{aNxV8Xa*+D zL*eS_RV7H}q`frm)H6`jxgWjGfBI#)dXlg9`EYdGCX-+wmKevCYx0unG>Gh zO+v}7RQ+b!M#SP*#y(3}Av3qYKpIPUmKoysW&I9|m*%1szW9)FX=e{D`e4N()-FIo zL!piA)$)XwR*rs;;!RZnr8exsLt$^mP$+IwcUbn}m!=#~Yx+H8J1L%yh7Q?|; zX;`c!ZZENqqqp*E#dKi~@30j^$ z`10yeC+YX&{A$F95mqQuv7vF$OUY9*^Gf*X=SVE9jts^lM48sG#SviBT|i zCTjx=!E&i;g#Yj#uf+bavcDaw!j}SrWDTq8BJ?LCf|*qQb;$>}4=`Jjpdn%d^KGrr zCjiYOmLh5hsS(;`exBbiFM1~W+hM+)9S|Y3PHvItiDZ_aw?*Uk_R>0}cztu+H^+VJ zxKCI7Mw9mGiave(?MBtN=k?hY67!_buJ~dG_StSdcJ}X#+CE*;rz`#^b;bNS<*yMn z{O$L+Ou^kz4TL-Ly6XpHe4BWyz^aR|agnjmT@+GN+bAaU-zV2hZ%^#R%|y}Nfo&oL zwoieVo>fDK+WKGD@#lQyH3kUPl9vwluW+5lT$O!WwD?BI>Z$RMEi+hb5ZNWP=cM2&X*uD=5v`~mHILb)+O+WqS$EqSmyjSlLi`7CJ(6m6^ev(Gj z2fK&Q{(REm39YTWj&&d4b)jBJp9>+&*_(X_HT_9eJJfdBB=ZHws{*Q zZLR;s1==R8Tg{i{)C%&hnC$rg7ZgW*OBG!Z3?r#7$R39aNbHd8wUVZ?XI??%C1^kv zWz|(rN!w|{wQ263=cv2C_&CXT7kj2w(v`NqWd2Mflh@N~`c(I{&xaVxoPFJm$GazX zUE5u}5;s$nxw(^fk@Rq7vF`msbNTKMH=Qs+52JH0|D$L3sMd@YQng--!p!{%zp1KSDD5#{Abb z3w@gF|1!4ufBf3}G}r&5@W9_e>-A}_|8eR6zii+2X|6uaMfg!#v`=&OX|5kuW!k5? z`ZQOc=K8;Ed;I_L+K;)?N|He9_x6J{wGGR)zAGsWlriBp7Dbnurh&x5Go8lTKut80i^|+3n?*owxAWrMGWijo-6f zf4bX{>6cax96NI9>2G@p5~0}TziGPiU;I|;r#28L{E24ceaGs`{PQ_5bgx6@NvBZu z;oS`O2J$dGKRPgDX9XXI%y-kXmb%EYU zQHD2m^rC6SDLRUBj+yIRws6io-#=;1iZ+FqdzTb0$VL2r?R|GpQ|;Sk5EW4{0s=~l z3W!RRCQ_p!A|j$Fz2sF?N`#0A1PO_N6sa$updbY4(jp~9S|VLUL^_0;ARs+K2uD)f z^L}OKH?y@4dB zb+{o|k(1SkDxYUNc;Usc(m#gmq_XlsHUI8W&zfQ>E&ASVgJ812N(lR`gY)QwmAkKZ5Hq|W`$Zbd+>V_nq;e(8%fWtgKcFX>-N7FyT%`mpT2 zG}+0*FCi#?jB=;x8t1APuj9SSp;9whX4`?BoH++e|xFF7Wam15D|294e*4qEt;&-o{;@8om#`xA|6- z6|=Cd+rXNs6zfkEF=M@+W~^k+#pijXs_Q*|uC}J5oKYm7U|zPICk?Cn4GHh#IF-Pp zupfE5Ejr=v|6t%dro?ofCQKZaD&-vk{PH_PL=wbbsSKswxWw#Kj-HLY{FN1Nk2?(K z&jkXN+SMbHIL`h46Hc_pQz95?Z>Hom#^84esm-m>Rh_ZR4L96#U7Xv$oi7>p6nY&>*5=ajQddchJsL2= zOD4dlSEhiIjq@!N7R|{XFi05(5hB-xie?!L57URLlaI&P1REX4i8wFpYHshvZgh!E z)pz~6jGFJ5(Op5XukgO{bOw3HI1hjsraE0WZnO5{aNSh2q0Ku9A--QK8%u{vH!{^G z9%1S&kAMC=bo%n;NK0H!U<(Y;&fp2Yowky8MrX9k$pb6Qz?KVh2AS}WWJRW08jZX6 zY_E^Cy^i#numct87*?CCF=y)c2hBUp$Mq6u0c?aDOPju*$=1YOfzmFY%}+k_B4Vog1l!ViVO@z)Kb7&T zP8B~_qkn>HG1mN2%E!kGnQo1#t_=!uOjOMq^QJDSxv1B&e}UcVBKS(58>?YIfi-tA z1`KId7qjCzR+;yitXx;qC)UP0(LiCs6R<*4JuDBEO{AsmD&6I#6T`yU423H35VO>- zbIHvpQ~33;8>zc(>#^OQLRXcyVD1imH?riozqW96k$R@0z_~4`U@_hGtxuY*enkAZ z5M!L`GG-yeuoSB_mo7PZBpgAzbpFoe!vcltYl!6#@W#9tcF!<;;13nth-$=6FX~z} z$EX#VyQp2uhj+x7J5plR+`?+ad1+6S$+Kk z678#ZPf}tveUQ3P-U#j6K9Li4;U6}Ue{XvJ-t_!0Z+iaKyW9LiW$KDD zt9~3h9n0Gn1+Im?90fp$fttau^s;5p&GSuJ(g3p1nPURPGoY<&vU9QbXphq;h3~Uz z9ntsG4Zf#-rq8Npw50b?(>)aG&Nya#`O^W;c|O zt^2VDI6j-$lzE&+XDY2&F|{r;ZiPu|bSZ^m_Q%esOI`T5`}pMI9873rTtoVT%bu^8 zZ_r=Ko@sTFDIspf3xR=B*!+S?r>TW4mY+`JMCNQ>rxCHc`iDu2p;&uz+bP-3W6DA^ z;zX}g$pr%gzh(kncz5Nw5We&SWxWgU`+QiIW5LH)xc0maW6|G`rqoHXr=EcnX^MBZ zE2raFreDi%h%ouElV`F9+o;~cefK+hBgWOy9QAluLwhCnOG<0Sr{}OEV5uv3r8`Gd zfG7BiErB-fYJu@5#JA;y{K2Q$;`BQ*>-H zMYU94Na|i=rDUYe>3Vrr5SW-@2c$qy0wyr-q;ZqM!uB}H{EtjhELOUSHYMXcep0}W ziF=CjX^<@k!c@PGkcRz*B|@$#nkHyV8arP;7LVLWSyLb8fTe^#UJAe$jx5yt>0s~V zG%`AN@lPkJ9aosW)U->|HZCI<=+sfC705i6w0>2I2k?Rryq{Q zoyMK|4Y_NPdQ5K&h`q{r@>&svohReKcO;z%sCd5xQ>~}p;YkzW4jD#xqFGyIv3-pe z{iGAW!sa*(REs)tA)Y;KO?EMWSqWd9a z+K#P+YdT_h2n)kCslxw&36d-P%FI34>KL6N;qI2ybvo1gWk>8vnWTJl^^$jhtXg-V zm_&w~n~%kztI4?d8;8z*^_?1`Pz!m23yhzwzad~M>uuD?7OgP;kG^as>gjLDeabUe z$>H`;9~Ko#Ei;rabUnZS<-wHk&hHM?sWy*3?QT~1f!ck0zq~j5l44hn8s^FPFP$3l zN-z988?3$7jr2aW@|pK@`N@f#qWOO;eFtyi{ll{N&twXqTTgTTbLQFq3`zFi*ZA+= zk+Y0@%`L1-KoQ3r68ufz*E%>0&%tCi5F!{KZXA}+b3G`%r)4Svf52FIX|bv#{{>EB zb4ARAFEscs;+jY{M=5Imj2wIt-PHPp!cVc-mDx+R;-y427!-O~aS=7<4i z4AOK*_z@?R0OuIsKRp#mJ{)l#vfwK8?LqYkwbM=ZI^U{vMep9rOB#8T;`;i0*O!a{ zWJt=jNyl9}yaf*YRiS@QD83WHk(0#(fruu!6@awjp8=~p?wz3*;PP<-Qw-3|Wseuu z7+jRXux)a}eMimLh+q}$9u}@TMo;2r*F%b!p^jnnT45+AruX8nGwZD#GReE`*f}8P zZ%4HD@|xjQc~6`JD$!U372CEslzKN|R!15ah1E=HDcEC=-9C1$l%zU$>3!t$jE6q( zBz543A~AEABO%Qav}jX{Wv(})?LH;=BTEnh=$h3pACm2#-BB(&mU$eZK}$XH{qpMp z@%=F{bYp0LE;EHV%vH{eyKD2%46QVseq( z0GGrU@mbhjksfX}xFRRr{MAoSL(!Sx$4Td_$}Sj zj&F^!0#4;^$0Z=SEjV|!s>NkMm|CFSn3Hwy@IjJl|>mhgGY0a2GTkBWtiK}>lfbbU3o5kG!$2l^2s@I zGn;0Eo_SlE;2Ix903UwN8JtKD`~zFZ$AfO%F#Rv9=KUX4|Hd_d#fZ-R{q_G?8(?j~ zNgN4MfQ>lTad75v=k?>I8pKNM7vQ3WjPgvzJT0P)`ej%I7^Ay3768V=7MIu6$}-rf z7Gv0;p$UEBNYbf}q913fUVh<2Y+6%##&}Q#Zt13x)r{owC|lyklgzwyXsDsolpMzw zbr0P~;v9E96LPbKEL_tVb1Y1611C7TC>38F`1D#l-S)Mr^*D86@+nS?8o`|_3=S&x z(v_4XZO4DvO0y%Si8@b=kN3!1`1<<$Y8jGr#XhYl{QT0b(pS|juT`(Hy^nQ{ThL(6 zmc#bLcf&n<_Mn}bC$*UHCWN#nPw!iU?#yL%CC1#lcMI<)OuZ!v(*3(Lf5aSCGaZMb z9wmye5c5Aye1C?@SjuLkMQoy^(D)WI^xM&d5LBD~YCNr5ZqoeBzIZ#=ffem|eUXS{ z+n*@ZAD8U!q}yCr-}Cy$`x;8mHYqKYSFoOF5JNqAVjZl)+{zixNH1_`+D<)zk|9zN`j-=TQJ;USvq3nX_V{nE^uZFxcs0x(?GP# zsDET6^8)?5gSjv_yRxlgUg;w^`Kiux4)#wMw)gDEc!FEIGLYPrzurqsdWV$T3uMq6 z?b@*X%zLHD0_5J!M4?5|&Vn%qmt(~y#xGHBA%*en?Q_DdFfh?3EFae-4EKNnim+x> z1pFXRlj90lFn2&>Tn!t6An(6!6h+tD6c(_3&ls3gObxlVX50VZfqM-S?K%(=WB$fP zxdih30}p1rJMiAqrG!EOqQ=)u8H4a#t5oZuLajM#aElLkF9qd34TEBiGCLAEdc}Em%7Mk` z#P&(0ns0`7-l{F(e=t2ICixkJ7pa=&r_Q|9tN%kW)Qb5Wd~YI406zz9H`E8H?L1%UmJL!t~zND8{B13sHbrbl(5>s2Y-d7;snXM9KJf> zd@jbg3NQj0hi5$HL5}B)beXbapT8=!HA`dAA1XSzaNvhuPm$*o(Ysb~P0i82p zBUe%vEAvc%Jg~o&f)mq~k$V&$E2@RU_jx)Y+DdOR(Cd$R^5w6{e&d7KNd&_lpWv!o z$$&TEsDZ3L;5B{X0-d_go1ZonM?MCm*tvfQw0Ctv?6(L~(2z7g)A{IIdz-VoD9rnk ztrLQP`ZicFqvNS~20z*#?Ags-dQ5!HdkuPET|ohgs3t2wvFD>NWB#KUOp;^C#7Mc! zw@<~Tu~s}wIOf9}6(=fcs%jqI?==+97IcLQ13|M{PMFRjFR`9t7rkn(PFm}ei=vJ7 zUix>;VY`o$FMoIS4VS)jhKFs@;oT>LwoYNUa7~>Eam*dYVn1(?d~k@Us&90EsU3EJ z;uV5yc_K`EeKm=y_6{}kT1daK8NcBz{8n=JZEc@Be~J@o4b4ENsF^pMwTqihK7n}z z%!2(*A*w0Mm|@p~62Vy3GA3$BOfhGMOCu$6!`rG=KNJ5PdvsCmboh;$dJpY|q}8L0 zL2mJvcKhQWglKnrMsT>_5Jm95a9G=IV*Xddck(afA`j=h4Epg%_6hgwn&Y|e_bF|7 z)@|@_B6*|uN`W?6dHPlpG?8*Z8z;VCC1vGKK!@LCT1607^zMpw=K_f>`YVI0X(gUj zb-AzRo>`%^eJ3289VbnNTM-L|AZc<9Jl9u_A^5!vb8>j2%%mlr@ssr@059~gWTKiD zR34$-TThmjvY5aUtzq58@|^|E(&T1Ey;GyQL!=S1r7pf>r2PJX_OI%)Ym8&J9PO@g z2Z^rf_4p41H%xc`TbTH|008g(k0N#db;tO4jQ%bz$h$459K48E|fHe20L{wgP6s#QNRietbEyp?#pcbchFUHMB{r)>DwM~)ic zz?7W9wc_?*6ae#SZXg}jN{QCz7DhH4o}LnRAm^3?DJ}zdmA&0=KX`^py=qw5CEu~D zL8RNyPurGhacY;T%P;lC4*c*C?0s7M+74_trN(Z#gZYz=i&!)CWU!~V+IynFaGnD# z#MlD8<{z)rOg>UQFi#>OKe*Qf9k`%$z*4R&QMprH?l(jOm$wF-Qs;=>Z{Z30fir>% zH;pWZ&Y+Q=`NOCdGnAF{xxg^%6;P_OO!P*4bR?2mrX;*v4}$xA&~uQy)Cp5SQk6foqf{eCvLw%LPNkzmflSNpJM~O4a)R-Pi$u} zqn{_pWXxQoOymIbtzZ~achB33$UWsMrH1fn=svX1oN}w?<%13YzE#BBeP{E;+qxJB z)27phC}ER(y2RpyY6O=$e1gi;?3sme7>C^{NIF3RozXf(mZ=OeXc;0O878{ipStk= zb*`sMwTHiS{j2IOv(pz{shvk6zWAnIZU3-_bEkxp4Y=9HXE>(;Eyh$6bv}{f&V;r* z3Pf(8_M!tm2T$19r2dB3R7KvF31D9FUh!6SM0Q``;ZAi~^-tF}Qa;pFg(0Jxy^P(Z z%LxRm%`6BSuJ!;rY}OIfs2xwRi`ElMKH1-$*19$ZyAeKNl-LI}?-f|4(ni>&OUf@9R*~9?I{~K_@?OS7d}CA;Mx55OAFb8G zI#X29;+_lKGR{0ogEKrq(i5@PuO$$7R`o2 zZC`#*9=xRCYDb(PEp4sc3x;)~II^Gxz)k=tWZ&X_rR<`3;=<&FnW$F8A>Nm|wCB|b zS-_%s+odO3Cz>aUrcQ$R%7z(|l~&Nc{c@u4S;KkSgwCb`Qd;=JqO!10@W4eV4rp{u-7KMnuxIkn*s`3oMZA_} zL*p>Utwj6o2!Oo$yga)q!R6-7G^>6aAFFK!x{#jslnnEd3L(TB9|fd8Zf#LKlKZCG zTs6L7G=fwD%ny?M98HV7G^z_G_1*^9cud_bdXycCP~n(x8{yNL@G8~Jth5;vH5W9M zJinjd=U;4^W5$Hi@KN#Kw_o5rYlqdUDbU3SKM`L2Ro#I_6HYoS8!caIKcru~HU2pB zMb^TCcMS-PDu7Y8D6Xk!ieZHst+ML#Cs3_yn9!9_rpzx%sd!3^D`FQ$>3xIKE>f1P zbQ4c%px$*1yZ1HQ4l5rPmiE%}U`i|9+A_p#T; zdZyJX`f|v~Lgcp1<=t^Q8P0SuEzKRV{N@ zLB6+VaKV_Dt(evBt{2*pU$za@z|jF;WUswrMaP`hsK)Bd!w>UhoiI*-Dl?pBGut4# zKoKQNaxO5A=iS${FXcE)H{vb?xm++P6*1cI>(SqRI`4?eBg0}M7y@TZ@%DiLXJ;uu zoN7 ztRdxmC;z%LTYMZ+0^JZYG8gL7IMKs&8`56T?zXtucRxuX!;(_pKbva!YSKdawd%yo z*ZmzHv1$(klCqGS2;LrdW-JI9DH4E>f)T!^N~)Y@t;=O&!(#@ z>n)VC8mcPJu3Ftd+{QH-HVDuO&ncw9W&i2KoeNq^Sto{mLp%v#ZddwMzt=>XQ>q$p zIg6zA*X8pyqy%Y8{m+Z*wC^t-kZNA$Iw%N=MXtCw@t|`!;^AH9LVJ$J{E0sL;!m@I z1AgXKDaH?411ST73tJYQq|J_NxV`rTgh*JzPcV29`WLVYWvT1 z+(_EU-kFo|;_*MIutAz!2A5?1Hy8GQD<7!od8dYyzB=dO?X8-WU)NBVZh*9~Pm;4s zUtA1Gn4}(}$C%$u50Xzfo11KQ@8W$ZVP2lM9|U4ykzVkMD2~{S9pKC8Y0Em?$J56S zIxcbKhIhFNP!J77`i(i+%jwHNE;+d;hL`Uls(jit5dNj z06q3;&+YtYkD5xX{15dTpW@u;ceT6cQ9W`O!G{jCzMNnEA-G4z1ono}=IaTVfO8*6 zU4-eO=Xrahn2WOR?E%#Jh~E%5kYSSQemUQci2jy8ml;UU$OuSasYl?UL}-<><2bqp z5t=JSq=jUOFlLvKc8|uqBq!xa1GqsqT3Rz6f{_Gp(^e5U!3NblK$1pi!3!;99b_QF zA4{JteH_Anp)dCg%QhgOH>|DUX?$Sd<1ML#`~dd>f90-vc1Ff)esqa?>n|tXUQ@O( z+Jv`PgDr`<$4zZ;WYyVL&?ojVaq4x9joL{a>TAj z=iB(j;#iOfCZ~K=4VQdG=^9J@N@lj0$)*I{;p6~|~ZoEB~%oLjYM?7#` zU>V2O!gig(iIPRUuqs0ok7#2dz^)Z1VrXT=Dmxxughn>Yof_Dbz3J3XW0Vdp`@dkC zconc_Z2J|es!3HuvwGhA@x7~G@)Hm38dF*XHGtMn@MTzET$4F`Iu%z*;D{^J62r-I zyxwiQ7;UZ-t%g_xMyvK?6)?twW!i8lwDnJW5{WppK~sBMh?H_A(8{pV1|nrY9JBD6 z&gO+9F7^|i!>kIIr$+F6F77gDW=@HtFq}}psriol>ckET$*iMHf9UIK@R$=SGV4U* z^tiCWvIzGb@8Bp}f6XRAMR$}o42no@RBQ8ipq|KzI3eNRE64li!W9R+t~=h^4c z8Hk3x>i*q+Gq6@mE1SCYb$Kz@Np!NO%Z+Oy=10x%oOT}G)MA^0jhHb-1fx+Bb5krA zZXQ+`y+yMe5%buZIt*)rK{z;B4HcW^sTm8l!&Un_5qw`bat-T_g!&@XPg zA-UFzbJOjODPKC2^k$@tA%Ht`9~~ckj1koWr z)zsmY)dtE-Qx#*?z58NQASBYy>s`kL4uekJ&~P}zYlyr+vv5K$fAewa;5VqU+Hq%)5??v7Kri z>t)uo@&fAQRZZ^)*jSDX80fr7nI=pfl%raSf{|hyhVIo`3(w@AbW%H1D5GEai^x@H zbReyl3A*L)Ol>#u_7|c))-(;=)kZ!{^ZE_BsrhBX3h}dtFk_kR{;M6W%o7^sHq0{9 zqRNcrvAwX$`6!H_ANDytKDhZwV(XMRkY>?)-lp+GUxRKrN1KuQI=JYS%TTv^gGv6F zsqtuDeO!C?Z-_md+*`8%e$2Zhm$lopTO+ z>NsOV{8Jd?GMt*T{n&93Xk2zB{y=vrkS28bE zN8c ztfZVh1VeAgMrCJ*^zuMCfyVh3)u|Fr^S`Bs{PQ?Jz7^Omo&>JBYfz^v-p(PmnJ36_ zO*J&1L5X*ZyzrE|YOQ^`$^B5WmS6FrozRi~W%1tCbUlZ=H+M_-6*4=P-@1cxTLbk_ ztjgdR3~jmj2_rAp{pjVFWQS&6!jw$o{r%pQ$!)UD@%_rz~5fM8kJI$@*FD$xGHY zFF&06IQ>p8`#bCjWZSF_Q8hliT^LH>9a!uIz@YU(r2%h@V(>c)x9mm7fU3Ns8TJfP z^ze<^n*LJ%5KYx?p|TJesp=C|j>ilcCQ4!GwB~K_b#DfD?`y5ISxqb+xpKR3lhDDSCkd0geC7G(vW5Y(J7CodBX z5W)^3R=wkvBM8F^RzdVSmni?k7rH9^R29z><4?FE=Ul&#yX2Pbe=f( z!QlNl_&A{};Y4nX!sVHG+p{zAHlk;H19Fa?*c)BEqqt~qHUt8(G1u1}-X5ISyKZ*j zJS?eL^D&CBnJs{?qcGIxZEry}H4;jC7HkqH5P;;*5-;d$NrBaEm=`2&6MmDk$iJ0< zYvg(b{G~!25J;6Dq?ADn_9SR*p_Q12jI3ap<`0v^cbRv>6K94=We)rHwteby3lD#K zO&``VHQZ?WASw0EsJy_ToipK~35~wPOW|#ho3gt@PUIW?<;bWnS+t!ve@;?F3wG#} zZ1C0^fVJ6KbTw$_BQr#q$H$CknUGsbSx+9rZvH8-xnT1e*ZXG6mdn@4iPGk~_=s;a zC+P_^n|G`Ff1F+OU&q=1ea-(#+uAY2*uK0T@)>Z{$AH=`qMQ!k$*^dZbktoAWgi6G zE&(v687roLr|S_$E0i{YYXxad9}KjjyM{oA$pPe_tymex-RnKYKa$3N{E4o*8QAA8 z?8hDF+ywk@GyQ0UL}STC@-b%AvkgMDvG@>2wirmHv1-VNndGE=AhJ0`>qY~E5Z#^0 z_Ryz0IA5#7RtV>j93QWy1!TDloc{bKYI%vR!#T)(ffWNxrV~FRqR3K!KV!H_%Cg{P z&JSa`{-c$_g(Om>bi7}yMf_RFR1O%>H$SPY@J-<7slX>Y}B~nh6=~{708m!|3)VHQh-p?&x zN{>qhH4C5R6F*gvh&ACqR^RM@t+3bH@7o^%a`>)a*4L4{?qO+QZs6U2iAdC*ZNFxu z)iG;sx_f0a25zm!k(BG zEFy@oNVo@15N+aEYoRJeM@3{MrZW zWJj+jE}TbH=ZlXNt$Tk}IJbHG?@Y4t7JIr7m)y9GPnz0=n+B1tf?0=Yb@)YYB}WiU zQnDpWJeP=N7G7c6H6!bh8J%|%44k-TZFP$HNE*6T%|}g@IMyZYp4_YELzDD1!f8+# z{s@k^E(^iUQ*s94^9U`72ISrNgx4-jThk#&txvBq+ql2lYA5hnDP)XFSw zqy0ng=0t!!#)fWWW}kS0LLv4Y3H#cAJxiKhK&)XV0_uevX$pMV?JYoI4RB+v=WVzt z57bN7$fr084fQcNG3?hBf|srSEvczUb;4@jQrmCHJ{@5!Z>YQMHHE|x_7Cx7{VelH znM9_Wt?wVfr2eW56z$McaP$2h<~yajY_&VwhQJZN;;XiB!2R&;uUc__{S3lN2~TJM zkS=!tC6g5tPlLuYhZ>Y=uxFD80gW7_A2lg3nBF4?ly|h%wWUTqX)QJ@KqH$@Z1?3z z{v?+1tHsD3=V|g}FxntOZCi_$I{-K_NX?FGiN?p!Tdh*=5uC#`sIa}oJ0$ifb2s5p zY8^JCaJ2bwUb^QSRN%>74a$n$U*3P0tavgu0paIKiaO{rvr_y zIPX7`m>{R#f8aFJy{$*w%u_cy&hE=jQk{ClO4;Kz0kn@9AHwV#t?pv%N}}lQH5xW? z9e(-cfJ{8MLw=ax?7zt)9?_F=Kdgke4$7xyXJ$hL+aWpOkxmr5Uw`G*hJg_6pO0kvOu160Rv2_6BbWj~U)a}K%}$g6O6=2JH1`zNl7!(bwb%TeYE?V$ zi};EU9O%&?2FD`tuwjh*yCt5^Km#gBHtq@eEy0RlwTl>$=Xl4ZTklPtqo0{-b{t$N zA-M#?*SRxGS!saTp9N-mVK1Z*93gBd9TWnAJqUB78t`Ri1*s@8d1*xs9%OyMJ4j*u zN8lNr)Vj~c#7)!w+1lG~w2Ax2(}!>NtNNn6H3Cs*JeAVd(zr#2X0$0eG`^W4VyH(y z8iE8*x@V-ZBiz+jn<8Ak;h@l4$Y|Ji@P<=co_0;*J5OcNlO8^^K?fvkaj!MaOh83% zc}f%YyYXSBd!(VMp{UFGY#{dHkbBMZmx{HdejVxH&XrvE&&oYAs#02Ep|2zkb^ATO zoA4|KvdU9J*Nt^h4jA5^QMS-qR&B7L%Q`uPeVx0Q8tmb}uhYjZ%;6Y!tW&g;IBINt z$u5SK_>6J@qs!=^L0gx&nzQb}yP4WDj#y6n(PJ~`7@um8Wr&-kSCN8e3bsV3t&7)7 zMi~kxK4LzY8=1o$`Q+cqFPwv|?QgqbBVu#opn_MixXmrdj-royA$;dR?9+Z~uk|B8 z^K*Nj?hqIzkdc>^WS(qq?F2U?JmbxbYx~b1Hr!zl%ssKA~4?2`nTt|S$T0ZP$Cr+ z2^WjQYV&EG?VR2;&Z0P4&V1wHXKY@NXzka>BM@bLU(NW7HaEAw?XEMg9I_FRj_%}7 zNjN9apKLX)H6Q^>lrJS|3>^I$BDew;uj0Vvv|8TV-H4NLowD*>+GzKqzHxqcw`Z3f z$=MAag)4(xY83c}JLPEl!#Mnx^*6r%ME3aK|9kNIKcfxKt~T1ufvfnAf6udk5DGj3e=lCy(&xd7KRR(Q?tfI+<>c0}`Kgvt~?j2Rz8) zz5c;Ldn%obZm;=#@w`hqfO})NTn{p{pSg9vArIh(odDQ0e0i8@(5f4$Y>;WvDm5Ru zsV;z)Ki97=FWOXs4sXv=s_Emv3+xSd`5bd^3|f7AFW4YB{xg)VKW?(?idHL`2RBN<9^~5kI%L zIC~calI>P_y{IcKpS9$j2(sgQ%0T*gi=zz!k=v7F930R{=jzVbt>8+~UY5s)TlH;X z3R`gDPXbDWhNxfh3<}$tDjax|DMtWl&^#nof3Wni6Hr=E*VkZBXzv;5Sh~HnaaZ#- zWMd|K{@@>lohcvpeTDLeZa)D5lVD9=Ru4**Lj;}2?Lh^!hR+Ill?DzF(5d$X|NlQ$ z`X_Rp{(DdR`}4n`Ed*rGZu@eI{^iW!S3E$NFx9M diff --git a/djangoProject/media/doctor/907d937d4dd8844a4820d816e0cb7f7.jpg b/djangoProject/media/doctor/907d937d4dd8844a4820d816e0cb7f7.jpg deleted file mode 100644 index ca3f047ab20b1cb8a382e31a12efb0f17bb11415..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442020 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