From 51e58f0a803683491a5b26a1b4fcaf8493441042 Mon Sep 17 00:00:00 2001 From: Niculuse Date: Tue, 26 Sep 2023 16:55:27 +0800 Subject: [PATCH] ARES2.0 DOCS --- docs/.buildinfo | 4 + docs/.nojekyll | 0 .../ares/attack/autoattack/autoattack.html | Bin 0 -> 77695 bytes docs/_modules/ares/attack/bim.html | Bin 0 -> 32714 bytes docs/_modules/ares/attack/boundary.html | Bin 0 -> 32054 bytes docs/_modules/ares/attack/cw.html | Bin 0 -> 37888 bytes docs/_modules/ares/attack/deepfool.html | Bin 0 -> 26247 bytes .../ares/attack/detection/attacker.html | Bin 0 -> 72669 bytes .../attack/detection/custom/coco_dataset.html | Bin 0 -> 55788 bytes .../attack/detection/custom/coco_metric.html | Bin 0 -> 83332 bytes .../attack/detection/custom/detector.html | Bin 0 -> 14531 bytes .../attack/detection/custom/lr_scheduler.html | Bin 0 -> 36111 bytes .../attack/detection/patch/patch_applier.html | Bin 0 -> 23998 bytes .../detection/patch/patch_transform.html | Bin 0 -> 68593 bytes .../ares/attack/detection/trainer.html | Bin 0 -> 56407 bytes .../_modules/ares/attack/detection/utils.html | Bin 0 -> 43183 bytes docs/_modules/ares/attack/di_fgsm.html | Bin 0 -> 50151 bytes docs/_modules/ares/attack/evolutionary.html | Bin 0 -> 31303 bytes docs/_modules/ares/attack/fgsm.html | Bin 0 -> 30693 bytes docs/_modules/ares/attack/mim.html | Bin 0 -> 37431 bytes docs/_modules/ares/attack/nattack.html | Bin 0 -> 43743 bytes docs/_modules/ares/attack/nes.html | Bin 0 -> 42141 bytes docs/_modules/ares/attack/si_ni_fgsm.html | Bin 0 -> 39692 bytes docs/_modules/ares/attack/spsa.html | Bin 0 -> 44926 bytes docs/_modules/ares/attack/tim.html | Bin 0 -> 61960 bytes docs/_modules/ares/attack/tta.html | Bin 0 -> 44335 bytes docs/_modules/ares/attack/vmi_fgsm.html | Bin 0 -> 47866 bytes docs/_modules/ares/dataset/cifar_dataset.html | Bin 0 -> 7897 bytes .../ares/dataset/imagenet_dataset.html | Bin 0 -> 11505 bytes .../ares/defense/bit_depth_reduction.html | Bin 0 -> 9512 bytes .../ares/defense/jpeg_compression.html | Bin 0 -> 10697 bytes docs/_modules/ares/defense/randomization.html | Bin 0 -> 16122 bytes docs/_modules/ares/model/cifar10_cls.html | Bin 0 -> 19058 bytes docs/_modules/ares/model/imagenet_cls.html | Bin 0 -> 18698 bytes docs/_modules/ares/model/preact_resnet.html | Bin 0 -> 30270 bytes docs/_modules/ares/model/resnet.html | Bin 0 -> 74242 bytes docs/_modules/ares/model/resnet_denoise.html | Bin 0 -> 47398 bytes docs/_modules/ares/model/vit_mae.html | Bin 0 -> 15981 bytes docs/_modules/ares/model/wideresnet.html | Bin 0 -> 36069 bytes docs/_modules/ares/utils/adv.html | Bin 0 -> 54770 bytes docs/_modules/ares/utils/dataset.html | Bin 0 -> 21318 bytes docs/_modules/ares/utils/dist.html | Bin 0 -> 12784 bytes docs/_modules/ares/utils/logger.html | Bin 0 -> 15465 bytes docs/_modules/ares/utils/loss.html | Bin 0 -> 26723 bytes docs/_modules/ares/utils/metrics.html | Bin 0 -> 11327 bytes docs/_modules/ares/utils/model.html | Bin 0 -> 52723 bytes docs/_modules/ares/utils/registry.html | Bin 0 -> 32096 bytes docs/_modules/index.html | Bin 0 -> 8260 bytes docs/_sources/api/ares.attack.rst.txt | Bin 0 -> 1780 bytes docs/_sources/api/ares.dataset.rst.txt | Bin 0 -> 243 bytes docs/_sources/api/ares.defense.rst.txt | Bin 0 -> 349 bytes docs/_sources/api/ares.detection.rst.txt | Bin 0 -> 1322 bytes docs/_sources/api/ares.model.rst.txt | Bin 0 -> 693 bytes docs/_sources/api/ares.utils.rst.txt | Bin 0 -> 1184 bytes docs/_sources/index.rst.txt | Bin 0 -> 948 bytes .../tutorial/attack_classification.rst.txt | Bin 0 -> 1855 bytes .../tutorial/attack_detection.rst.txt | Bin 0 -> 3333 bytes .../_sources/tutorial/robust_training.rst.txt | Bin 0 -> 1394 bytes .../_sphinx_javascript_frameworks_compat.js | Bin 0 -> 4418 bytes docs/_static/basic.css | Bin 0 -> 16157 bytes docs/_static/css/badge_only.css | Bin 0 -> 3229 bytes docs/_static/css/fonts/Roboto-Slab-Bold.woff | Bin 0 -> 87624 bytes docs/_static/css/fonts/Roboto-Slab-Bold.woff2 | Bin 0 -> 67312 bytes .../css/fonts/Roboto-Slab-Regular.woff | Bin 0 -> 86288 bytes .../css/fonts/Roboto-Slab-Regular.woff2 | Bin 0 -> 66444 bytes .../_static/css/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../_static/css/fonts/fontawesome-webfont.svg | Bin 0 -> 444379 bytes .../_static/css/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../css/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../css/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes docs/_static/css/fonts/lato-bold-italic.woff | Bin 0 -> 323344 bytes docs/_static/css/fonts/lato-bold-italic.woff2 | Bin 0 -> 193308 bytes docs/_static/css/fonts/lato-bold.woff | Bin 0 -> 309728 bytes docs/_static/css/fonts/lato-bold.woff2 | Bin 0 -> 184912 bytes .../_static/css/fonts/lato-normal-italic.woff | Bin 0 -> 328412 bytes .../css/fonts/lato-normal-italic.woff2 | Bin 0 -> 195704 bytes docs/_static/css/fonts/lato-normal.woff | Bin 0 -> 309192 bytes docs/_static/css/fonts/lato-normal.woff2 | Bin 0 -> 182708 bytes docs/_static/css/theme.css | Bin 0 -> 135314 bytes docs/_static/doctools.js | Bin 0 -> 8171 bytes docs/_static/documentation_options.js | Bin 0 -> 432 bytes docs/_static/file.png | Bin 0 -> 286 bytes docs/_static/jquery-3.6.0.js | Bin 0 -> 288580 bytes docs/_static/jquery.js | Bin 0 -> 89501 bytes docs/_static/js/badge_only.js | Bin 0 -> 934 bytes docs/_static/js/html5shiv-printshiv.min.js | Bin 0 -> 4370 bytes docs/_static/js/html5shiv.min.js | Bin 0 -> 2734 bytes docs/_static/js/theme.js | Bin 0 -> 5023 bytes docs/_static/language_data.js | Bin 0 -> 4957 bytes docs/_static/minus.png | Bin 0 -> 90 bytes docs/_static/plus.png | Bin 0 -> 90 bytes docs/_static/pygments.css | Bin 0 -> 4892 bytes docs/_static/searchtools.js | Bin 0 -> 17088 bytes docs/_static/underscore-1.13.1.js | Bin 0 -> 68420 bytes docs/_static/underscore.js | Bin 0 -> 19530 bytes docs/api/ares.attack.html | 1169 +++++++++++++++++ docs/api/ares.dataset.html | 151 +++ docs/api/ares.defense.html | 204 +++ docs/api/ares.detection.html | Bin 0 -> 170059 bytes docs/api/ares.model.html | Bin 0 -> 75568 bytes docs/api/ares.utils.html | Bin 0 -> 88180 bytes docs/genindex.html | Bin 0 -> 72943 bytes docs/index.html | Bin 0 -> 8998 bytes docs/objects.inv | Bin 0 -> 3219 bytes docs/py-modindex.html | Bin 0 -> 16212 bytes docs/search.html | Bin 0 -> 5073 bytes docs/searchindex.js | Bin 0 -> 40295 bytes docs/tutorial/attack_classification.html | Bin 0 -> 10615 bytes docs/tutorial/attack_detection.html | Bin 0 -> 13361 bytes docs/tutorial/robust_training.html | Bin 0 -> 8675 bytes 110 files changed, 1528 insertions(+) create mode 100644 docs/.buildinfo create mode 100644 docs/.nojekyll create mode 100644 docs/_modules/ares/attack/autoattack/autoattack.html create mode 100644 docs/_modules/ares/attack/bim.html create mode 100644 docs/_modules/ares/attack/boundary.html create mode 100644 docs/_modules/ares/attack/cw.html create mode 100644 docs/_modules/ares/attack/deepfool.html create mode 100644 docs/_modules/ares/attack/detection/attacker.html create mode 100644 docs/_modules/ares/attack/detection/custom/coco_dataset.html create mode 100644 docs/_modules/ares/attack/detection/custom/coco_metric.html create mode 100644 docs/_modules/ares/attack/detection/custom/detector.html create mode 100644 docs/_modules/ares/attack/detection/custom/lr_scheduler.html create mode 100644 docs/_modules/ares/attack/detection/patch/patch_applier.html create mode 100644 docs/_modules/ares/attack/detection/patch/patch_transform.html create mode 100644 docs/_modules/ares/attack/detection/trainer.html create mode 100644 docs/_modules/ares/attack/detection/utils.html create mode 100644 docs/_modules/ares/attack/di_fgsm.html create mode 100644 docs/_modules/ares/attack/evolutionary.html create mode 100644 docs/_modules/ares/attack/fgsm.html create mode 100644 docs/_modules/ares/attack/mim.html create mode 100644 docs/_modules/ares/attack/nattack.html create mode 100644 docs/_modules/ares/attack/nes.html create mode 100644 docs/_modules/ares/attack/si_ni_fgsm.html create mode 100644 docs/_modules/ares/attack/spsa.html create mode 100644 docs/_modules/ares/attack/tim.html create mode 100644 docs/_modules/ares/attack/tta.html create mode 100644 docs/_modules/ares/attack/vmi_fgsm.html create mode 100644 docs/_modules/ares/dataset/cifar_dataset.html create mode 100644 docs/_modules/ares/dataset/imagenet_dataset.html create mode 100644 docs/_modules/ares/defense/bit_depth_reduction.html create mode 100644 docs/_modules/ares/defense/jpeg_compression.html create mode 100644 docs/_modules/ares/defense/randomization.html create mode 100644 docs/_modules/ares/model/cifar10_cls.html create mode 100644 docs/_modules/ares/model/imagenet_cls.html create mode 100644 docs/_modules/ares/model/preact_resnet.html create mode 100644 docs/_modules/ares/model/resnet.html create mode 100644 docs/_modules/ares/model/resnet_denoise.html create mode 100644 docs/_modules/ares/model/vit_mae.html create mode 100644 docs/_modules/ares/model/wideresnet.html create mode 100644 docs/_modules/ares/utils/adv.html create mode 100644 docs/_modules/ares/utils/dataset.html create mode 100644 docs/_modules/ares/utils/dist.html create mode 100644 docs/_modules/ares/utils/logger.html create mode 100644 docs/_modules/ares/utils/loss.html create mode 100644 docs/_modules/ares/utils/metrics.html create mode 100644 docs/_modules/ares/utils/model.html create mode 100644 docs/_modules/ares/utils/registry.html create mode 100644 docs/_modules/index.html create mode 100644 docs/_sources/api/ares.attack.rst.txt create mode 100644 docs/_sources/api/ares.dataset.rst.txt create mode 100644 docs/_sources/api/ares.defense.rst.txt create mode 100644 docs/_sources/api/ares.detection.rst.txt create mode 100644 docs/_sources/api/ares.model.rst.txt create mode 100644 docs/_sources/api/ares.utils.rst.txt create mode 100644 docs/_sources/index.rst.txt create mode 100644 docs/_sources/tutorial/attack_classification.rst.txt create mode 100644 docs/_sources/tutorial/attack_detection.rst.txt create mode 100644 docs/_sources/tutorial/robust_training.rst.txt create mode 100644 docs/_static/_sphinx_javascript_frameworks_compat.js create mode 100644 docs/_static/basic.css create mode 100644 docs/_static/css/badge_only.css create mode 100644 docs/_static/css/fonts/Roboto-Slab-Bold.woff create mode 100644 docs/_static/css/fonts/Roboto-Slab-Bold.woff2 create mode 100644 docs/_static/css/fonts/Roboto-Slab-Regular.woff create mode 100644 docs/_static/css/fonts/Roboto-Slab-Regular.woff2 create mode 100644 docs/_static/css/fonts/fontawesome-webfont.eot create mode 100644 docs/_static/css/fonts/fontawesome-webfont.svg create mode 100644 docs/_static/css/fonts/fontawesome-webfont.ttf create mode 100644 docs/_static/css/fonts/fontawesome-webfont.woff create mode 100644 docs/_static/css/fonts/fontawesome-webfont.woff2 create mode 100644 docs/_static/css/fonts/lato-bold-italic.woff create mode 100644 docs/_static/css/fonts/lato-bold-italic.woff2 create mode 100644 docs/_static/css/fonts/lato-bold.woff create mode 100644 docs/_static/css/fonts/lato-bold.woff2 create mode 100644 docs/_static/css/fonts/lato-normal-italic.woff create mode 100644 docs/_static/css/fonts/lato-normal-italic.woff2 create mode 100644 docs/_static/css/fonts/lato-normal.woff create mode 100644 docs/_static/css/fonts/lato-normal.woff2 create mode 100644 docs/_static/css/theme.css create mode 100644 docs/_static/doctools.js create mode 100644 docs/_static/documentation_options.js create mode 100644 docs/_static/file.png create mode 100644 docs/_static/jquery-3.6.0.js create mode 100644 docs/_static/jquery.js create mode 100644 docs/_static/js/badge_only.js create mode 100644 docs/_static/js/html5shiv-printshiv.min.js create mode 100644 docs/_static/js/html5shiv.min.js create mode 100644 docs/_static/js/theme.js create mode 100644 docs/_static/language_data.js create mode 100644 docs/_static/minus.png create mode 100644 docs/_static/plus.png create mode 100644 docs/_static/pygments.css create mode 100644 docs/_static/searchtools.js create mode 100644 docs/_static/underscore-1.13.1.js create mode 100644 docs/_static/underscore.js create mode 100644 docs/api/ares.attack.html create mode 100644 docs/api/ares.dataset.html create mode 100644 docs/api/ares.defense.html create mode 100644 docs/api/ares.detection.html create mode 100644 docs/api/ares.model.html create mode 100644 docs/api/ares.utils.html create mode 100644 docs/genindex.html create mode 100644 docs/index.html create mode 100644 docs/objects.inv create mode 100644 docs/py-modindex.html create mode 100644 docs/search.html create mode 100644 docs/searchindex.js create mode 100644 docs/tutorial/attack_classification.html create mode 100644 docs/tutorial/attack_detection.html create mode 100644 docs/tutorial/robust_training.html diff --git a/docs/.buildinfo b/docs/.buildinfo new file mode 100644 index 0000000..52820ca --- /dev/null +++ b/docs/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 53c2bb3aab348af15e0259e3f9235d6b +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/docs/_modules/ares/attack/autoattack/autoattack.html b/docs/_modules/ares/attack/autoattack/autoattack.html new file mode 100644 index 0000000000000000000000000000000000000000..94fab8f2b75d9342e75681c6b5a0749b27e60e7d GIT binary patch literal 77695 zcmeIufdBvi0K=g9Q(xf#g-~I@fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r y3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*$G`wDjsO7w literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/bim.html b/docs/_modules/ares/attack/bim.html new file mode 100644 index 0000000000000000000000000000000000000000..a508b62ea7101cee3ed614635b51df8cbc994622 GIT binary patch literal 32714 zcmeIu0Sy2E0K%a6Pi+qe5hx58Fkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 JV8FoBzyN>B00961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/boundary.html b/docs/_modules/ares/attack/boundary.html new file mode 100644 index 0000000000000000000000000000000000000000..e26ee001b9fc1d9c63f4671d97c9e99018b6bd75 GIT binary patch literal 32054 zcmeIuF#!Mo0K%a4Pi+Wah(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd GfoEWSHUI$t literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/cw.html b/docs/_modules/ares/attack/cw.html new file mode 100644 index 0000000000000000000000000000000000000000..124030a29f52d9f74a5ad99df4851b593947718e GIT binary patch literal 37888 zcmeIu0Sy2E0K%a6Pi+qe5hx58Fkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 fV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r4EzoZlmGw$ literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/deepfool.html b/docs/_modules/ares/attack/deepfool.html new file mode 100644 index 0000000000000000000000000000000000000000..544188d2ed31edc839deda813198558f9a86b238 GIT binary patch literal 26247 zcmeIu0Sy2E0K%a6Pi+o2h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* h1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^%?0|RD<00961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/detection/attacker.html b/docs/_modules/ares/attack/detection/attacker.html new file mode 100644 index 0000000000000000000000000000000000000000..96edfb46549e66ddcaf8fdebd90b01ef6482e081 GIT binary patch literal 72669 zcmeIu0Sy2E0K%a6Pi+o2h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r b3>YwAz<>b*1`HT5V8DO@0|pEjFmN+48|(l9 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/detection/custom/coco_dataset.html b/docs/_modules/ares/attack/detection/custom/coco_dataset.html new file mode 100644 index 0000000000000000000000000000000000000000..818d62f30c4e653dde275986695335312d18edc3 GIT binary patch literal 55788 zcmeIuF#!Mo0K%a4Pi+Tph(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj G_y-2r>;M4( literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/detection/custom/coco_metric.html b/docs/_modules/ares/attack/detection/custom/coco_metric.html new file mode 100644 index 0000000000000000000000000000000000000000..15375ae832e385a650e7aee70e63559ee18e6943 GIT binary patch literal 83332 zcmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* U1`HT5V8DO@0|pEjFks+&U`3Mv0RR91 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/detection/custom/detector.html b/docs/_modules/ares/attack/detection/custom/detector.html new file mode 100644 index 0000000000000000000000000000000000000000..39e3a1368108059e1d774e45b5968db13ebf8992 GIT binary patch literal 14531 zcmeIuF#!Mo0K%a4Pi+ZLh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM i7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjxDO0C!vFyQ literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/detection/custom/lr_scheduler.html b/docs/_modules/ares/attack/detection/custom/lr_scheduler.html new file mode 100644 index 0000000000000000000000000000000000000000..13f2b6d537920f1db4990b58afce2f26858ba0e7 GIT binary patch literal 36111 zcmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ X0|pEjFkrxd0RsjM7%*VK!0EsMjSm0; literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/detection/patch/patch_applier.html b/docs/_modules/ares/attack/detection/patch/patch_applier.html new file mode 100644 index 0000000000000000000000000000000000000000..0ee52a6c3fc9b9c936f26ff2ea4c3a8d04a382ce GIT binary patch literal 23998 zcmeIufdBvi0Dz$VsTV1P3IhfV7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA Vz<>b*1`HT5V8DO@0|pEjr~zHR00961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/detection/patch/patch_transform.html b/docs/_modules/ares/attack/detection/patch/patch_transform.html new file mode 100644 index 0000000000000000000000000000000000000000..2cb6d701a77aadd826c601e20c237f5cfe9abd69 GIT binary patch literal 68593 zcmeIu0Sy2E0K%a6Pi+qe5hx58Fkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd J0RslE2L=oP00961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/detection/trainer.html b/docs/_modules/ares/attack/detection/trainer.html new file mode 100644 index 0000000000000000000000000000000000000000..939b266b32fd9d2e1c3ef1983b4922c82584893e GIT binary patch literal 56407 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj IFks+*VBA*#0RR91 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/detection/utils.html b/docs/_modules/ares/attack/detection/utils.html new file mode 100644 index 0000000000000000000000000000000000000000..2e4f19144b35632b719fb4e5a1fd22688b869d1a GIT binary patch literal 43183 zcmeIuF#!Mo0K%a4Pi+c6h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r44elB DsILG4 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/di_fgsm.html b/docs/_modules/ares/attack/di_fgsm.html new file mode 100644 index 0000000000000000000000000000000000000000..e465f84c82b7b2d5070fcdce98f4d06b70b95b4c GIT binary patch literal 50151 zcmeIuF#!Mo0K%a4Pi+c6h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA hz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VqJ}|@Q00961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/evolutionary.html b/docs/_modules/ares/attack/evolutionary.html new file mode 100644 index 0000000000000000000000000000000000000000..6ee9ac7e9d0cc989fefa94b10685137fded1195a GIT binary patch literal 31303 zcmeIuF#!Mo0K%a4Pi+c6h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFmMYwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*22KYCcjW*9 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/mim.html b/docs/_modules/ares/attack/mim.html new file mode 100644 index 0000000000000000000000000000000000000000..72c997b84e2278356dc2a5ea4482983af60c07af GIT binary patch literal 37431 zcmeIufdBvi0K=g9Q(xc+g-~I@fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd e0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5a0UjFHvjYwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwQ FG%%{)00961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/nes.html b/docs/_modules/ares/attack/nes.html new file mode 100644 index 0000000000000000000000000000000000000000..1b177feb5c23087a5756071aa197357a769f7002 GIT binary patch literal 42141 zcmeIuF#!Mo0K%a4Pi+c6h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd y0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKz-3^hod5v< literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/si_ni_fgsm.html b/docs/_modules/ares/attack/si_ni_fgsm.html new file mode 100644 index 0000000000000000000000000000000000000000..c2dadb44b9f1f2c41badc8f96323f0db03275dfc GIT binary patch literal 39692 zcmeIu0Sy2E0K%a6Pi+qe5hx58Fkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 nV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*23`jSn+yN} literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/spsa.html b/docs/_modules/ares/attack/spsa.html new file mode 100644 index 0000000000000000000000000000000000000000..8b9de3a9dbb72b154b1dd1a76a166adc229ed00a GIT binary patch literal 44926 zcmeIufdBvi0K=g9Qy<|1g-~I@fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA Lz<>b*2HwB`uYLdl literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/tim.html b/docs/_modules/ares/attack/tim.html new file mode 100644 index 0000000000000000000000000000000000000000..9f78448ffb12e500d48dbadc4fcbe1d76bec9e6d GIT binary patch literal 61960 zcmeIufdBvi0K=g9Q(xf#g-~I@fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj hFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HVZ1_ts700961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/tta.html b/docs/_modules/ares/attack/tta.html new file mode 100644 index 0000000000000000000000000000000000000000..b572348fe87773a9536175d1ff5d1a84296e2d16 GIT binary patch literal 44335 zcmeIu0Sy2E0K%a6Pi+qe5hx58Fkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM H7&sjmtuFup literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/attack/vmi_fgsm.html b/docs/_modules/ares/attack/vmi_fgsm.html new file mode 100644 index 0000000000000000000000000000000000000000..b1a72b50fd6e1d79bfcd4254f17251ea74c9a849 GIT binary patch literal 47866 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA Xz<>b*1`HT5V8DO@0|pEjFz_)jy7~YC literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/dataset/cifar_dataset.html b/docs/_modules/ares/dataset/cifar_dataset.html new file mode 100644 index 0000000000000000000000000000000000000000..5e87255982a6ba1fb06741485fc0f21fad9b57bf GIT binary patch literal 7897 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0Rsk( F2L>M500961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/dataset/imagenet_dataset.html b/docs/_modules/ares/dataset/imagenet_dataset.html new file mode 100644 index 0000000000000000000000000000000000000000..d9783b2f97aee238c42390303126b74b5ca6db76 GIT binary patch literal 11505 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM V7%*VKfB^#r3>YwAz<`0%fdMS>00961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/defense/bit_depth_reduction.html b/docs/_modules/ares/defense/bit_depth_reduction.html new file mode 100644 index 0000000000000000000000000000000000000000..2e30fb45c7ab63670d223026e825cfdd4fd6920c GIT binary patch literal 9512 zcmeIu0Sy2E0K%a6Pi+qe5hx58Fkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ L0|pEjFz`JvB`5#^ literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/defense/jpeg_compression.html b/docs/_modules/ares/defense/jpeg_compression.html new file mode 100644 index 0000000000000000000000000000000000000000..dc72150013f3bdddf97eb20c8eb4c7ce7942a7c3 GIT binary patch literal 10697 zcmeIuF#!Mo0K%a4Pi+hzh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM R7%*VKfB^#r3>YwQ85k+a00961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/defense/randomization.html b/docs/_modules/ares/defense/randomization.html new file mode 100644 index 0000000000000000000000000000000000000000..f00789682074115d8393e5d7b8240db9e5457ec1 GIT binary patch literal 16122 zcmeIuF#!Mo0K%a4Pi+hzh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM p7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0Rsk}0|P$#00961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/model/cifar10_cls.html b/docs/_modules/ares/model/cifar10_cls.html new file mode 100644 index 0000000000000000000000000000000000000000..60df69eab14bf5716d79e3fc7a37d94936a355b1 GIT binary patch literal 19058 zcmeIu0Sy2E0K%a6Pi+qe5hx58Fkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RslU2L?)V B00961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/model/imagenet_cls.html b/docs/_modules/ares/model/imagenet_cls.html new file mode 100644 index 0000000000000000000000000000000000000000..51de9d68f93be78d63d87904fd807bb2382e9e14 GIT binary patch literal 18698 zcmeIuF#!Mo0K%a4Pi+hzh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>bI~3`q(A A0RR91 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/model/preact_resnet.html b/docs/_modules/ares/model/preact_resnet.html new file mode 100644 index 0000000000000000000000000000000000000000..c8594dae68e7116b0d111b0740c2799edd864711 GIT binary patch literal 30270 zcmeIuF#!Mo0K%a4Pi+ZLh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@1OI^mc0K?B literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/model/resnet.html b/docs/_modules/ares/model/resnet.html new file mode 100644 index 0000000000000000000000000000000000000000..36343dd4de2d4ba69f09b8fe8282e30e084539f1 GIT binary patch literal 74242 zcmeIu0Sy2E0K%a6Pi+o2h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r i3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM{0|Hw5dZ-I literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/model/resnet_denoise.html b/docs/_modules/ares/model/resnet_denoise.html new file mode 100644 index 0000000000000000000000000000000000000000..cd236cd561511fe80151d9c4ed16c6ecb8e5d788 GIT binary patch literal 47398 zcmeIu0Sy2E0K%a6Pi+o2h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA Vz<>b*1`HT5V8DO@0|pFy4h*>_00961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/model/vit_mae.html b/docs/_modules/ares/model/vit_mae.html new file mode 100644 index 0000000000000000000000000000000000000000..ca185a59b8708bfbf91669b1c435eb8610d5d90e GIT binary patch literal 15981 zcmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj nFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@19t-hK5YO2 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/model/wideresnet.html b/docs/_modules/ares/model/wideresnet.html new file mode 100644 index 0000000000000000000000000000000000000000..bd2e2b9ee21262f9cfa28d6700aa30e1fb177e50 GIT binary patch literal 36069 zcmeIu0Sy2E0K%a6Pi+qe5hx58Fkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 XV8DO@0|pEjFkrxd0RsjM7`Pf3jO73U literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/utils/adv.html b/docs/_modules/ares/utils/adv.html new file mode 100644 index 0000000000000000000000000000000000000000..83815de564741e06696482bfd0ecdda0b1f84c1d GIT binary patch literal 54770 zcmeIuF#!Mo0K%a4Pi+ZLh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DQZ*T4YP C@&Ew< literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/utils/dataset.html b/docs/_modules/ares/utils/dataset.html new file mode 100644 index 0000000000000000000000000000000000000000..518903d736f5ad730ac2d2ca4cc53f5f0431decc GIT binary patch literal 21318 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* L1`HT5VBmdVQ$_#* literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/utils/dist.html b/docs/_modules/ares/utils/dist.html new file mode 100644 index 0000000000000000000000000000000000000000..3fcb5f4947c416c86d32a7ecfabbf8de95afe7db GIT binary patch literal 12784 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM a7%*VKfB^#r3>YwAz<>b*1`HT5@H8+n@Bje- literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/utils/logger.html b/docs/_modules/ares/utils/logger.html new file mode 100644 index 0000000000000000000000000000000000000000..135f5efa1c263d3ecb8d9f3ee0d4528a2f89b513 GIT binary patch literal 15465 zcmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj lFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8FoLzyLgH00961 literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/utils/loss.html b/docs/_modules/ares/utils/loss.html new file mode 100644 index 0000000000000000000000000000000000000000..d7b88a267967b4100dd428984a76d3b231a791ac GIT binary patch literal 26723 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* j1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>*#&Xk!2Y literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/utils/metrics.html b/docs/_modules/ares/utils/metrics.html new file mode 100644 index 0000000000000000000000000000000000000000..86069deb0d6d5262a9a92fc9b4823ed9ab959fc4 GIT binary patch literal 11327 zcmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj TFkrxd0RsjM7%*VKz{$V>EI$AN literal 0 HcmV?d00001 diff --git a/docs/_modules/ares/utils/model.html b/docs/_modules/ares/utils/model.html new file mode 100644 index 0000000000000000000000000000000000000000..be65445f312ef0e81a497aaa6087fae2805542ec GIT binary patch literal 52723 zcmeIuF#!Mo0K%a4Pi+c6h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA tz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<`0YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd HfzQAIeP93q literal 0 HcmV?d00001 diff --git a/docs/_modules/index.html b/docs/_modules/index.html new file mode 100644 index 0000000000000000000000000000000000000000..697e75b3e7cd2311e6427bb0cf45f9fd6b2849d4 GIT binary patch literal 8260 zcmeIufdBvi0Dz$VsTV1P3IhfV7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrwy E4Io4S0RR91 literal 0 HcmV?d00001 diff --git a/docs/_sources/api/ares.attack.rst.txt b/docs/_sources/api/ares.attack.rst.txt new file mode 100644 index 0000000000000000000000000000000000000000..813f4942fc41bd22bcacb7e9b9d62993ac56f469 GIT binary patch literal 1780 acmZQz7zLvtFd71*Aut*OqaiRdLI3~;^Z)?> literal 0 HcmV?d00001 diff --git a/docs/_sources/api/ares.dataset.rst.txt b/docs/_sources/api/ares.dataset.rst.txt new file mode 100644 index 0000000000000000000000000000000000000000..a8e4fbddb059d1b05c6e3a6efffe24962c9fcc08 GIT binary patch literal 243 LcmZQz7;yjq0P_F= literal 0 HcmV?d00001 diff --git a/docs/_sources/api/ares.defense.rst.txt b/docs/_sources/api/ares.defense.rst.txt new file mode 100644 index 0000000000000000000000000000000000000000..bfbc56151b8a1b6bcc3e24cd2e85a0ad38b0e4d8 GIT binary patch literal 349 NcmZQz7zH#70RRDA00961 literal 0 HcmV?d00001 diff --git a/docs/_sources/api/ares.detection.rst.txt b/docs/_sources/api/ares.detection.rst.txt new file mode 100644 index 0000000000000000000000000000000000000000..642021570e5b107a3268e447c7ddfb5f8aded1ed GIT binary patch literal 1322 XcmZQz7zLvtFd71*Aut*O_(K2y1u6gm literal 0 HcmV?d00001 diff --git a/docs/_sources/api/ares.model.rst.txt b/docs/_sources/api/ares.model.rst.txt new file mode 100644 index 0000000000000000000000000000000000000000..4a1d05e3e272042dcca9996728dc50dcab06959b GIT binary patch literal 693 QcmZQz7zLvtFvLOt00OlD0RR91 literal 0 HcmV?d00001 diff --git a/docs/_sources/api/ares.utils.rst.txt b/docs/_sources/api/ares.utils.rst.txt new file mode 100644 index 0000000000000000000000000000000000000000..2530653fd9350854a08e87f1e65ef6ea7234f92b GIT binary patch literal 1184 VcmZQz7zLvtFd71*Auu>Y000D_00961 literal 0 HcmV?d00001 diff --git a/docs/_sources/index.rst.txt b/docs/_sources/index.rst.txt new file mode 100644 index 0000000000000000000000000000000000000000..874796897e051b0e291dceaa8c3582f1ec37d140 GIT binary patch literal 948 ScmZQz7zLvtFd70wDFgrmv;YAB literal 0 HcmV?d00001 diff --git a/docs/_sources/tutorial/attack_classification.rst.txt b/docs/_sources/tutorial/attack_classification.rst.txt new file mode 100644 index 0000000000000000000000000000000000000000..d1a66e0be63a8b44e91dff4bc1cb4ee67538a502 GIT binary patch literal 1855 ccmZQz7zLvtFd71*Aut*OqaiRF0wjh200%z+0RR91 literal 0 HcmV?d00001 diff --git a/docs/_sources/tutorial/attack_detection.rst.txt b/docs/_sources/tutorial/attack_detection.rst.txt new file mode 100644 index 0000000000000000000000000000000000000000..deba0dda648f15b2ab9e4173d4d02ebe4b3427a0 GIT binary patch literal 3333 kcmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfPtfd0SyHJ0RR91 literal 0 HcmV?d00001 diff --git a/docs/_sources/tutorial/robust_training.rst.txt b/docs/_sources/tutorial/robust_training.rst.txt new file mode 100644 index 0000000000000000000000000000000000000000..785693b69290c5dd3d377d712e378c6f1f7de237 GIT binary patch literal 1394 XcmZQz7zLvtFd71*Aut*O^a%j~1#$oZ literal 0 HcmV?d00001 diff --git a/docs/_static/_sphinx_javascript_frameworks_compat.js b/docs/_static/_sphinx_javascript_frameworks_compat.js new file mode 100644 index 0000000000000000000000000000000000000000..e3dde3c56df65f8a5dff25cdde9b48d7af18c706 GIT binary patch literal 4418 qcmeIufdBvi0K=g9Q{UhOg-~I@fB^#r3>YwAz<>b*1`HT5@CODFLI42( literal 0 HcmV?d00001 diff --git a/docs/_static/basic.css b/docs/_static/basic.css new file mode 100644 index 0000000000000000000000000000000000000000..99003f79a69948c8a81abd1ff95abef0606b2fb3 GIT binary patch literal 16157 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM p7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0Rslk2L?YK00961 literal 0 HcmV?d00001 diff --git a/docs/_static/css/badge_only.css b/docs/_static/css/badge_only.css new file mode 100644 index 0000000000000000000000000000000000000000..6d325be47ad2bfdda96e55613b4b889bf544fc70 GIT binary patch literal 3229 lcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<_~+fdLGi00961 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/Roboto-Slab-Bold.woff b/docs/_static/css/fonts/Roboto-Slab-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..9a36e3e9fb4bde52cc856a697f849824728528d3 GIT binary patch literal 87624 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ p0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8FopzyMZP00961 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/Roboto-Slab-Bold.woff2 b/docs/_static/css/fonts/Roboto-Slab-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..813e386d7a5f225142bd6c8b169becdc94a2ec75 GIT binary patch literal 67312 zcmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxdfscU! D2LAv7 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/Roboto-Slab-Regular.woff b/docs/_static/css/fonts/Roboto-Slab-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..d0c25fc8c9ac816ace1d7037066baf50fdd01021 GIT binary patch literal 86288 zcmeIuF#!Mo0K%a4Pi+e?h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ j0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*2L1yBQ6B&S literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/Roboto-Slab-Regular.woff2 b/docs/_static/css/fonts/Roboto-Slab-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..834e7bfcb7c223da43faa2c7ce9149ea568b9ab4 GIT binary patch literal 66444 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%=cMFaw(a A0RR91 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/fontawesome-webfont.eot b/docs/_static/css/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..c1d48b7aa4ff506edf5916053aff157217d00a15 GIT binary patch literal 165742 zcmeIuF#!Mo0K%a4Pi+e?h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj RFkrxd0RsjM7%*VqH86*a00961 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/fontawesome-webfont.svg b/docs/_static/css/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000000000000000000000000000000000000..d677110aa817d145cc82d7169c058e3edc56b65a GIT binary patch literal 444379 zcmeIuF#!Mo0K%a4Pi+e?h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM k7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFks*^Fvv9k0RR91 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/fontawesome-webfont.ttf b/docs/_static/css/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..590faa9b148ce51235dda9b828eb66885dafa998 GIT binary patch literal 165548 zcmeIu0Sy2E0K%a6Pi+o2h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj QFkrxd0RsjM7%=cMFowzi0RR91 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/fontawesome-webfont.woff b/docs/_static/css/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..eb952d4ff2fd13deb9f930132433197951fa2c1c GIT binary patch literal 98024 zcmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd h0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8FoJzyN;t00961 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/fontawesome-webfont.woff2 b/docs/_static/css/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c27965d4145714c856b452d6b1db54676ab1a2a0 GIT binary patch literal 77160 zcmeIuF#!Mo0K%a4Pwj68h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r v3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz`zd-Eq4F` literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/lato-bold-italic.woff b/docs/_static/css/fonts/lato-bold-italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..3d9af5d396ed81262e1af01432e9b87b3b3d83b5 GIT binary patch literal 323344 zcmeIuF#!Mo0K%a4Pi+ZLh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 dV8DO@0|pEjFkrxd0RsjM7%*VKfB^%KfdTJK00961 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/lato-bold-italic.woff2 b/docs/_static/css/fonts/lato-bold-italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..99c8d539d04657e6e869675f1b86200b4abdb9d7 GIT binary patch literal 193308 zcmeIuF#!Mo0K%a4Pi+Wah(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ i0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*@4x`_IsgFx literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/lato-bold.woff b/docs/_static/css/fonts/lato-bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..b1ae473a015aabcdb6b4f13d84cdc86ebfbbf283 GIT binary patch literal 309728 zcmeIuF#!Mo0K%a4Pi+hzh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK VfB^#r3>YwAz<>b*1`HVZ4h*^+00961 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/lato-bold.woff2 b/docs/_static/css/fonts/lato-bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..842be4972bbcbe80e9850576b00261c67700f41b GIT binary patch literal 184912 zcmeIu0Sy2E0K%a6Pi+o2h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r x3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<`0zfdSHP00961 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/lato-normal-italic.woff b/docs/_static/css/fonts/lato-normal-italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..d44ff8fdf5decc43d98147a50baac70321af8e3f GIT binary patch literal 328412 zcmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA xz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HVZ85jd600961 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/lato-normal-italic.woff2 b/docs/_static/css/fonts/lato-normal-italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..14d83a968800db9808f4268f42894abab093fe6b GIT binary patch literal 195704 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ s0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|tHu2K<%)0RR91 literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/lato-normal.woff b/docs/_static/css/fonts/lato-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..5f395c8eb80c24216fe999964d379a7f8a237469 GIT binary patch literal 309192 zcmeIuF#!Mo0K%a4Pi+e?h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK TfB^#r3>YwAz<>b*27UtrxC8(J literal 0 HcmV?d00001 diff --git a/docs/_static/css/fonts/lato-normal.woff2 b/docs/_static/css/fonts/lato-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d914ff86433290a8fbf346d6c301bb333c31c9fd GIT binary patch literal 182708 zcmeIufdBvi0K=g9Q(xf#g-~I@fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r n3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfPsHt$YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* p1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<`0*zyJ`i00961 literal 0 HcmV?d00001 diff --git a/docs/_static/doctools.js b/docs/_static/doctools.js new file mode 100644 index 0000000000000000000000000000000000000000..3fe9231b04192f71e537f701db60db87c75197ec GIT binary patch literal 8171 zcmeIu0Sy2E0K%a6Pi+o2h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM G91RQ~>i_`& literal 0 HcmV?d00001 diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js new file mode 100644 index 0000000000000000000000000000000000000000..3d12cbbe22f83bcf014b907ff40fa0cd5248a46c GIT binary patch literal 432 NcmZQz7zINq1ONfB00961 literal 0 HcmV?d00001 diff --git a/docs/_static/file.png b/docs/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..c1291c683c08b5d551783ecd25eba5f4034fdebc GIT binary patch literal 286 NcmZQz7zMaP0003V00961 literal 0 HcmV?d00001 diff --git a/docs/_static/jquery-3.6.0.js b/docs/_static/jquery-3.6.0.js new file mode 100644 index 0000000000000000000000000000000000000000..df613ba07af6e4339cdb1ddde194691b88e5c84e GIT binary patch literal 288580 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r h3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0Rsj;1_oz<00961 literal 0 HcmV?d00001 diff --git a/docs/_static/jquery.js b/docs/_static/jquery.js new file mode 100644 index 0000000000000000000000000000000000000000..a28c28d52c527f24ad636c2cb1c08f00d0230cbf GIT binary patch literal 89501 zcmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* v1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5VBln6U912B literal 0 HcmV?d00001 diff --git a/docs/_static/js/badge_only.js b/docs/_static/js/badge_only.js new file mode 100644 index 0000000000000000000000000000000000000000..27f99967b24d215306c72110940593904a67256f GIT binary patch literal 934 ScmZQz7zLvtFd71bI|Kj&rT_r| literal 0 HcmV?d00001 diff --git a/docs/_static/js/html5shiv-printshiv.min.js b/docs/_static/js/html5shiv-printshiv.min.js new file mode 100644 index 0000000000000000000000000000000000000000..ad15f99d051edd2cd6fc8c4d645c44544eae8133 GIT binary patch literal 4370 ocmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfB^#r3>bJD7!eWx0RR91 literal 0 HcmV?d00001 diff --git a/docs/_static/js/html5shiv.min.js b/docs/_static/js/html5shiv.min.js new file mode 100644 index 0000000000000000000000000000000000000000..060140bb4a8ec094af5810a262caa96adb88f594 GIT binary patch literal 2734 icmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwA;B{aMt^ff5 literal 0 HcmV?d00001 diff --git a/docs/_static/js/theme.js b/docs/_static/js/theme.js new file mode 100644 index 0000000000000000000000000000000000000000..506ecd7434ccdafbd8c7a31d083f7ba086252b5f GIT binary patch literal 5023 scmeIuF#!Mo0K%a4Pi+hzh(KY$fB^#r3>YwAz<>b*1`HT5V8Fm>U=yDJ0RR91 literal 0 HcmV?d00001 diff --git a/docs/_static/language_data.js b/docs/_static/language_data.js new file mode 100644 index 0000000000000000000000000000000000000000..dbe30cc231d08e19fd320225e8205fd3a8b08b72 GIT binary patch literal 4957 scmeIuF#!Mo0K%a4Pi+Tph(KY$fB^#r3>YwAz<>b*1`HT5V8FmNFcVz>0RR91 literal 0 HcmV?d00001 diff --git a/docs/_static/minus.png b/docs/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..556e2291bc49a9acb2f3cbadddc9d24e987d51b0 GIT binary patch literal 90 LcmZQzpcMcB09pV6 literal 0 HcmV?d00001 diff --git a/docs/_static/plus.png b/docs/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..556e2291bc49a9acb2f3cbadddc9d24e987d51b0 GIT binary patch literal 90 LcmZQzpcMcB09pV6 literal 0 HcmV?d00001 diff --git a/docs/_static/pygments.css b/docs/_static/pygments.css new file mode 100644 index 0000000000000000000000000000000000000000..7839680dbe1463a2794298ee114a584d015cdbc9 GIT binary patch literal 4892 qcmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfB^#r3>YwA;B#OT8~_0T literal 0 HcmV?d00001 diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js new file mode 100644 index 0000000000000000000000000000000000000000..5b2341cc23d264af4d11fac912a0941c54a36bad GIT binary patch literal 17088 zcmeIuF#!Mo0K%a4Pi+Tph(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM t7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*Vq9~eTw00961 literal 0 HcmV?d00001 diff --git a/docs/_static/underscore-1.13.1.js b/docs/_static/underscore-1.13.1.js new file mode 100644 index 0000000000000000000000000000000000000000..da3933e89809f2d37f9ecfdec785b16bdbdb64fe GIT binary patch literal 68420 zcmeIuF#!Mo0K%a4Pi+Q&h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r J3>Yx*4h#!Z00961 literal 0 HcmV?d00001 diff --git a/docs/_static/underscore.js b/docs/_static/underscore.js new file mode 100644 index 0000000000000000000000000000000000000000..e1d5e4576d1a62b0b2cf66ddcd11bc80b0fcc6b4 GIT binary patch literal 19530 zcmeIu0Sy2E0K%a6Pi+o2h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz`) + + + + + + ares.attack package — ARES 2.0 documentation + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

ares.attack package

+
+

ares.attack.base module

+
+
+class ares.attack.fgsm.FGSM(model, device='cuda', norm=inf, eps=0.01568627450980392, loss='ce', target=False)[source]
+

Bases: object

+

Fast Gradient Sign Method (FGSM). A white-box single-step constraint-based method.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('fgsm')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=inf, eps=0.01568627450980392, loss='ce', target=False)[source]
+

The initialize function for FGSM.

+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to np.inf.

  • +
  • eps (float) – The maximum perturbation range epsilon.

  • +
  • loss (str) – The loss function.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
+
+
+
+ +
+
+attack_detection_forward(batch_data, excluded_losses, scale_factor=255.0, object_vanish_only=False)[source]
+

This function is used to attack object detection models.

+
+
Parameters:
+
    +
  • batch_data (dict) – {‘inputs’: torch.Tensor with shape [N,C,H,W] and value range [0, 1], ‘data_samples’: list of mmdet.structures.DetDataSample}.

  • +
  • excluded_losses (list) – List of losses not used to compute the attack loss.

  • +
  • scale_factor (float) – Factor used to scale adv images.

  • +
  • object_vanish_only (bool) – When True, just make objects vanish only.

  • +
+
+
Returns:
+

Adversarial images with value range [0,1].

+
+
Return type:
+

torch.Tensor

+
+
+
+ +
+ +
+
+class ares.attack.bim.BIM(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, target=False, loss='ce')[source]
+

Bases: object

+

Basic Iterative Method (BIM). A white-box iterative constraint-based method. Require a differentiable loss function.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('bim')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, target=False, loss='ce')[source]
+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to np.inf. It is selected from [1, 2, np.inf].

  • +
  • eps (float) – The maximum perturbation range epsilon.

  • +
  • stepsize (float) – The step size for each attack iteration. Defaults to 1/255.

  • +
  • steps (int) – The attack steps. Defaults to 20.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
  • loss (str) – The loss function. Defaults to ‘ce’.

  • +
+
+
+
+ +
+
+attack_detection_forward(batch_data, excluded_losses, scale_factor=255.0, object_vanish_only=False)[source]
+

This function is used to attack object detection models.

+
+
Parameters:
+
    +
  • batch_data (dict) – {‘inputs’: torch.Tensor with shape [N,C,H,W] and value range [0, 1], ‘data_samples’: list of mmdet.structures.DetDataSample}.

  • +
  • excluded_losses (list) – List of losses not used to compute the attack loss.

  • +
  • scale_factor (float) – Factor used to scale adv images.

  • +
  • object_vanish_only (bool) – When True, just make objects vanish only.

  • +
+
+
Returns:
+

Adversarial images with value range [0,1].

+
+
Return type:
+

torch.Tensor

+
+
+
+ +
+ +
+
+class ares.attack.mim.MIM(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, decay_factor=1.0, target=False, loss='ce')[source]
+

Bases: object

+

Momentum Iterative Method (MIM). A white-box iterative constraint-based method.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('mim')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, decay_factor=1.0, target=False, loss='ce')[source]
+

The initialize function for MIM.

+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to np.inf.

  • +
  • eps (float) – The maximum perturbation range epsilon.

  • +
  • stepsize (float) – The step size for each attack iteration. Defaults to 1/255.

  • +
  • steps (int) – The attack steps. Defaults to 20.

  • +
  • decay_factor (float) – The decay factor. Defaults to 1.0.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
  • loss (str) – The loss function. Defaults to ‘ce’.

  • +
+
+
+
+ +
+
+attack_detection_forward(batch_data, excluded_losses, scale_factor=255.0, object_vanish_only=False)[source]
+

This function is used to attack object detection models.

+
+
Parameters:
+
    +
  • batch_data (dict) – {‘inputs’: torch.Tensor with shape [N,C,H,W] and value range [0, 1], ‘data_samples’: list of mmdet.structures.DetDataSample}.

  • +
  • excluded_losses (list) – List of losses not used to compute the attack loss.

  • +
  • scale_factor (float) – Factor used to scale adv images.

  • +
  • object_vanish_only (bool) – When True, just make objects vanish only.

  • +
+
+
Returns:
+

Adversarial images with value range [0,1].

+
+
Return type:
+

torch.Tensor

+
+
+
+ +
+ +
+
+class ares.attack.tim.TIFGSM(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, kernel_name='gaussian', len_kernel=15, nsig=3, decay_factor=1.0, resize_rate=0.85, diversity_prob=0.7, loss='ce', target=False)[source]
+

Bases: object

+

Translation invariant attacks.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('tim')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, kernel_name='gaussian', len_kernel=15, nsig=3, decay_factor=1.0, resize_rate=0.85, diversity_prob=0.7, loss='ce', target=False)[source]
+

The initialize function for TIFGSM.

+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to np.inf.

  • +
  • eps (float) – The maximum perturbation range epsilon.

  • +
  • stepsize (float) – The attack range for each step.

  • +
  • steps (int) – The number of attack iteration.

  • +
  • kernel_name (str) – The name of the kernel.

  • +
  • len_kernel (int) – The size for gaussian kernel.

  • +
  • nsig (float) – The sigma for gaussian kernel.

  • +
  • decay_factor (float) – The decay factor.

  • +
  • resize_rate (float) – The resize rate for input transform.

  • +
  • diversity_prob (float) – The probability of input transform.

  • +
  • loss (str) – The loss function.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to True.

  • +
+
+
+
+ +
+
+attack_detection_forward(batch_data, excluded_losses, scale_factor=255.0, object_vanish_only=False)[source]
+

This function is used to attack object detection models.

+
+
Parameters:
+
    +
  • batch_data (dict) – {‘inputs’: torch.Tensor with shape [N,C,H,W] and value range [0, 1], ‘data_samples’: list of mmdet.structures.DetDataSample}.

  • +
  • excluded_losses (list) – List of losses not used to compute the attack loss.

  • +
  • scale_factor (float) – Factor used to scale adv images.

  • +
  • object_vanish_only (bool) – When True, just make objects vanish only.

  • +
+
+
Returns:
+

Adversarial images with value range [0,1].

+
+
Return type:
+

torch.Tensor

+
+
+
+ +
+
+gkern(kernlen=15, nsig=3)[source]
+

Returns a 2D Gaussian kernel array.

+
+ +
+
+input_diversity(x)[source]
+

The function to perform random input transform.

+
+ +
+
+kernel_generation()[source]
+
+ +
+
+lkern(kernlen=15)[source]
+
+ +
+
+ukern(kernlen=15)[source]
+
+ +
+ +

Projected Gradient Descent (PGD). A white-box iterative constraint-based method.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('pgd')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+class ares.attack.cw.CW(model, device='cuda', norm=2, kappa=0, lr=0.2, init_const=0.01, max_iter=200, binary_search_steps=4, num_classes=1000, target=False)[source]
+

Bases: object

+

Carlini & Wagner Attack (C&W). A white-box iterative optimization-based method. Require a differentiable logits.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('cw')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=2, kappa=0, lr=0.2, init_const=0.01, max_iter=200, binary_search_steps=4, num_classes=1000, target=False)[source]
+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to 2.

  • +
  • kappa (float) – Defaults to 0.

  • +
  • lr (float) – The learning rate for attack process.

  • +
  • init_const (float) – The initialized constant.

  • +
  • max_iter (int) – The maximum iteration.

  • +
  • binary_search_steps (int) – The steps for binary search.

  • +
  • num_classes (int) – The number of classes of all the labels.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
+
+
+
+ +
+
+atanh(x)[source]
+
+ +
+ +
+
+class ares.attack.deepfool.DeepFool(model, device='cuda', norm=inf, overshoot=0.02, max_iter=50, target=False)[source]
+

Bases: object

+

DeepFool. A white-box iterative optimization method. It needs to calculate the Jacobian of the logits with +relate to input, so that it only applies to tasks with small number of classification class.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('deepfool')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=inf, overshoot=0.02, max_iter=50, target=False)[source]
+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to np.inf.

  • +
  • overshoot (float) – The parameter overshoot. Defaults to 0.02.

  • +
  • max_iter (int) – The maximum iteration.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
+
+
+
+ +
+
+deepfool(x, y)[source]
+

The function for deepfool.

+
+ +
+ +
+
+class ares.attack.nes.NES(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, nes_samples=10, sample_per_draw=1, max_queries=1000, search_sigma=0.02, decay=0.0, random_perturb_start=False, target=False)[source]
+

Bases: object

+

Natural Evolution Strategies (NES). A black-box constraint-based method. Use NES as gradient estimation +technique and employ PGD with this estimated gradient to generate the adversarial example.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('nes')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, nes_samples=10, sample_per_draw=1, max_queries=1000, search_sigma=0.02, decay=0.0, random_perturb_start=False, target=False)[source]
+

The initialize function for NES.

+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to np.inf.

  • +
  • eps (float) – The maximum perturbation range epsilon.

  • +
  • stepsize (float) – The step size for each attack iteration. Defaults to 1/255.

  • +
  • nes_samples (int) – The samples for NES.

  • +
  • sample_per_draw (int) – Sample in each draw.

  • +
  • max_queries (int) – Maximum query number.

  • +
  • search_sigma (float) – The sigma param for searching.

  • +
  • decay (float) – Decay rate.

  • +
  • random_perturb_start (bool) – Whether start with random perturbation.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
+
+
+
+ +
+
+clip_eta(batchsize, eta, norm, eps)[source]
+

The function to clip image according to the constraint.

+
+ +
+
+nes(x_victim, y_victim, y_target)[source]
+

The attack process of NES.

+
+ +
+
+nes_gradient(x, y, ytarget)[source]
+

The function to calculate the gradient of NES.

+
+ +
+ +
+
+class ares.attack.spsa.SPSA(model, device='cuda', norm=inf, eps=0.01568627450980392, learning_rate=0.01, delta=0.01, spsa_samples=10, sample_per_draw=1, nb_iter=20, early_stop_loss_threshold=None, target=False)[source]
+

Bases: object

+

Simultaneous Perturbation Stochastic Approximation (SPSA). A black-box constraint-based method. Use SPSA as +gradient estimation technique and employ Adam with this estimated gradient to generate the adversarial example.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('spsa')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=inf, eps=0.01568627450980392, learning_rate=0.01, delta=0.01, spsa_samples=10, sample_per_draw=1, nb_iter=20, early_stop_loss_threshold=None, target=False)[source]
+

The initialize function for SPSA.

+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to np.inf.

  • +
  • eps (float) – The maximum perturbation range epsilon.

  • +
  • learning_rate (float) – The learning rate of attack.

  • +
  • delta (float) – The delta param.

  • +
  • spsa_samples (int) – Number of samples in SPSA.

  • +
  • sample_per_draw (int) – Sample in each draw.

  • +
  • nb_iter (int) – Number of iteration.

  • +
  • early_stop_loss_threshold (float) – The threshold for early stop.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
+
+
+
+ +
+
+clip_eta(batchsize, eta, norm, eps)[source]
+

The function to clip image according to the constraint.

+
+ +
+
+spsa(x, y, y_target)[source]
+

The main function of SPSA attack.

+
+ +
+ +
+
+class ares.attack.nattack.Nattack(model, device='cuda', norm=inf, eps=0.01568627450980392, max_queries=1000, sample_size=100, lr=0.02, sigma=0.1, target=False)[source]
+

Bases: object

+

NAttack. A black-box constraint-based method. It is motivated by NES.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('nattack')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=inf, eps=0.01568627450980392, max_queries=1000, sample_size=100, lr=0.02, sigma=0.1, target=False)[source]
+

The initialize function for NATTACK.

+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to np.inf.

  • +
  • eps (float) – The maximum perturbation range epsilon.

  • +
  • max_queries (int) – The maximum query number.

  • +
  • sample_size (int) – The sample size.

  • +
  • lr (float) – The learning rate.

  • +
  • sigma (float) – The sigma parameter.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
+
+
+
+ +
+
+atanh(x)[source]
+
+ +
+
+clip_eta(batchsize, eta, norm, eps)[source]
+

The function to clip image according to the constraint.

+
+ +
+
+is_adversarial(x, y, target_labels)[source]
+

The function to judge if the input image is adversarial.

+
+ +
+
+nattack(x, y, y_target)[source]
+

The function for nattack

+
+ +
+
+scale_to_tanh(x)[source]
+
+ +
+ +
+
+ares.attack.nattack.nattack_loss(inputs, targets, target_lables, device, targeted)[source]
+

The loss function for nattack.

+
+ +
+
+ares.attack.nattack.scale(x, dst_min, dst_max, src_min, src_max)[source]
+
+ +
+
+class ares.attack.boundary.BoundaryAttack(model, device='cuda', norm=2, spherical_step_eps=20, orth_step_factor=0.5, orthogonal_step_eps=0.01, perp_step_factor=0.5, max_iter=20, target=False)[source]
+

Bases: object

+

Boundary. A black-box decision-based method.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('boundary')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=2, spherical_step_eps=20, orth_step_factor=0.5, orthogonal_step_eps=0.01, perp_step_factor=0.5, max_iter=20, target=False)[source]
+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to 2.

  • +
  • spherical_step_eps (float) – The spherical step epsilon.

  • +
  • orth_step_factor (float) – The orthogonal step factor.

  • +
  • orthogonal_step_eps (float) – The orthogonal step epsilon.

  • +
  • perp_step_factor (float) – The perpendicular step factor.

  • +
  • max_iter (int) – The maximum iteration.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
+
+
+
+ +
+
+boundary(x, y, ytarget)[source]
+

The function of boundary attack.

+
+ +
+
+get_init_noise(x_target, y, ytarget)[source]
+

The function to initialize noise.

+
+ +
+
+perturbation(x, x_adv, y, ytarget)[source]
+

The function of single attack iteration.

+
+ +
+ +
+
+class ares.attack.evolutionary.Evolutionary(model, device='cuda', ccov=0.001, decay_weight=0.99, max_queries=10000, mu=0.01, sigma=0.03, maxlen=30, target=False)[source]
+

Bases: object

+

Evolutionary. A black-box decision-based method.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('evolutionary')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', ccov=0.001, decay_weight=0.99, max_queries=10000, mu=0.01, sigma=0.03, maxlen=30, target=False)[source]
+

The function to initialize evolutionary attack.

+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • ccov (float) – The parameter cconv. Defaults to 0.001.

  • +
  • decay_weight (float) – The decay weight param. Defaults to 0.99.

  • +
  • max_queries (int) – The maximum query number. Defaults to 10000.

  • +
  • mu (float) – The mean for bias. Defaults to 0.01.

  • +
  • sigma (float) – The deviation for bias. Defaults to 3e-2.

  • +
  • maxlen (int) – The maximum length. Defaults to 30.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
+
+
+
+ +
+
+evolutionary(x, y, ytarget)[source]
+

The function to conduct evolutionary attack.

+
+ +
+
+get_init_noise(x_target, y, ytarget)[source]
+

The function to initialize noise.

+
+ +
+ +
+
+class ares.attack.di_fgsm.DI2FGSM(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, decay_factor=1.0, resize_rate=0.85, diversity_prob=0.7, loss='ce', target=False)[source]
+

Bases: object

+

Diverse Input Iterative Fast Gradient Sign Method. A transfer-based black-box attack method.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('dim')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, decay_factor=1.0, resize_rate=0.85, diversity_prob=0.7, loss='ce', target=False)[source]
+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to np.inf.

  • +
  • eps (float) – The maximum perturbation range epsilon.

  • +
  • stepsize (float) – The step size for each attack iteration. Defaults to 1/255.

  • +
  • steps (int) – The attack steps. Defaults to 20.

  • +
  • decay_factor (float) – The decay factor.

  • +
  • resize_rate (float) – The resize rate for input transform.

  • +
  • diversity_prob (float) – The probability of input transform.

  • +
  • loss (str) – The loss function.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
+
+
+
+ +
+
+attack_detection_forward(batch_data, excluded_losses, scale_factor=255.0, object_vanish_only=False)[source]
+

This function is used to attack object detection models.

+
+
Parameters:
+
    +
  • batch_data (dict) – {‘inputs’: torch.Tensor with shape [N,C,H,W] and value range [0, 1], ‘data_samples’: list of mmdet.structures.DetDataSample}.

  • +
  • excluded_losses (list) – List of losses not used to compute the attack loss.

  • +
  • scale_factor (float) – Factor used to scale adv images.

  • +
  • object_vanish_only (bool) – When True, just make objects vanish only.

  • +
+
+
Returns:
+

Adversarial images with value range [0,1].

+
+
Return type:
+

torch.Tensor

+
+
+
+ +
+
+input_diversity(x)[source]
+

The function perform diverse transform for input images.

+
+ +
+ +
+
+class ares.attack.si_ni_fgsm.SI_NI_FGSM(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, scale_factor=1, decay_factor=1.0, loss='ce', target=False)[source]
+

Bases: object

+

Nesterov Accelerated Gradient and Scale Invariance with FGSM. A black-box attack method.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('si_ni_fgsm')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, scale_factor=1, decay_factor=1.0, loss='ce', target=False)[source]
+

The initialize function for PGD.

+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to np.inf.

  • +
  • eps (float) – The maximum perturbation range epsilon.

  • +
  • stepsize (float) – The attack range for each step.

  • +
  • steps (int) – The number of attack iteration.

  • +
  • scale_factor (float) – The scale factor.

  • +
  • decay_factor (float) – The decay factor.

  • +
  • loss (str) – The loss function.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
+
+
+
+ +
+
+attack_detection_forward(batch_data, excluded_losses, scale_factor=255.0, object_vanish_only=False)[source]
+

This function is used to attack object detection models.

+
+
Parameters:
+
    +
  • batch_data (dict) – {‘inputs’: torch.Tensor with shape [N,C,H,W] and value range [0, 1], ‘data_samples’: list of mmdet.structures.DetDataSample}.

  • +
  • excluded_losses (list) – List of losses not used to compute the attack loss.

  • +
  • scale_factor (float) – Factor used to scale adv images.

  • +
  • object_vanish_only (bool) – When True, just make objects vanish only.

  • +
+
+
Returns:
+

Adversarial images with value range [0,1].

+
+
Return type:
+

torch.Tensor

+
+
+
+ +
+ +
+
+class ares.attack.vmi_fgsm.VMI_fgsm(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, decay_factor=1.0, beta=1.5, sample_number=10, loss='ce', target=False)[source]
+

Bases: object

+

Enhancing the Transferability of Adversarial Attacks through Variance Tuning.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('vmi_fgsm')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, decay_factor=1.0, beta=1.5, sample_number=10, loss='ce', target=False)[source]
+

The initialize function for VMI_FGSM.

+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to np.inf.

  • +
  • eps (float) – The maximum perturbation range epsilon.

  • +
  • stepsize (float) – The attack range for each step.

  • +
  • steps (int) – The number of attack iteration.

  • +
  • decay_factor (float) – The decay factor.

  • +
  • beta (float) – The beta param.

  • +
  • sample_number (int) – The number of samples.

  • +
  • loss (str) – The loss function.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to False.

  • +
+
+
+
+ +
+
+attack_detection_forward(batch_data, excluded_losses, scale_factor=255.0, object_vanish_only=False)[source]
+

This function is used to attack object detection models.

+
+
Parameters:
+
    +
  • batch_data (dict) – {‘inputs’: torch.Tensor with shape [N,C,H,W] and value range [0, 1], ‘data_samples’: list of mmdet.structures.DetDataSample}.

  • +
  • excluded_losses (list) – List of losses not used to compute the attack loss.

  • +
  • scale_factor (float) – Factor used to scale adv images.

  • +
  • object_vanish_only (bool) – When True, just make objects vanish only.

  • +
+
+
Returns:
+

Adversarial images with value range [0,1].

+
+
Return type:
+

torch.Tensor

+
+
+
+ +
+ +
+
+ares.attack.tta.Cos_dis(a, b)[source]
+
+ +
+
+ares.attack.tta.Poincare_dis(a, b)[source]
+
+ +
+
+ares.attack.tta.TI_tta(kernel_size=5, nsig=3)[source]
+
+ +
+
+class ares.attack.tta.TTA(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, kernel_size=5, nsig=3, resize_rate=0.85, diversity_prob=0.7, loss='ce', target=True)[source]
+

Bases: object

+

Transferable Targeted Attacks.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('tta')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+__init__(model, device='cuda', norm=inf, eps=0.01568627450980392, stepsize=0.00392156862745098, steps=20, kernel_size=5, nsig=3, resize_rate=0.85, diversity_prob=0.7, loss='ce', target=True)[source]
+

The initialize function for TTA.

+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. Defaults to np.inf.

  • +
  • eps (float) – The maximum perturbation range epsilon.

  • +
  • stepsize (float) – The attack range for each step.

  • +
  • steps (int) – The number of attack iteration.

  • +
  • kernel_size (int) – The size for gaussian kernel.

  • +
  • nsig (float) – The sigma for gaussian kernel.

  • +
  • resize_rate (float) – The resize rate for input transform.

  • +
  • diversity_prob (float) – The probability of input transform.

  • +
  • loss (str) – The loss function.

  • +
  • target (bool) – Conduct target/untarget attack. Defaults to True.

  • +
+
+
+
+ +
+
+ce_loss(outputs, labels, target_labels)[source]
+

Function of ce loss for TTA.

+
+ +
+
+input_diversity(x)[source]
+

The function to perform random input transform.

+
+ +
+
+logits_loss(outputs, labels, target_labels)[source]
+

The logits function.

+
+ +
+
+po_trip_loss(outputs, labels, target_labels)[source]
+

The function to calculate po trip loss.

+
+ +
+ +
+
+ares.attack.tta.gkern(kernlen=15, nsig=3)[source]
+
+ +

Skip Gradient Method. A transfer-based black-box attack method.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('sgm')
+>>> attacker = attacker_cls(model)
+>>> adv_images = attacker(images, labels, target_labels)
+
+
+ +
+
+

ares.attack.autoattack module

+
+
+class ares.attack.autoattack.autoattack.AutoAttack(model, device='cuda', norm=inf, eps=0.3, seed=None, verbose=False, attacks_to_run=[], version='standard', is_tf_model=False, logger=None)[source]
+

Bases: object

+

A class to perform autoattack. It is called by registry.

+

Example

+
>>> from ares.utils.registry import registry
+>>> attacker_cls = registry.get_attack('autoattack')
+
+
+
+
+__init__(model, device='cuda', norm=inf, eps=0.3, seed=None, verbose=False, attacks_to_run=[], version='standard', is_tf_model=False, logger=None)[source]
+
+
Parameters:
+
    +
  • model (torch.nn.Module) – The target model to be attacked.

  • +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • norm (float) – The norm of distance calculation for adversarial constraint. +Defaults to np.inf. It is selected from [1, 2, np.inf].

  • +
  • eps (float) – The maximum perturbation range epsilon.

  • +
  • seed (float) – Random seed. Defaults to None.

  • +
  • verbose (bool) – Output the details during the attack process. Defaults to True.

  • +
  • attacks_to_run (list) – Set the attacks to run. Defaults to []. It should be selected +from [‘apgd-ce’, ‘apgd-dlr’, ‘fab’, ‘square’, ‘apgd-t’, ‘fab-t’].

  • +
  • version (str) – Define the version of attack. Defaults to ‘standard’. It is selected +from [‘standard’, ‘plus’, ‘rand’].

  • +
  • is_tf_model (bool) – Whether the model is based on tensorflow. Defaults to False.

  • +
  • log_path (str) – Path to the log file. Defaults to None.

  • +
+
+
+
+ +
+
+clean_accuracy(images, labels, bs=250)[source]
+
+ +
+
+get_logits(x)[source]
+

This function calculates the logits of the target model.

+
+ +
+
+get_seed()[source]
+

This function automatically set a random seed.

+
+ +
+
+run_standard_evaluation(images, labels, bs=250, return_labels=False)[source]
+
+ +
+
+run_standard_evaluation_individual(images, labels, bs=250, return_labels=False)[source]
+
+ +
+
+set_version(version='standard')[source]
+

The function to set the attack version.

+
+
Parameters:
+

version (str) – The version of attack. Defaults to ‘standard’.

+
+
+
+ +
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/api/ares.dataset.html b/docs/api/ares.dataset.html new file mode 100644 index 0000000..d5b5e64 --- /dev/null +++ b/docs/api/ares.dataset.html @@ -0,0 +1,151 @@ + + + + + + + ares.dataset package — ARES 2.0 documentation + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

ares.dataset package

+
+
+ares.dataset.cifar_dataset.cifar10(batchsize, cifar10_path)[source]
+

The function to create cifar10 dataloader.

+
+ +
+
+class ares.dataset.imagenet_dataset.ImageNetDataset(data_dir, meta_file, transform=None)[source]
+

Bases: Dataset

+

The class to create ImageNet dataset.

+
+
+__init__(data_dir, meta_file, transform=None)[source]
+

The function to initialize ImageNet class.

+
+
Parameters:
+
    +
  • data_dir (str) – The path to the dataset.

  • +
  • meta_file (str) – The path to the file containing image directories and labels.

  • +
  • transform (torchvision.transforms) – The transform for input image.

  • +
+
+
+
+ +
+ +
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/api/ares.defense.html b/docs/api/ares.defense.html new file mode 100644 index 0000000..10a31f4 --- /dev/null +++ b/docs/api/ares.defense.html @@ -0,0 +1,204 @@ + + + + + + + ares.defense package — ARES 2.0 documentation + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

ares.defense package

+
+
+class ares.defense.bit_depth_reduction.BitDepthReduction(device='cuda', compressed_bit=4)[source]
+

Bases: object

+

Bit depth reduction defense method.

+
+
+__init__(device='cuda', compressed_bit=4)[source]
+
+
Parameters:
+
    +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • compressed_bit (int) – The compressed bit.

  • +
+
+
+
+ +
+
+bit_depth_reduction(xs)[source]
+
+ +
+ +
+
+class ares.defense.jpeg_compression.Jpeg_compression(device='cuda', quality=75)[source]
+

Bases: object

+

JPEG compression defense method.

+
+
+__init__(device='cuda', quality=75)[source]
+
+
Parameters:
+
    +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • quality (int) – The compressed image quality.

  • +
+
+
+
+ +
+
+jpegcompression(x)[source]
+
+ +
+ +
+
+class ares.defense.randomization.Randomization(device='cuda', prob=0.8, crop_lst=[0.1, 0.08, 0.06, 0.04, 0.02])[source]
+

Bases: object

+

Random input transform defense method.

+
+
+__init__(device='cuda', prob=0.8, crop_lst=[0.1, 0.08, 0.06, 0.04, 0.02])[source]
+
+
Parameters:
+
    +
  • device (torch.device) – The device to perform autoattack. Defaults to ‘cuda’.

  • +
  • prob (float) – The probability of input transform.

  • +
  • crop_lst (list) – The list of the params of crop method.

  • +
+
+
+
+ +
+
+input_transform(xs)[source]
+
+ +
+
+random_resize_pad(xs)[source]
+
+ +
+ +
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/api/ares.detection.html b/docs/api/ares.detection.html new file mode 100644 index 0000000000000000000000000000000000000000..8277ae65c4eba51f658894b5689f0120a31745e3 GIT binary patch literal 170059 zcmeIufdBvi0K=g9Q(xf#g-~I@fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj kFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8FmJFqmlo0RR91 literal 0 HcmV?d00001 diff --git a/docs/api/ares.model.html b/docs/api/ares.model.html new file mode 100644 index 0000000000000000000000000000000000000000..e39cbb1dfd117cbbc0c6a6cbea0522b1f25a18cb GIT binary patch literal 75568 zcmeIufdBvi0K=g9Qy=7oP+`D;0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM n7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxdfscU!CqDoI literal 0 HcmV?d00001 diff --git a/docs/api/ares.utils.html b/docs/api/ares.utils.html new file mode 100644 index 0000000000000000000000000000000000000000..2176258859846da304710aa8d26fd1c085bad485 GIT binary patch literal 88180 zcmeIu0Sy2E0K%a6Pi+qe5hx58Fkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA qz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA;ALP~g8%^l literal 0 HcmV?d00001 diff --git a/docs/genindex.html b/docs/genindex.html new file mode 100644 index 0000000000000000000000000000000000000000..d711751794221260534d7b3ecff2e78df4b53c4d GIT binary patch literal 72943 zcmeIu0Sy2E0K%a6Pi+o2h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r c3>YwAz<>b*1`HT5V8DO@0|pEjFks+zU>yDc0RR91 literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000000000000000000000000000000000000..98138f553cb852808f643a34da3587fa85b8daa6 GIT binary patch literal 8998 zcmeIu0Sy2E0K%a6Pi+qe5hx58Fkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ J0|pGd4-6wF00961 literal 0 HcmV?d00001 diff --git a/docs/objects.inv b/docs/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..5f1b203fcf239b16d4a3636d81575f7824c9704c GIT binary patch literal 3219 lcmeIuF#!Mo0K%a4Pi+hzh(KY$fB^#r3>YwAz<`0YwAz<>b*1`HT5V8DO@ p0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8FoVzyLo~00961 literal 0 HcmV?d00001 diff --git a/docs/search.html b/docs/search.html new file mode 100644 index 0000000000000000000000000000000000000000..cc456b511cb7a8fc476c0b89fff441c6fede1867 GIT binary patch literal 5073 tcmeIu0Sy2E0K%a6Pi+o2h(KY$fB^#r3>YwAz<>b*1`HT5V8Fo5zyK4`00961 literal 0 HcmV?d00001 diff --git a/docs/searchindex.js b/docs/searchindex.js new file mode 100644 index 0000000000000000000000000000000000000000..96296611aeb6b6f39f1f8df4a3d20c7781663f0a GIT binary patch literal 40295 zcmeIuF#!Mo0K%a4Pi+Q&h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd q0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxdfoou$X8-{J literal 0 HcmV?d00001 diff --git a/docs/tutorial/attack_classification.html b/docs/tutorial/attack_classification.html new file mode 100644 index 0000000000000000000000000000000000000000..4f24357a381c930363cf81af322988ab77c84040 GIT binary patch literal 10615 zcmeIufdBvi0K=g9Q(xf#g-~I@fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM R7%*VKfB^#r3>YwQ3=AoE00961 literal 0 HcmV?d00001 diff --git a/docs/tutorial/attack_detection.html b/docs/tutorial/attack_detection.html new file mode 100644 index 0000000000000000000000000000000000000000..ddc8047a04f79db70fce3b88c1d1b4446903b1e6 GIT binary patch literal 13361 zcmeIu0Sy2E0K%a6Pi+qe5hx58Fkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ c0|pEjFkrxd0RsjM7%*VKfB^#r3>df>7&I{e0RR91 literal 0 HcmV?d00001 diff --git a/docs/tutorial/robust_training.html b/docs/tutorial/robust_training.html new file mode 100644 index 0000000000000000000000000000000000000000..618a59f3086d1449908854b054b62358595d982a GIT binary patch literal 8675 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM I7%*@?Fd^dr0RR91 literal 0 HcmV?d00001