├── 1040_right.jpeg ├── 1051_right.jpeg ├── DR.ipynb ├── Diabetic_retinopathy_detection.ipynb ├── Mild ├── 10150_right.jpeg ├── 10169_right.jpeg ├── 1020_left.jpeg ├── 1020_right.jpeg ├── 1027_left.jpeg ├── 1043_left.jpeg ├── 10468_right.jpeg ├── 10594_right.jpeg ├── 10672_left.jpeg ├── 114_left.jpeg ├── 114_right.jpeg ├── 1266_left.jpeg ├── 1266_right.jpeg ├── 1283_left.jpeg ├── 1343_left.jpeg ├── 1343_right.jpeg ├── 1369_left.jpeg ├── 1369_right.jpeg ├── 1374_right.jpeg ├── 1409_left.jpeg ├── 1520_left.jpeg ├── 1520_right.jpeg ├── 1544_right.jpeg ├── 15_left.jpeg ├── 17_right.jpeg ├── 1833_right.jpeg ├── 1867_left.jpeg ├── 1867_right.jpeg ├── 1999_left.jpeg ├── 2168_left.jpeg ├── 227_left.jpeg ├── 2294_left.jpeg ├── 2294_right.jpeg ├── 2318_right.jpeg ├── 240_right.jpeg ├── 2423_left.jpeg ├── 2423_right.jpeg ├── 2433_right.jpeg ├── 2488_left.jpeg ├── 2488_right.jpeg ├── 2525_left.jpeg └── 2691_left.jpeg ├── Moderate ├── 10109_left.jpeg ├── 10109_right.jpeg ├── 10112_left.jpeg ├── 10135_left.jpeg ├── 10135_right.jpeg ├── 10150_left.jpeg ├── 10156_left.jpeg ├── 10156_right.jpeg ├── 10159_left.jpeg ├── 10160_left.jpeg ├── 10160_right.jpeg ├── 1030_left.jpeg ├── 1030_right.jpeg ├── 1034_left.jpeg ├── 1034_right.jpeg ├── 1140_left.jpeg ├── 1140_right.jpeg ├── 1142_right.jpeg ├── 1152_right.jpeg ├── 1178_left.jpeg ├── 1178_right.jpeg ├── 1233_left.jpeg ├── 1233_right.jpeg ├── 1259_left.jpeg ├── 1259_right.jpeg ├── 129_left.jpeg ├── 129_right.jpeg ├── 1367_left.jpeg ├── 1367_right.jpeg ├── 1407_left.jpeg ├── 1407_right.jpeg ├── 1412_left.jpeg ├── 1419_left.jpeg ├── 1419_right.jpeg ├── 1541_left.jpeg ├── 1541_right.jpeg ├── 1544_left.jpeg ├── 1552_left.jpeg ├── 1552_right.jpeg ├── 155_right.jpeg ├── 15_right.jpeg ├── 1632_left.jpeg ├── 1632_right.jpeg ├── 1640_right.jpeg ├── 1675_left.jpeg ├── 1675_right.jpeg ├── 172_left.jpeg └── 172_right.jpeg ├── Normal ├── 10003_left.jpeg ├── 10003_right.jpeg ├── 10007_left.jpeg ├── 10007_right.jpeg ├── 1012_left.jpeg ├── 1021_left.jpeg ├── 1021_right.jpeg ├── 1027_right.jpeg ├── 1040_left.jpeg ├── 1040_right.jpeg ├── 1043_right.jpeg ├── 1044_left.jpeg ├── 1044_right.jpeg ├── 1051_left.jpeg ├── 1051_right.jpeg ├── 1056_left.jpeg ├── 1056_right.jpeg ├── 1057_left.jpeg ├── 1057_right.jpeg ├── 1096_left.jpeg ├── 1096_right.jpeg ├── 10_left.jpeg ├── 1113_left.jpeg ├── 1113_right.jpeg ├── 1123_left.jpeg ├── 1123_right.jpeg ├── 1127_left.jpeg ├── 1127_right.jpeg ├── 1136_left.jpeg ├── 1136_right.jpeg ├── 1142_left.jpeg ├── 1146_right.jpeg ├── 1152_left.jpeg ├── 1161_left.jpeg └── 1161_right.jpeg ├── Proliferative ├── 10017_left.jpeg ├── 10017_right.jpeg ├── 1012_right.jpeg ├── 10321_left.jpeg ├── 1052_left.jpeg ├── 1052_right.jpeg ├── 10785_left.jpeg ├── 10904_left.jpeg ├── 10904_right.jpeg ├── 10_right.jpeg ├── 111_left.jpeg ├── 111_right.jpeg ├── 1120_left.jpeg ├── 1120_right.jpeg ├── 1131_left.jpeg ├── 1131_right.jpeg ├── 1138_left.jpeg ├── 1138_right.jpeg ├── 11417_right.jpeg ├── 1146_left.jpeg ├── 11730_right.jpeg ├── 11854_left.jpeg ├── 11854_right.jpeg ├── 12108_left.jpeg ├── 12108_right.jpeg ├── 12652_left.jpeg ├── 12995_left.jpeg ├── 13022_right.jpeg ├── 13038_right.jpeg ├── 13066_right.jpeg ├── 13387_right.jpeg ├── 13588_right.jpeg ├── 13651_right.jpeg ├── 13664_left.jpeg ├── 13664_right.jpeg ├── 13811_left.jpeg ├── 13811_right.jpeg ├── 13819_left.jpeg ├── 13819_right.jpeg ├── 14495_right.jpeg ├── 14844_left.jpeg ├── 14844_right.jpeg ├── 15038_left.jpeg ├── 15459_left.jpeg ├── 2016_left.jpeg ├── 2031_right.jpeg ├── 294_left.jpeg ├── 294_right.jpeg ├── 3064_left.jpeg ├── 3064_right.jpeg └── 3088_left.jpeg ├── README.md ├── Severe ├── 1008_left.jpeg ├── 10153_left.jpeg ├── 10153_right.jpeg ├── 10159_right.jpeg ├── 11031_left.jpeg ├── 11031_right.jpeg ├── 11035_left.jpeg ├── 11035_right.jpeg ├── 11206_right.jpeg ├── 11211_left.jpeg ├── 11546_left.jpeg ├── 11546_right.jpeg ├── 11697_right.jpeg ├── 1170_left.jpeg ├── 1170_right.jpeg ├── 1177_left.jpeg ├── 1177_right.jpeg ├── 11871_left.jpeg ├── 11889_left.jpeg ├── 11889_right.jpeg ├── 1196_left.jpeg ├── 1196_right.jpeg ├── 12000_left.jpeg ├── 12306_left.jpeg ├── 12612_left.jpeg ├── 12612_right.jpeg ├── 12652_right.jpeg ├── 12667_left.jpeg ├── 12667_right.jpeg ├── 13716_left.jpeg ├── 13716_right.jpeg ├── 14109_left.jpeg ├── 14109_right.jpeg ├── 14129_left.jpeg ├── 14129_right.jpeg ├── 1471_left.jpeg ├── 1471_right.jpeg ├── 1639_left.jpeg ├── 1639_right.jpeg ├── 1919_left.jpeg ├── 2132_right.jpeg ├── 2275_left.jpeg ├── 23426_left.jpeg ├── 23426_right.jpeg ├── 23485_left.jpeg ├── 23604_right.jpeg ├── 2862_left.jpeg ├── 2862_right.jpeg ├── 3096_left.jpeg ├── 3096_right.jpeg └── 3192_left.jpeg ├── app1.py ├── app2.py ├── dataset ├── label_image.py ├── requirements.txt ├── retrain.py ├── retrained_labels.txt ├── static ├── css │ ├── main1.css │ ├── style.css │ └── style1.css ├── js │ ├── main.js │ └── main1.js ├── main1.js ├── style.css └── vendor │ ├── animate.css │ ├── animate.compat.css │ ├── animate.css │ └── animate.min.css │ ├── aos │ ├── aos.css │ └── aos.js │ ├── bootstrap-icons │ ├── bootstrap-icons.css │ ├── bootstrap-icons.json │ ├── fonts │ │ ├── bootstrap-icons.woff │ │ └── bootstrap-icons.woff2 │ └── index.html │ ├── bootstrap │ ├── css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-grid.css.map │ │ ├── bootstrap-grid.min.css │ │ ├── bootstrap-grid.min.css.map │ │ ├── bootstrap-grid.rtl.css │ │ ├── bootstrap-grid.rtl.css.map │ │ ├── bootstrap-grid.rtl.min.css │ │ ├── bootstrap-grid.rtl.min.css.map │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.css.map │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap-reboot.min.css.map │ │ ├── bootstrap-reboot.rtl.css │ │ ├── bootstrap-reboot.rtl.css.map │ │ ├── bootstrap-reboot.rtl.min.css │ │ ├── bootstrap-reboot.rtl.min.css.map │ │ ├── bootstrap-utilities.css │ │ ├── bootstrap-utilities.css.map │ │ ├── bootstrap-utilities.min.css │ │ ├── bootstrap-utilities.min.css.map │ │ ├── bootstrap-utilities.rtl.css │ │ ├── bootstrap-utilities.rtl.css.map │ │ ├── bootstrap-utilities.rtl.min.css │ │ ├── bootstrap-utilities.rtl.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ ├── bootstrap.min.css.map │ │ ├── bootstrap.rtl.css │ │ ├── bootstrap.rtl.css.map │ │ ├── bootstrap.rtl.min.css │ │ └── bootstrap.rtl.min.css.map │ └── js │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.bundle.js.map │ │ ├── bootstrap.bundle.min.js │ │ ├── bootstrap.bundle.min.js.map │ │ ├── bootstrap.esm.js │ │ ├── bootstrap.esm.js.map │ │ ├── bootstrap.esm.min.js │ │ ├── bootstrap.esm.min.js.map │ │ ├── bootstrap.js │ │ ├── bootstrap.js.map │ │ ├── bootstrap.min.js │ │ └── bootstrap.min.js.map │ ├── boxicons │ ├── css │ │ ├── animations.css │ │ ├── boxicons.css │ │ ├── boxicons.min.css │ │ └── transformations.css │ └── fonts │ │ ├── boxicons.eot │ │ ├── boxicons.svg │ │ ├── boxicons.ttf │ │ ├── boxicons.woff │ │ └── boxicons.woff2 │ ├── glightbox │ ├── css │ │ ├── glightbox.css │ │ └── glightbox.min.css │ └── js │ │ ├── glightbox.js │ │ └── glightbox.min.js │ ├── isotope-layout │ ├── isotope.pkgd.js │ └── isotope.pkgd.min.js │ ├── php-email-form │ └── validate.js │ └── swiper │ ├── swiper-bundle.min.css │ └── swiper-bundle.min.js └── templates ├── base.html ├── chart.html ├── first.html ├── index.html └── login.html /1040_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/1040_right.jpeg -------------------------------------------------------------------------------- /1051_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/1051_right.jpeg -------------------------------------------------------------------------------- /Mild/10150_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/10150_right.jpeg -------------------------------------------------------------------------------- /Mild/10169_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/10169_right.jpeg -------------------------------------------------------------------------------- /Mild/1020_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1020_left.jpeg -------------------------------------------------------------------------------- /Mild/1020_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1020_right.jpeg -------------------------------------------------------------------------------- /Mild/1027_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1027_left.jpeg -------------------------------------------------------------------------------- /Mild/1043_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1043_left.jpeg -------------------------------------------------------------------------------- /Mild/10468_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/10468_right.jpeg -------------------------------------------------------------------------------- /Mild/10594_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/10594_right.jpeg -------------------------------------------------------------------------------- /Mild/10672_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/10672_left.jpeg -------------------------------------------------------------------------------- /Mild/114_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/114_left.jpeg -------------------------------------------------------------------------------- /Mild/114_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/114_right.jpeg -------------------------------------------------------------------------------- /Mild/1266_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1266_left.jpeg -------------------------------------------------------------------------------- /Mild/1266_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1266_right.jpeg -------------------------------------------------------------------------------- /Mild/1283_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1283_left.jpeg -------------------------------------------------------------------------------- /Mild/1343_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1343_left.jpeg -------------------------------------------------------------------------------- /Mild/1343_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1343_right.jpeg -------------------------------------------------------------------------------- /Mild/1369_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1369_left.jpeg -------------------------------------------------------------------------------- /Mild/1369_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1369_right.jpeg -------------------------------------------------------------------------------- /Mild/1374_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1374_right.jpeg -------------------------------------------------------------------------------- /Mild/1409_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1409_left.jpeg -------------------------------------------------------------------------------- /Mild/1520_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1520_left.jpeg -------------------------------------------------------------------------------- /Mild/1520_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1520_right.jpeg -------------------------------------------------------------------------------- /Mild/1544_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1544_right.jpeg -------------------------------------------------------------------------------- /Mild/15_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/15_left.jpeg -------------------------------------------------------------------------------- /Mild/17_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/17_right.jpeg -------------------------------------------------------------------------------- /Mild/1833_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1833_right.jpeg -------------------------------------------------------------------------------- /Mild/1867_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1867_left.jpeg -------------------------------------------------------------------------------- /Mild/1867_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1867_right.jpeg -------------------------------------------------------------------------------- /Mild/1999_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/1999_left.jpeg -------------------------------------------------------------------------------- /Mild/2168_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/2168_left.jpeg -------------------------------------------------------------------------------- /Mild/227_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/227_left.jpeg -------------------------------------------------------------------------------- /Mild/2294_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/2294_left.jpeg -------------------------------------------------------------------------------- /Mild/2294_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/2294_right.jpeg -------------------------------------------------------------------------------- /Mild/2318_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/2318_right.jpeg -------------------------------------------------------------------------------- /Mild/240_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/240_right.jpeg -------------------------------------------------------------------------------- /Mild/2423_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/2423_left.jpeg -------------------------------------------------------------------------------- /Mild/2423_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/2423_right.jpeg -------------------------------------------------------------------------------- /Mild/2433_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/2433_right.jpeg -------------------------------------------------------------------------------- /Mild/2488_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/2488_left.jpeg -------------------------------------------------------------------------------- /Mild/2488_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/2488_right.jpeg -------------------------------------------------------------------------------- /Mild/2525_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/2525_left.jpeg -------------------------------------------------------------------------------- /Mild/2691_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Mild/2691_left.jpeg -------------------------------------------------------------------------------- /Moderate/10109_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/10109_left.jpeg -------------------------------------------------------------------------------- /Moderate/10109_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/10109_right.jpeg -------------------------------------------------------------------------------- /Moderate/10112_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/10112_left.jpeg -------------------------------------------------------------------------------- /Moderate/10135_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/10135_left.jpeg -------------------------------------------------------------------------------- /Moderate/10135_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/10135_right.jpeg -------------------------------------------------------------------------------- /Moderate/10150_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/10150_left.jpeg -------------------------------------------------------------------------------- /Moderate/10156_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/10156_left.jpeg -------------------------------------------------------------------------------- /Moderate/10156_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/10156_right.jpeg -------------------------------------------------------------------------------- /Moderate/10159_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/10159_left.jpeg -------------------------------------------------------------------------------- /Moderate/10160_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/10160_left.jpeg -------------------------------------------------------------------------------- /Moderate/10160_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/10160_right.jpeg -------------------------------------------------------------------------------- /Moderate/1030_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1030_left.jpeg -------------------------------------------------------------------------------- /Moderate/1030_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1030_right.jpeg -------------------------------------------------------------------------------- /Moderate/1034_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1034_left.jpeg -------------------------------------------------------------------------------- /Moderate/1034_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1034_right.jpeg -------------------------------------------------------------------------------- /Moderate/1140_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1140_left.jpeg -------------------------------------------------------------------------------- /Moderate/1140_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1140_right.jpeg -------------------------------------------------------------------------------- /Moderate/1142_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1142_right.jpeg -------------------------------------------------------------------------------- /Moderate/1152_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1152_right.jpeg -------------------------------------------------------------------------------- /Moderate/1178_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1178_left.jpeg -------------------------------------------------------------------------------- /Moderate/1178_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1178_right.jpeg -------------------------------------------------------------------------------- /Moderate/1233_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1233_left.jpeg -------------------------------------------------------------------------------- /Moderate/1233_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1233_right.jpeg -------------------------------------------------------------------------------- /Moderate/1259_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1259_left.jpeg -------------------------------------------------------------------------------- /Moderate/1259_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1259_right.jpeg -------------------------------------------------------------------------------- /Moderate/129_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/129_left.jpeg -------------------------------------------------------------------------------- /Moderate/129_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/129_right.jpeg -------------------------------------------------------------------------------- /Moderate/1367_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1367_left.jpeg -------------------------------------------------------------------------------- /Moderate/1367_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1367_right.jpeg -------------------------------------------------------------------------------- /Moderate/1407_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1407_left.jpeg -------------------------------------------------------------------------------- /Moderate/1407_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1407_right.jpeg -------------------------------------------------------------------------------- /Moderate/1412_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1412_left.jpeg -------------------------------------------------------------------------------- /Moderate/1419_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1419_left.jpeg -------------------------------------------------------------------------------- /Moderate/1419_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1419_right.jpeg -------------------------------------------------------------------------------- /Moderate/1541_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1541_left.jpeg -------------------------------------------------------------------------------- /Moderate/1541_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1541_right.jpeg -------------------------------------------------------------------------------- /Moderate/1544_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1544_left.jpeg -------------------------------------------------------------------------------- /Moderate/1552_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1552_left.jpeg -------------------------------------------------------------------------------- /Moderate/1552_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1552_right.jpeg -------------------------------------------------------------------------------- /Moderate/155_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/155_right.jpeg -------------------------------------------------------------------------------- /Moderate/15_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/15_right.jpeg -------------------------------------------------------------------------------- /Moderate/1632_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1632_left.jpeg -------------------------------------------------------------------------------- /Moderate/1632_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1632_right.jpeg -------------------------------------------------------------------------------- /Moderate/1640_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1640_right.jpeg -------------------------------------------------------------------------------- /Moderate/1675_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1675_left.jpeg -------------------------------------------------------------------------------- /Moderate/1675_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/1675_right.jpeg -------------------------------------------------------------------------------- /Moderate/172_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/172_left.jpeg -------------------------------------------------------------------------------- /Moderate/172_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Moderate/172_right.jpeg -------------------------------------------------------------------------------- /Normal/10003_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/10003_left.jpeg -------------------------------------------------------------------------------- /Normal/10003_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/10003_right.jpeg -------------------------------------------------------------------------------- /Normal/10007_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/10007_left.jpeg -------------------------------------------------------------------------------- /Normal/10007_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/10007_right.jpeg -------------------------------------------------------------------------------- /Normal/1012_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1012_left.jpeg -------------------------------------------------------------------------------- /Normal/1021_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1021_left.jpeg -------------------------------------------------------------------------------- /Normal/1021_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1021_right.jpeg -------------------------------------------------------------------------------- /Normal/1027_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1027_right.jpeg -------------------------------------------------------------------------------- /Normal/1040_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1040_left.jpeg -------------------------------------------------------------------------------- /Normal/1040_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1040_right.jpeg -------------------------------------------------------------------------------- /Normal/1043_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1043_right.jpeg -------------------------------------------------------------------------------- /Normal/1044_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1044_left.jpeg -------------------------------------------------------------------------------- /Normal/1044_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1044_right.jpeg -------------------------------------------------------------------------------- /Normal/1051_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1051_left.jpeg -------------------------------------------------------------------------------- /Normal/1051_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1051_right.jpeg -------------------------------------------------------------------------------- /Normal/1056_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1056_left.jpeg -------------------------------------------------------------------------------- /Normal/1056_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1056_right.jpeg -------------------------------------------------------------------------------- /Normal/1057_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1057_left.jpeg -------------------------------------------------------------------------------- /Normal/1057_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1057_right.jpeg -------------------------------------------------------------------------------- /Normal/1096_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1096_left.jpeg -------------------------------------------------------------------------------- /Normal/1096_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1096_right.jpeg -------------------------------------------------------------------------------- /Normal/10_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/10_left.jpeg -------------------------------------------------------------------------------- /Normal/1113_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1113_left.jpeg -------------------------------------------------------------------------------- /Normal/1113_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1113_right.jpeg -------------------------------------------------------------------------------- /Normal/1123_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1123_left.jpeg -------------------------------------------------------------------------------- /Normal/1123_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1123_right.jpeg -------------------------------------------------------------------------------- /Normal/1127_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1127_left.jpeg -------------------------------------------------------------------------------- /Normal/1127_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1127_right.jpeg -------------------------------------------------------------------------------- /Normal/1136_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1136_left.jpeg -------------------------------------------------------------------------------- /Normal/1136_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1136_right.jpeg -------------------------------------------------------------------------------- /Normal/1142_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1142_left.jpeg -------------------------------------------------------------------------------- /Normal/1146_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1146_right.jpeg -------------------------------------------------------------------------------- /Normal/1152_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1152_left.jpeg -------------------------------------------------------------------------------- /Normal/1161_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1161_left.jpeg -------------------------------------------------------------------------------- /Normal/1161_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Normal/1161_right.jpeg -------------------------------------------------------------------------------- /Proliferative/10017_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/10017_left.jpeg -------------------------------------------------------------------------------- /Proliferative/10017_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/10017_right.jpeg -------------------------------------------------------------------------------- /Proliferative/1012_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/1012_right.jpeg -------------------------------------------------------------------------------- /Proliferative/10321_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/10321_left.jpeg -------------------------------------------------------------------------------- /Proliferative/1052_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/1052_left.jpeg -------------------------------------------------------------------------------- /Proliferative/1052_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/1052_right.jpeg -------------------------------------------------------------------------------- /Proliferative/10785_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/10785_left.jpeg -------------------------------------------------------------------------------- /Proliferative/10904_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/10904_left.jpeg -------------------------------------------------------------------------------- /Proliferative/10904_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/10904_right.jpeg -------------------------------------------------------------------------------- /Proliferative/10_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/10_right.jpeg -------------------------------------------------------------------------------- /Proliferative/111_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/111_left.jpeg -------------------------------------------------------------------------------- /Proliferative/111_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/111_right.jpeg -------------------------------------------------------------------------------- /Proliferative/1120_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/1120_left.jpeg -------------------------------------------------------------------------------- /Proliferative/1120_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/1120_right.jpeg -------------------------------------------------------------------------------- /Proliferative/1131_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/1131_left.jpeg -------------------------------------------------------------------------------- /Proliferative/1131_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/1131_right.jpeg -------------------------------------------------------------------------------- /Proliferative/1138_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/1138_left.jpeg -------------------------------------------------------------------------------- /Proliferative/1138_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/1138_right.jpeg -------------------------------------------------------------------------------- /Proliferative/11417_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/11417_right.jpeg -------------------------------------------------------------------------------- /Proliferative/1146_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/1146_left.jpeg -------------------------------------------------------------------------------- /Proliferative/11730_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/11730_right.jpeg -------------------------------------------------------------------------------- /Proliferative/11854_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/11854_left.jpeg -------------------------------------------------------------------------------- /Proliferative/11854_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/11854_right.jpeg -------------------------------------------------------------------------------- /Proliferative/12108_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/12108_left.jpeg -------------------------------------------------------------------------------- /Proliferative/12108_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/12108_right.jpeg -------------------------------------------------------------------------------- /Proliferative/12652_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/12652_left.jpeg -------------------------------------------------------------------------------- /Proliferative/12995_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/12995_left.jpeg -------------------------------------------------------------------------------- /Proliferative/13022_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/13022_right.jpeg -------------------------------------------------------------------------------- /Proliferative/13038_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/13038_right.jpeg -------------------------------------------------------------------------------- /Proliferative/13066_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/13066_right.jpeg -------------------------------------------------------------------------------- /Proliferative/13387_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/13387_right.jpeg -------------------------------------------------------------------------------- /Proliferative/13588_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/13588_right.jpeg -------------------------------------------------------------------------------- /Proliferative/13651_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/13651_right.jpeg -------------------------------------------------------------------------------- /Proliferative/13664_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/13664_left.jpeg -------------------------------------------------------------------------------- /Proliferative/13664_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/13664_right.jpeg -------------------------------------------------------------------------------- /Proliferative/13811_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/13811_left.jpeg -------------------------------------------------------------------------------- /Proliferative/13811_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/13811_right.jpeg -------------------------------------------------------------------------------- /Proliferative/13819_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/13819_left.jpeg -------------------------------------------------------------------------------- /Proliferative/13819_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/13819_right.jpeg -------------------------------------------------------------------------------- /Proliferative/14495_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/14495_right.jpeg -------------------------------------------------------------------------------- /Proliferative/14844_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/14844_left.jpeg -------------------------------------------------------------------------------- /Proliferative/14844_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/14844_right.jpeg -------------------------------------------------------------------------------- /Proliferative/15038_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/15038_left.jpeg -------------------------------------------------------------------------------- /Proliferative/15459_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/15459_left.jpeg -------------------------------------------------------------------------------- /Proliferative/2016_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/2016_left.jpeg -------------------------------------------------------------------------------- /Proliferative/2031_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/2031_right.jpeg -------------------------------------------------------------------------------- /Proliferative/294_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/294_left.jpeg -------------------------------------------------------------------------------- /Proliferative/294_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/294_right.jpeg -------------------------------------------------------------------------------- /Proliferative/3064_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/3064_left.jpeg -------------------------------------------------------------------------------- /Proliferative/3064_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/3064_right.jpeg -------------------------------------------------------------------------------- /Proliferative/3088_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Proliferative/3088_left.jpeg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AI-Driven-DR-Detection-System 2 | 3 | AI-driven Detection & Classification of Diabetic Retinopathy is a cutting-edge approach that combines artificial intelligence (AI) with medical image analysis to identify and categorize a specific eye disease called Diabetic Retinopathy (DR). 4 | 5 | Diabetic retinopathy is a serious and advancing ocular disease that impacts people who have diabetes, especially individuals with poorly managed glucose levels over an extended period. It ranks among the primary reason for blindness among adults & elderly individuals worldwide. This condition is a serious and widespread complication of diabetes that affects the retina, leading to vision impairment or even blindness if left untreated. 6 | 7 | The proposed AI-based approach leverages deep learning algorithms, primarily convnets, to automatically detect and classify DR lesions in retinal fundus images. The method involves several essential steps, including Data Collection, Preprocessing, Augmentation, and modeling, culminating in fundus image categorization into severity levels such as No DR, Mild, Moderate, Severe, and Proliferative DR. Through the utilization of GPUs during model training, computation time is significantly reduced, resulting in an outstanding roughly achieving an accuracy of 85% on a dataset of 35,126 publicly released retinal images from eyePACS on Kaggle. 8 | 9 | This accessibility is particularly beneficial for regions with limited access to specialized ophthalmologists, enabling early detection and intervention for individuals at risk of diabetic retinopathy. Through leveraging the capabilities of deep learning and image analysis, this approach offers accurate and efficient detection of DR lesions, aiding healthcare professionals in making informed decisions and ultimately improving the outcomes for patients with diabetes. 10 | 11 | 12 | ## Dataset 13 | 14 | The dataset comprises a total of 35,126 images, which presents a notable class imbalance, notably with class 0 (No DR) representing a significant majority at 73.47%. To overcome this imbalance and ensure effective model training, data augmentation techniques are implemented, which involve augmenting the existing data to balance the distribution across all classes. For a comprehensive breakdown investigating the count of images in each class, refer below. The pivotal role of data augmentation becomes apparent in enhancing the model's ability to learn from diverse samples and ultimately improve the precision and robustness of the diabetic retinopathy detection system. 15 | 16 | ## Dataset: Class Count in DR 17 | No DR - 25810 | 18 | Mild NPDR - 2443 || 19 | Moderate NPDR - 5292 || 20 | Severe NPDR - 873 || 21 | Proliferative - 708 22 | 23 | 24 | ## Implementation Result 25 | 26 | ## Figure 1: Login into the DR System through User Credentials 27 | 28 | ![image](https://github.com/picoders1/AI-Driven-DR-Detection-System/assets/87698874/493d2b68-d85b-434f-823d-6359a67a3c1e) 29 | 30 | ## Figure 2: Home screen of the Diabetic Retinopathy Diagnosis system 31 | 32 | ![image](https://github.com/picoders1/AI-Driven-DR-Detection-System/assets/87698874/7d2b4238-80c8-4181-969d-8a3a7ee625fd) 33 | 34 | ## Figure 3: Upload Input as Fundus Image 35 | 36 | ![image](https://github.com/picoders1/AI-Driven-DR-Detection-System/assets/87698874/ddb2eb00-dff2-477a-85c5-24b63949b74b) 37 | 38 | ## Figure 4: Assessing the patient's condition through the Automated Neural Network Model 39 | 40 | ![image](https://github.com/picoders1/AI-Driven-DR-Detection-System/assets/87698874/fe3ee4d7-2a06-4272-b717-c83f57f2e61a) 41 | 42 | 43 | The system has the potential to revolutionize the healthcare industry by improving patient outcomes, increasing access to care, and reducing costs. 44 | 45 | The system is concerned about accuracy and patient privacy and represents an important and promising area of innovation in healthcare. 46 | 47 | 48 | ## ----- Future Enhancement ----- 49 | 50 | ## 1. Telemedicine and Remote Screening: 51 | 52 | Telemedicine platforms and remote screening solutions will become more prevalent, allowing individuals with diabetes in remote or underserved areas to access diabetic retinopathy detection services without the need for in-person visits to specialized eye clinics. 53 | 54 | ## 2. Mobile Applications and Self-monitoring: 55 | 56 | Mobile applications and self-monitoring tools may empower individuals with diabetes to regularly assess their eye health at home. With the integration of smartphone cameras and AI-based algorithms, these applications could enable self-screening for diabetic retinopathy and prompt users to seek a professional evaluation if necessary. 57 | 58 | 59 | ## Thank You !! 60 | -------------------------------------------------------------------------------- /Severe/1008_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/1008_left.jpeg -------------------------------------------------------------------------------- /Severe/10153_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/10153_left.jpeg -------------------------------------------------------------------------------- /Severe/10153_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/10153_right.jpeg -------------------------------------------------------------------------------- /Severe/10159_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/10159_right.jpeg -------------------------------------------------------------------------------- /Severe/11031_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/11031_left.jpeg -------------------------------------------------------------------------------- /Severe/11031_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/11031_right.jpeg -------------------------------------------------------------------------------- /Severe/11035_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/11035_left.jpeg -------------------------------------------------------------------------------- /Severe/11035_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/11035_right.jpeg -------------------------------------------------------------------------------- /Severe/11206_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/11206_right.jpeg -------------------------------------------------------------------------------- /Severe/11211_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/11211_left.jpeg -------------------------------------------------------------------------------- /Severe/11546_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/11546_left.jpeg -------------------------------------------------------------------------------- /Severe/11546_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/11546_right.jpeg -------------------------------------------------------------------------------- /Severe/11697_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/11697_right.jpeg -------------------------------------------------------------------------------- /Severe/1170_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/1170_left.jpeg -------------------------------------------------------------------------------- /Severe/1170_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/1170_right.jpeg -------------------------------------------------------------------------------- /Severe/1177_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/1177_left.jpeg -------------------------------------------------------------------------------- /Severe/1177_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/1177_right.jpeg -------------------------------------------------------------------------------- /Severe/11871_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/11871_left.jpeg -------------------------------------------------------------------------------- /Severe/11889_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/11889_left.jpeg -------------------------------------------------------------------------------- /Severe/11889_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/11889_right.jpeg -------------------------------------------------------------------------------- /Severe/1196_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/1196_left.jpeg -------------------------------------------------------------------------------- /Severe/1196_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/1196_right.jpeg -------------------------------------------------------------------------------- /Severe/12000_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/12000_left.jpeg -------------------------------------------------------------------------------- /Severe/12306_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/12306_left.jpeg -------------------------------------------------------------------------------- /Severe/12612_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/12612_left.jpeg -------------------------------------------------------------------------------- /Severe/12612_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/12612_right.jpeg -------------------------------------------------------------------------------- /Severe/12652_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/12652_right.jpeg -------------------------------------------------------------------------------- /Severe/12667_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/12667_left.jpeg -------------------------------------------------------------------------------- /Severe/12667_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/12667_right.jpeg -------------------------------------------------------------------------------- /Severe/13716_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/13716_left.jpeg -------------------------------------------------------------------------------- /Severe/13716_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/13716_right.jpeg -------------------------------------------------------------------------------- /Severe/14109_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/14109_left.jpeg -------------------------------------------------------------------------------- /Severe/14109_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/14109_right.jpeg -------------------------------------------------------------------------------- /Severe/14129_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/14129_left.jpeg -------------------------------------------------------------------------------- /Severe/14129_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/14129_right.jpeg -------------------------------------------------------------------------------- /Severe/1471_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/1471_left.jpeg -------------------------------------------------------------------------------- /Severe/1471_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/1471_right.jpeg -------------------------------------------------------------------------------- /Severe/1639_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/1639_left.jpeg -------------------------------------------------------------------------------- /Severe/1639_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/1639_right.jpeg -------------------------------------------------------------------------------- /Severe/1919_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/1919_left.jpeg -------------------------------------------------------------------------------- /Severe/2132_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/2132_right.jpeg -------------------------------------------------------------------------------- /Severe/2275_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/2275_left.jpeg -------------------------------------------------------------------------------- /Severe/23426_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/23426_left.jpeg -------------------------------------------------------------------------------- /Severe/23426_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/23426_right.jpeg -------------------------------------------------------------------------------- /Severe/23485_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/23485_left.jpeg -------------------------------------------------------------------------------- /Severe/23604_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/23604_right.jpeg -------------------------------------------------------------------------------- /Severe/2862_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/2862_left.jpeg -------------------------------------------------------------------------------- /Severe/2862_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/2862_right.jpeg -------------------------------------------------------------------------------- /Severe/3096_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/3096_left.jpeg -------------------------------------------------------------------------------- /Severe/3096_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/3096_right.jpeg -------------------------------------------------------------------------------- /Severe/3192_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/Severe/3192_left.jpeg -------------------------------------------------------------------------------- /app1.py: -------------------------------------------------------------------------------- 1 | from flask import * 2 | import os 3 | from werkzeug.utils import secure_filename 4 | import label_image 5 | 6 | def load_image(image): 7 | text = label_image.main(image) 8 | return text 9 | 10 | app = Flask(__name__) 11 | 12 | @app.route('/') 13 | def index(): 14 | return render_template('index.html') 15 | 16 | @app.route('/predict', methods=['GET', 'POST']) 17 | def upload(): 18 | if request.method == 'POST': 19 | # Get the file from post request 20 | f = request.files['file'] 21 | file_path = secure_filename(f.filename) 22 | f.save(file_path) 23 | # Make prediction 24 | result = load_image(file_path) 25 | result = result.title() 26 | d = {"no dr":"✓",'Mild':"❌","Moderate":"❌","Severe":"❌","proliferative dr":"❌"} 27 | result = result+d[result] 28 | #result = [result] 29 | print(result) 30 | os.remove(file_path) 31 | return result 32 | return None 33 | 34 | if __name__ == '__main__': 35 | app.run() -------------------------------------------------------------------------------- /app2.py: -------------------------------------------------------------------------------- 1 | from flask import Flask, render_template, request, url_for, Markup, jsonify 2 | import pickle 3 | import pandas as pd 4 | import numpy as np 5 | from sklearn.preprocessing import MinMaxScaler 6 | from werkzeug.utils import secure_filename 7 | import pickle 8 | from flask import * 9 | import os 10 | from werkzeug.utils import secure_filename 11 | import label_image 12 | 13 | def load_image(image): 14 | text = label_image.main(image) 15 | return text 16 | 17 | 18 | 19 | app = Flask(__name__) #Initialize the flask App 20 | 21 | 22 | 23 | 24 | @app.route('/') 25 | @app.route('/first') 26 | def first(): 27 | return render_template('first.html') 28 | 29 | 30 | 31 | 32 | @app.route('/login') 33 | def login(): 34 | return render_template('login.html') 35 | @app.route('/chart') 36 | def chart(): 37 | return render_template('chart.html') 38 | 39 | 40 | @app.route('/index') 41 | def index(): 42 | return render_template('index.html') 43 | 44 | @app.route('/predict', methods=['GET', 'POST']) 45 | def upload(): 46 | if request.method == 'POST': 47 | # Get the file from post request 48 | f = request.files['file'] 49 | file_path = secure_filename(f.filename) 50 | f.save(file_path) 51 | # Make prediction 52 | result = load_image(file_path) 53 | result = result.title() 54 | d = {"Normal":"✓",'Mild':"❌","Moderate":"❌","Severe":"❌","Proliferative":"❌"} 55 | result = result+d[result] 56 | #result = [result] 57 | print(result) 58 | os.remove(file_path) 59 | return result 60 | return None 61 | 62 | if __name__ == '__main__': 63 | app.run(debug=False,host='0.0.0.0') -------------------------------------------------------------------------------- /dataset: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /label_image.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | from __future__ import division 3 | from __future__ import print_function 4 | 5 | 6 | import argparse 7 | import sys 8 | import time 9 | 10 | import numpy as np 11 | import tensorflow.compat.v1 as tf 12 | tf.disable_v2_behavior() 13 | 14 | def load_graph(model_file): 15 | graph = tf.Graph() 16 | graph_def = tf.compat.v1.GraphDef() 17 | 18 | with open(model_file, "rb") as f: 19 | graph_def.ParseFromString(f.read()) 20 | with graph.as_default(): 21 | tf.import_graph_def(graph_def) 22 | 23 | return graph 24 | 25 | def read_tensor_from_image_file(file_name, input_height=299, input_width=299, 26 | input_mean=0, input_std=255): 27 | input_name = "file_reader" 28 | output_name = "normalized" 29 | file_reader = tf.io.read_file(file_name, input_name) 30 | if file_name.endswith(".png"): 31 | image_reader = tf.image.decode_png(file_reader, channels = 3, 32 | name='png_reader') 33 | elif file_name.endswith(".gif"): 34 | image_reader = tf.squeeze(tf.image.decode_gif(file_reader, 35 | name='gif_reader')) 36 | elif file_name.endswith(".bmp"): 37 | image_reader = tf.image.decode_bmp(file_reader, name='bmp_reader') 38 | else: 39 | image_reader = tf.image.decode_jpeg(file_reader, channels = 3, 40 | name='jpeg_reader') 41 | float_caster = tf.cast(image_reader, tf.float32) 42 | dims_expander = tf.expand_dims(float_caster, 0); 43 | resized = tf.image.resize(dims_expander, [input_height, input_width]) 44 | normalized = tf.divide(tf.subtract(resized, [input_mean]), [input_std]) 45 | sess = tf.Session() 46 | result = sess.run(normalized) 47 | 48 | return result 49 | 50 | def load_labels(label_file): 51 | label = [] 52 | 53 | proto_as_ascii_lines = tf.gfile.GFile(label_file).readlines() 54 | for l in proto_as_ascii_lines: 55 | label.append(l.rstrip()) 56 | 57 | return label 58 | 59 | 60 | 61 | def main(img): 62 | file_name = img 63 | model_file = "retrained_graph.pb" 64 | label_file = "retrained_labels.txt" 65 | input_height = 299 66 | input_width = 299 67 | input_mean = 128 68 | input_std = 128 69 | input_layer = "Mul" 70 | output_layer = "final_result" 71 | 72 | parser = argparse.ArgumentParser() 73 | parser.add_argument("--image", help="image to be processed") 74 | parser.add_argument("--graph", help="graph/model to be executed") 75 | parser.add_argument("--labels", help="name of file containing labels") 76 | parser.add_argument("--input_height", type=int, help="input height") 77 | parser.add_argument("--input_width", type=int, help="input width") 78 | parser.add_argument("--input_mean", type=int, help="input mean") 79 | parser.add_argument("--input_std", type=int, help="input std") 80 | parser.add_argument("--input_layer", help="name of input layer") 81 | parser.add_argument("--output_layer", help="name of output layer") 82 | args = parser.parse_args() 83 | 84 | if args.graph: 85 | model_file = args.graph 86 | if args.image: 87 | file_name = args.image 88 | if args.labels: 89 | label_file = args.labels 90 | if args.input_height: 91 | input_height = args.input_height 92 | if args.input_width: 93 | input_width = args.input_width 94 | if args.input_mean: 95 | input_mean = args.input_mean 96 | if args.input_std: 97 | input_std = args.input_std 98 | if args.input_layer: 99 | input_layer = args.input_layer 100 | if args.output_layer: 101 | output_layer = args.output_layer 102 | 103 | graph = load_graph(model_file) 104 | t = read_tensor_from_image_file(file_name, 105 | input_height=input_height, 106 | input_width=input_width, 107 | input_mean=input_mean, 108 | input_std=input_std) 109 | 110 | input_name = "import/" + input_layer 111 | output_name = "import/" + output_layer 112 | input_operation = graph.get_operation_by_name(input_name); 113 | output_operation = graph.get_operation_by_name(output_name); 114 | 115 | 116 | with tf.Session(graph=graph) as sess: 117 | start = time.time() 118 | results = sess.run(output_operation.outputs[0], 119 | {input_operation.outputs[0]: t}) 120 | end=time.time() 121 | results = np.squeeze(results) 122 | 123 | top_k = results.argsort()[-5:][::-1] 124 | labels = load_labels(label_file) 125 | 126 | 127 | 128 | 129 | 130 | 131 | for i in top_k: 132 | return labels[i] -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | numpy 2 | tensorflow==1.14.0 3 | flask 4 | Werkzeug 5 | gunicorn 6 | 7 | python retrain.py --output_graph=retrained_graph.pb --output_labels=retrained_labels.txt --architecure=MobileNet_1.0_224 --image_dir=dataset -------------------------------------------------------------------------------- /retrained_labels.txt: -------------------------------------------------------------------------------- 1 | mild 2 | moderate 3 | normal 4 | proliferative 5 | severe 6 | -------------------------------------------------------------------------------- /static/css/main1.css: -------------------------------------------------------------------------------- 1 | 2 | .img-preview { 3 | width: 256px; 4 | height: 256px; 5 | position: relative; 6 | border: 5px solid #F8F8F8; 7 | box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1); 8 | margin-top: 1em; 9 | margin-bottom: 1em; 10 | } 11 | 12 | .img-preview>div { 13 | width: 100%; 14 | height: 100%; 15 | background-size: 256px 256px; 16 | background-repeat: no-repeat; 17 | background-position: center; 18 | } 19 | 20 | input[type="file"] { 21 | display: none; 22 | } 23 | 24 | .upload-label{ 25 | display: inline-block; 26 | padding: 12px 30px; 27 | background: #39D2B4; 28 | color: #fff; 29 | font-size: 1em; 30 | transition: all .4s; 31 | cursor: pointer; 32 | } 33 | 34 | .upload-label:hover{ 35 | background: #34495E; 36 | color: #39D2B4; 37 | } 38 | 39 | .loader { 40 | border: 8px solid #f3f3f3; /* Light grey */ 41 | border-top: 8px solid #3498db; /* Blue */ 42 | border-radius: 50%; 43 | width: 50px; 44 | height: 50px; 45 | animation: spin 1s linear infinite; 46 | } 47 | 48 | @keyframes spin { 49 | 0% { transform: rotate(0deg); } 50 | 100% { transform: rotate(360deg); } 51 | } -------------------------------------------------------------------------------- /static/js/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Template Name: Restaurantly - v3.0.1 3 | * Template URL: https://bootstrapmade.com/restaurantly-restaurant-template/ 4 | * Author: BootstrapMade.com 5 | * License: https://bootstrapmade.com/license/ 6 | */ 7 | (function() { 8 | "use strict"; 9 | 10 | /** 11 | * Easy selector helper function 12 | */ 13 | const select = (el, all = false) => { 14 | el = el.trim() 15 | if (all) { 16 | return [...document.querySelectorAll(el)] 17 | } else { 18 | return document.querySelector(el) 19 | } 20 | } 21 | 22 | /** 23 | * Easy event listener function 24 | */ 25 | const on = (type, el, listener, all = false) => { 26 | let selectEl = select(el, all) 27 | if (selectEl) { 28 | if (all) { 29 | selectEl.forEach(e => e.addEventListener(type, listener)) 30 | } else { 31 | selectEl.addEventListener(type, listener) 32 | } 33 | } 34 | } 35 | 36 | /** 37 | * Easy on scroll event listener 38 | */ 39 | const onscroll = (el, listener) => { 40 | el.addEventListener('scroll', listener) 41 | } 42 | 43 | /** 44 | * Navbar links active state on scroll 45 | */ 46 | let navbarlinks = select('#navbar .scrollto', true) 47 | const navbarlinksActive = () => { 48 | let position = window.scrollY + 200 49 | navbarlinks.forEach(navbarlink => { 50 | if (!navbarlink.hash) return 51 | let section = select(navbarlink.hash) 52 | if (!section) return 53 | if (position >= section.offsetTop && position <= (section.offsetTop + section.offsetHeight)) { 54 | navbarlink.classList.add('active') 55 | } else { 56 | navbarlink.classList.remove('active') 57 | } 58 | }) 59 | } 60 | window.addEventListener('load', navbarlinksActive) 61 | onscroll(document, navbarlinksActive) 62 | 63 | /** 64 | * Scrolls to an element with header offset 65 | */ 66 | const scrollto = (el) => { 67 | let header = select('#header') 68 | let offset = header.offsetHeight 69 | 70 | let elementPos = select(el).offsetTop 71 | window.scrollTo({ 72 | top: elementPos - offset, 73 | behavior: 'smooth' 74 | }) 75 | } 76 | 77 | /** 78 | * Toggle .header-scrolled class to #header when page is scrolled 79 | */ 80 | let selectHeader = select('#header') 81 | let selectTopbar = select('#topbar') 82 | if (selectHeader) { 83 | const headerScrolled = () => { 84 | if (window.scrollY > 100) { 85 | selectHeader.classList.add('header-scrolled') 86 | if (selectTopbar) { 87 | selectTopbar.classList.add('topbar-scrolled') 88 | } 89 | } else { 90 | selectHeader.classList.remove('header-scrolled') 91 | if (selectTopbar) { 92 | selectTopbar.classList.remove('topbar-scrolled') 93 | } 94 | } 95 | } 96 | window.addEventListener('load', headerScrolled) 97 | onscroll(document, headerScrolled) 98 | } 99 | 100 | /** 101 | * Back to top button 102 | */ 103 | let backtotop = select('.back-to-top') 104 | if (backtotop) { 105 | const toggleBacktotop = () => { 106 | if (window.scrollY > 100) { 107 | backtotop.classList.add('active') 108 | } else { 109 | backtotop.classList.remove('active') 110 | } 111 | } 112 | window.addEventListener('load', toggleBacktotop) 113 | onscroll(document, toggleBacktotop) 114 | } 115 | 116 | /** 117 | * Mobile nav toggle 118 | */ 119 | on('click', '.mobile-nav-toggle', function(e) { 120 | select('#navbar').classList.toggle('navbar-mobile') 121 | this.classList.toggle('bi-list') 122 | this.classList.toggle('bi-x') 123 | }) 124 | 125 | /** 126 | * Mobile nav dropdowns activate 127 | */ 128 | on('click', '.navbar .dropdown > a', function(e) { 129 | if (select('#navbar').classList.contains('navbar-mobile')) { 130 | e.preventDefault() 131 | this.nextElementSibling.classList.toggle('dropdown-active') 132 | } 133 | }, true) 134 | 135 | /** 136 | * Scrool with ofset on links with a class name .scrollto 137 | */ 138 | on('click', '.scrollto', function(e) { 139 | if (select(this.hash)) { 140 | e.preventDefault() 141 | 142 | let navbar = select('#navbar') 143 | if (navbar.classList.contains('navbar-mobile')) { 144 | navbar.classList.remove('navbar-mobile') 145 | let navbarToggle = select('.mobile-nav-toggle') 146 | navbarToggle.classList.toggle('bi-list') 147 | navbarToggle.classList.toggle('bi-x') 148 | } 149 | scrollto(this.hash) 150 | } 151 | }, true) 152 | 153 | /** 154 | * Scroll with ofset on page load with hash links in the url 155 | */ 156 | window.addEventListener('load', () => { 157 | if (window.location.hash) { 158 | if (select(window.location.hash)) { 159 | scrollto(window.location.hash) 160 | } 161 | } 162 | }); 163 | 164 | /** 165 | * Preloader 166 | */ 167 | let preloader = select('#preloader'); 168 | if (preloader) { 169 | window.addEventListener('load', () => { 170 | preloader.remove() 171 | }); 172 | } 173 | 174 | /** 175 | * Menu isotope and filter 176 | */ 177 | window.addEventListener('load', () => { 178 | let menuContainer = select('.menu-container'); 179 | if (menuContainer) { 180 | let menuIsotope = new Isotope(menuContainer, { 181 | itemSelector: '.menu-item', 182 | layoutMode: 'fitRows' 183 | }); 184 | 185 | let menuFilters = select('#menu-flters li', true); 186 | 187 | on('click', '#menu-flters li', function(e) { 188 | e.preventDefault(); 189 | menuFilters.forEach(function(el) { 190 | el.classList.remove('filter-active'); 191 | }); 192 | this.classList.add('filter-active'); 193 | 194 | menuIsotope.arrange({ 195 | filter: this.getAttribute('data-filter') 196 | }); 197 | menuIsotope.on('arrangeComplete', function() { 198 | AOS.refresh() 199 | }); 200 | }, true); 201 | } 202 | 203 | }); 204 | 205 | /** 206 | * Initiate glightbox 207 | */ 208 | const glightbox = GLightbox({ 209 | selector: '.glightbox' 210 | }); 211 | 212 | /** 213 | * Events slider 214 | */ 215 | new Swiper('.events-slider', { 216 | speed: 600, 217 | loop: true, 218 | autoplay: { 219 | delay: 5000, 220 | disableOnInteraction: false 221 | }, 222 | slidesPerView: 'auto', 223 | pagination: { 224 | el: '.swiper-pagination', 225 | type: 'bullets', 226 | clickable: true 227 | } 228 | }); 229 | 230 | /** 231 | * Testimonials slider 232 | */ 233 | new Swiper('.testimonials-slider', { 234 | speed: 600, 235 | loop: true, 236 | autoplay: { 237 | delay: 5000, 238 | disableOnInteraction: false 239 | }, 240 | slidesPerView: 'auto', 241 | pagination: { 242 | el: '.swiper-pagination', 243 | type: 'bullets', 244 | clickable: true 245 | }, 246 | breakpoints: { 247 | 320: { 248 | slidesPerView: 1, 249 | spaceBetween: 20 250 | }, 251 | 252 | 1200: { 253 | slidesPerView: 3, 254 | spaceBetween: 20 255 | } 256 | } 257 | }); 258 | 259 | /** 260 | * Initiate gallery lightbox 261 | */ 262 | const galleryLightbox = GLightbox({ 263 | selector: '.gallery-lightbox' 264 | }); 265 | 266 | /** 267 | * Animation on scroll 268 | */ 269 | window.addEventListener('load', () => { 270 | AOS.init({ 271 | duration: 1000, 272 | easing: 'ease-in-out', 273 | once: true, 274 | mirror: false 275 | }) 276 | }); 277 | 278 | })() -------------------------------------------------------------------------------- /static/js/main1.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function () { 2 | // Init 3 | $('.image-section').hide(); 4 | $('.loader').hide(); 5 | $('#result').hide(); 6 | 7 | // Upload Preview 8 | function readURL(input) { 9 | if (input.files && input.files[0]) { 10 | var reader = new FileReader(); 11 | reader.onload = function (e) { 12 | $('#imagePreview').css('background-image', 'url(' + e.target.result + ')'); 13 | $('#imagePreview').hide(); 14 | $('#imagePreview').fadeIn(650); 15 | } 16 | reader.readAsDataURL(input.files[0]); 17 | } 18 | } 19 | $("#imageUpload").change(function () { 20 | $('.image-section').show(); 21 | $('#btn-predict').show(); 22 | $('#result').text(''); 23 | $('#result').hide(); 24 | readURL(this); 25 | }); 26 | 27 | // Predict 28 | $('#btn-predict').click(function () { 29 | var form_data = new FormData($('#upload-file')[0]); 30 | 31 | // Show loading animation 32 | $(this).hide(); 33 | $('.loader').show(); 34 | 35 | // Make prediction by calling api /predict 36 | $.ajax({ 37 | type: 'POST', 38 | url: '/predict', 39 | data: form_data, 40 | contentType: false, 41 | cache: false, 42 | processData: false, 43 | async: true, 44 | success: function (data) { 45 | // Get and display the result 46 | $('.loader').hide(); 47 | $('#result').fadeIn(600); 48 | $('#result').text(' Result: ' + data); 49 | console.log('Success!'); 50 | }, 51 | }); 52 | }); 53 | 54 | }); -------------------------------------------------------------------------------- /static/main1.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function () { 2 | // Init 3 | $('.image-section').hide(); 4 | $('.loader').hide(); 5 | $('#result').hide(); 6 | 7 | // Upload Preview 8 | function readURL(input) { 9 | if (input.files && input.files[0]) { 10 | var reader = new FileReader(); 11 | reader.onload = function (e) { 12 | $('#imagePreview').css('background-image', 'url(' + e.target.result + ')'); 13 | $('#imagePreview').hide(); 14 | $('#imagePreview').fadeIn(650); 15 | } 16 | reader.readAsDataURL(input.files[0]); 17 | } 18 | } 19 | $("#imageUpload").change(function () { 20 | $('.image-section').show(); 21 | $('#btn-predict').show(); 22 | $('#result').text(''); 23 | $('#result').hide(); 24 | readURL(this); 25 | }); 26 | 27 | // Predict 28 | $('#btn-predict').click(function () { 29 | var form_data = new FormData($('#upload-file')[0]); 30 | 31 | // Show loading animation 32 | $(this).hide(); 33 | $('.loader').show(); 34 | 35 | // Make prediction by calling api /predict 36 | $.ajax({ 37 | type: 'POST', 38 | url: '/predict', 39 | data: form_data, 40 | contentType: false, 41 | cache: false, 42 | processData: false, 43 | async: true, 44 | success: function (data) { 45 | // Get and display the result 46 | $('.loader').hide(); 47 | $('#result').fadeIn(600); 48 | $('#result').text(' Result: ' + data); 49 | console.log('Success!'); 50 | }, 51 | }); 52 | }); 53 | 54 | }); -------------------------------------------------------------------------------- /static/vendor/aos/aos.js: -------------------------------------------------------------------------------- 1 | !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AOS=t():e.AOS=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="dist/",t(0)}([function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]&&arguments[0];if(e&&(k=!0),k)return w=(0,y.default)(w,x),(0,b.default)(w,x.once),w},O=function(){w=(0,h.default)(),j()},M=function(){w.forEach(function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")})},S=function(e){return e===!0||"mobile"===e&&p.default.mobile()||"phone"===e&&p.default.phone()||"tablet"===e&&p.default.tablet()||"function"==typeof e&&e()===!0},_=function(e){x=i(x,e),w=(0,h.default)();var t=document.all&&!window.atob;return S(x.disable)||t?M():(x.disableMutationObserver||d.default.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),x.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",x.easing),document.querySelector("body").setAttribute("data-aos-duration",x.duration),document.querySelector("body").setAttribute("data-aos-delay",x.delay),"DOMContentLoaded"===x.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?j(!0):"load"===x.startEvent?window.addEventListener(x.startEvent,function(){j(!0)}):document.addEventListener(x.startEvent,function(){j(!0)}),window.addEventListener("resize",(0,s.default)(j,x.debounceDelay,!0)),window.addEventListener("orientationchange",(0,s.default)(j,x.debounceDelay,!0)),window.addEventListener("scroll",(0,u.default)(function(){(0,b.default)(w,x.once)},x.throttleDelay)),x.disableMutationObserver||d.default.ready("[data-aos]",O),w)};e.exports={init:_,refresh:j,refreshHard:O}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function n(e,t,n){function o(t){var n=b,o=v;return b=v=void 0,k=t,g=e.apply(o,n)}function r(e){return k=e,h=setTimeout(f,t),M?o(e):g}function a(e){var n=e-w,o=e-k,i=t-n;return S?j(i,y-o):i}function c(e){var n=e-w,o=e-k;return void 0===w||n>=t||n<0||S&&o>=y}function f(){var e=O();return c(e)?d(e):void(h=setTimeout(f,a(e)))}function d(e){return h=void 0,_&&b?o(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),k=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(O())}function m(){var e=O(),n=c(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(f,t),o(w)}return void 0===h&&(h=setTimeout(f,t)),g}var b,v,y,g,h,w,k=0,M=!1,S=!1,_=!0;if("function"!=typeof e)throw new TypeError(s);return t=u(t)||0,i(n)&&(M=!!n.leading,S="maxWait"in n,y=S?x(u(n.maxWait)||0,t):y,_="trailing"in n?!!n.trailing:_),m.cancel=l,m.flush=p,m}function o(e,t,o){var r=!0,a=!0;if("function"!=typeof e)throw new TypeError(s);return i(o)&&(r="leading"in o?!!o.leading:r,a="trailing"in o?!!o.trailing:a),n(e,t,{leading:r,maxWait:t,trailing:a})}function i(e){var t="undefined"==typeof e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==("undefined"==typeof e?"undefined":c(e))}function a(e){return"symbol"==("undefined"==typeof e?"undefined":c(e))||r(e)&&k.call(e)==d}function u(e){if("number"==typeof e)return e;if(a(e))return f;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(l,"");var n=m.test(e);return n||b.test(e)?v(e.slice(2),n?2:8):p.test(e)?f:+e}var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s="Expected a function",f=NaN,d="[object Symbol]",l=/^\s+|\s+$/g,p=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,b=/^0o[0-7]+$/i,v=parseInt,y="object"==("undefined"==typeof t?"undefined":c(t))&&t&&t.Object===Object&&t,g="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,h=y||g||Function("return this")(),w=Object.prototype,k=w.toString,x=Math.max,j=Math.min,O=function(){return h.Date.now()};e.exports=o}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function n(e,t,n){function i(t){var n=b,o=v;return b=v=void 0,O=t,g=e.apply(o,n)}function r(e){return O=e,h=setTimeout(f,t),M?i(e):g}function u(e){var n=e-w,o=e-O,i=t-n;return S?x(i,y-o):i}function s(e){var n=e-w,o=e-O;return void 0===w||n>=t||n<0||S&&o>=y}function f(){var e=j();return s(e)?d(e):void(h=setTimeout(f,u(e)))}function d(e){return h=void 0,_&&b?i(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),O=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(j())}function m(){var e=j(),n=s(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(f,t),i(w)}return void 0===h&&(h=setTimeout(f,t)),g}var b,v,y,g,h,w,O=0,M=!1,S=!1,_=!0;if("function"!=typeof e)throw new TypeError(c);return t=a(t)||0,o(n)&&(M=!!n.leading,S="maxWait"in n,y=S?k(a(n.maxWait)||0,t):y,_="trailing"in n?!!n.trailing:_),m.cancel=l,m.flush=p,m}function o(e){var t="undefined"==typeof e?"undefined":u(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==("undefined"==typeof e?"undefined":u(e))}function r(e){return"symbol"==("undefined"==typeof e?"undefined":u(e))||i(e)&&w.call(e)==f}function a(e){if("number"==typeof e)return e;if(r(e))return s;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(d,"");var n=p.test(e);return n||m.test(e)?b(e.slice(2),n?2:8):l.test(e)?s:+e}var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c="Expected a function",s=NaN,f="[object Symbol]",d=/^\s+|\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,m=/^0o[0-7]+$/i,b=parseInt,v="object"==("undefined"==typeof t?"undefined":u(t))&&t&&t.Object===Object&&t,y="object"==("undefined"==typeof self?"undefined":u(self))&&self&&self.Object===Object&&self,g=v||y||Function("return this")(),h=Object.prototype,w=h.toString,k=Math.max,x=Math.min,j=function(){return g.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){"use strict";function n(e){var t=void 0,o=void 0,i=void 0;for(t=0;te.position?e.node.classList.add("aos-animate"):"undefined"!=typeof o&&("false"===o||!n&&"true"!==o)&&e.node.classList.remove("aos-animate")},o=function(e,t){var o=window.pageYOffset,i=window.innerHeight;e.forEach(function(e,r){n(e,i+o,t)})};t.default=o},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(12),r=o(i),a=function(e,t){return e.forEach(function(e,n){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)}),e};t.default=a},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(13),r=o(i),a=function(e,t){var n=0,o=0,i=window.innerHeight,a={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(a.offset&&!isNaN(a.offset)&&(o=parseInt(a.offset)),a.anchor&&document.querySelectorAll(a.anchor)&&(e=document.querySelectorAll(a.anchor)[0]),n=(0,r.default)(e).top,a.anchorPlacement){case"top-bottom":break;case"center-bottom":n+=e.offsetHeight/2;break;case"bottom-bottom":n+=e.offsetHeight;break;case"top-center":n+=i/2;break;case"bottom-center":n+=i/2+e.offsetHeight;break;case"center-center":n+=i/2+e.offsetHeight/2;break;case"top-top":n+=i;break;case"bottom-top":n+=e.offsetHeight+i;break;case"center-top":n+=e.offsetHeight/2+i}return a.anchorPlacement||a.offset||isNaN(t)||(o=t),n+o};t.default=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}};t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,function(e){return{node:e}})};t.default=n}])}); -------------------------------------------------------------------------------- /static/vendor/bootstrap-icons/fonts/bootstrap-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/static/vendor/bootstrap-icons/fonts/bootstrap-icons.woff -------------------------------------------------------------------------------- /static/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/static/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 -------------------------------------------------------------------------------- /static/vendor/bootstrap/css/bootstrap-reboot.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v5.0.0-beta2 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */ 8 | *, 9 | *::before, 10 | *::after { 11 | box-sizing: border-box; 12 | } 13 | 14 | @media (prefers-reduced-motion: no-preference) { 15 | :root { 16 | scroll-behavior: smooth; 17 | } 18 | } 19 | 20 | body { 21 | margin: 0; 22 | font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 23 | font-size: 1rem; 24 | font-weight: 400; 25 | line-height: 1.5; 26 | color: #212529; 27 | background-color: #fff; 28 | -webkit-text-size-adjust: 100%; 29 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 30 | } 31 | 32 | [tabindex="-1"]:focus:not(:focus-visible) { 33 | outline: 0 !important; 34 | } 35 | 36 | hr { 37 | margin: 1rem 0; 38 | color: inherit; 39 | background-color: currentColor; 40 | border: 0; 41 | opacity: 0.25; 42 | } 43 | 44 | hr:not([size]) { 45 | height: 1px; 46 | } 47 | 48 | h6, h5, h4, h3, h2, h1 { 49 | margin-top: 0; 50 | margin-bottom: 0.5rem; 51 | font-weight: 500; 52 | line-height: 1.2; 53 | } 54 | 55 | h1 { 56 | font-size: calc(1.375rem + 1.5vw); 57 | } 58 | @media (min-width: 1200px) { 59 | h1 { 60 | font-size: 2.5rem; 61 | } 62 | } 63 | 64 | h2 { 65 | font-size: calc(1.325rem + 0.9vw); 66 | } 67 | @media (min-width: 1200px) { 68 | h2 { 69 | font-size: 2rem; 70 | } 71 | } 72 | 73 | h3 { 74 | font-size: calc(1.3rem + 0.6vw); 75 | } 76 | @media (min-width: 1200px) { 77 | h3 { 78 | font-size: 1.75rem; 79 | } 80 | } 81 | 82 | h4 { 83 | font-size: calc(1.275rem + 0.3vw); 84 | } 85 | @media (min-width: 1200px) { 86 | h4 { 87 | font-size: 1.5rem; 88 | } 89 | } 90 | 91 | h5 { 92 | font-size: 1.25rem; 93 | } 94 | 95 | h6 { 96 | font-size: 1rem; 97 | } 98 | 99 | p { 100 | margin-top: 0; 101 | margin-bottom: 1rem; 102 | } 103 | 104 | abbr[title], 105 | abbr[data-bs-original-title] { 106 | text-decoration: underline; 107 | -webkit-text-decoration: underline dotted; 108 | text-decoration: underline dotted; 109 | cursor: help; 110 | -webkit-text-decoration-skip-ink: none; 111 | text-decoration-skip-ink: none; 112 | } 113 | 114 | address { 115 | margin-bottom: 1rem; 116 | font-style: normal; 117 | line-height: inherit; 118 | } 119 | 120 | ol, 121 | ul { 122 | padding-left: 2rem; 123 | } 124 | 125 | ol, 126 | ul, 127 | dl { 128 | margin-top: 0; 129 | margin-bottom: 1rem; 130 | } 131 | 132 | ol ol, 133 | ul ul, 134 | ol ul, 135 | ul ol { 136 | margin-bottom: 0; 137 | } 138 | 139 | dt { 140 | font-weight: 700; 141 | } 142 | 143 | dd { 144 | margin-bottom: 0.5rem; 145 | margin-left: 0; 146 | } 147 | 148 | blockquote { 149 | margin: 0 0 1rem; 150 | } 151 | 152 | b, 153 | strong { 154 | font-weight: bolder; 155 | } 156 | 157 | small { 158 | font-size: 0.875em; 159 | } 160 | 161 | mark { 162 | padding: 0.2em; 163 | background-color: #fcf8e3; 164 | } 165 | 166 | sub, 167 | sup { 168 | position: relative; 169 | font-size: 0.75em; 170 | line-height: 0; 171 | vertical-align: baseline; 172 | } 173 | 174 | sub { 175 | bottom: -0.25em; 176 | } 177 | 178 | sup { 179 | top: -0.5em; 180 | } 181 | 182 | a { 183 | color: #0d6efd; 184 | text-decoration: underline; 185 | } 186 | a:hover { 187 | color: #0a58ca; 188 | } 189 | 190 | a:not([href]):not([class]), a:not([href]):not([class]):hover { 191 | color: inherit; 192 | text-decoration: none; 193 | } 194 | 195 | pre, 196 | code, 197 | kbd, 198 | samp { 199 | font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 200 | font-size: 1em; 201 | direction: ltr /* rtl:ignore */; 202 | unicode-bidi: bidi-override; 203 | } 204 | 205 | pre { 206 | display: block; 207 | margin-top: 0; 208 | margin-bottom: 1rem; 209 | overflow: auto; 210 | font-size: 0.875em; 211 | } 212 | pre code { 213 | font-size: inherit; 214 | color: inherit; 215 | word-break: normal; 216 | } 217 | 218 | code { 219 | font-size: 0.875em; 220 | color: #d63384; 221 | word-wrap: break-word; 222 | } 223 | a > code { 224 | color: inherit; 225 | } 226 | 227 | kbd { 228 | padding: 0.2rem 0.4rem; 229 | font-size: 0.875em; 230 | color: #fff; 231 | background-color: #212529; 232 | border-radius: 0.2rem; 233 | } 234 | kbd kbd { 235 | padding: 0; 236 | font-size: 1em; 237 | font-weight: 700; 238 | } 239 | 240 | figure { 241 | margin: 0 0 1rem; 242 | } 243 | 244 | img, 245 | svg { 246 | vertical-align: middle; 247 | } 248 | 249 | table { 250 | caption-side: bottom; 251 | border-collapse: collapse; 252 | } 253 | 254 | caption { 255 | padding-top: 0.5rem; 256 | padding-bottom: 0.5rem; 257 | color: #6c757d; 258 | text-align: left; 259 | } 260 | 261 | th { 262 | text-align: inherit; 263 | text-align: -webkit-match-parent; 264 | } 265 | 266 | thead, 267 | tbody, 268 | tfoot, 269 | tr, 270 | td, 271 | th { 272 | border-color: inherit; 273 | border-style: solid; 274 | border-width: 0; 275 | } 276 | 277 | label { 278 | display: inline-block; 279 | } 280 | 281 | button { 282 | border-radius: 0; 283 | } 284 | 285 | button:focus:not(:focus-visible) { 286 | outline: 0; 287 | } 288 | 289 | input, 290 | button, 291 | select, 292 | optgroup, 293 | textarea { 294 | margin: 0; 295 | font-family: inherit; 296 | font-size: inherit; 297 | line-height: inherit; 298 | } 299 | 300 | button, 301 | select { 302 | text-transform: none; 303 | } 304 | 305 | [role=button] { 306 | cursor: pointer; 307 | } 308 | 309 | select { 310 | word-wrap: normal; 311 | } 312 | 313 | [list]::-webkit-calendar-picker-indicator { 314 | display: none; 315 | } 316 | 317 | button, 318 | [type=button], 319 | [type=reset], 320 | [type=submit] { 321 | -webkit-appearance: button; 322 | } 323 | button:not(:disabled), 324 | [type=button]:not(:disabled), 325 | [type=reset]:not(:disabled), 326 | [type=submit]:not(:disabled) { 327 | cursor: pointer; 328 | } 329 | 330 | ::-moz-focus-inner { 331 | padding: 0; 332 | border-style: none; 333 | } 334 | 335 | textarea { 336 | resize: vertical; 337 | } 338 | 339 | fieldset { 340 | min-width: 0; 341 | padding: 0; 342 | margin: 0; 343 | border: 0; 344 | } 345 | 346 | legend { 347 | float: left; 348 | width: 100%; 349 | padding: 0; 350 | margin-bottom: 0.5rem; 351 | font-size: calc(1.275rem + 0.3vw); 352 | line-height: inherit; 353 | } 354 | @media (min-width: 1200px) { 355 | legend { 356 | font-size: 1.5rem; 357 | } 358 | } 359 | legend + * { 360 | clear: left; 361 | } 362 | 363 | ::-webkit-datetime-edit-fields-wrapper, 364 | ::-webkit-datetime-edit-text, 365 | ::-webkit-datetime-edit-minute, 366 | ::-webkit-datetime-edit-hour-field, 367 | ::-webkit-datetime-edit-day-field, 368 | ::-webkit-datetime-edit-month-field, 369 | ::-webkit-datetime-edit-year-field { 370 | padding: 0; 371 | } 372 | 373 | ::-webkit-inner-spin-button { 374 | height: auto; 375 | } 376 | 377 | [type=search] { 378 | outline-offset: -2px; 379 | -webkit-appearance: textfield; 380 | } 381 | 382 | /* rtl:raw: 383 | [type="tel"], 384 | [type="url"], 385 | [type="email"], 386 | [type="number"] { 387 | direction: ltr; 388 | } 389 | */ 390 | ::-webkit-search-decoration { 391 | -webkit-appearance: none; 392 | } 393 | 394 | ::-webkit-color-swatch-wrapper { 395 | padding: 0; 396 | } 397 | 398 | ::file-selector-button { 399 | font: inherit; 400 | } 401 | 402 | ::-webkit-file-upload-button { 403 | font: inherit; 404 | -webkit-appearance: button; 405 | } 406 | 407 | output { 408 | display: inline-block; 409 | } 410 | 411 | iframe { 412 | border: 0; 413 | } 414 | 415 | summary { 416 | display: list-item; 417 | cursor: pointer; 418 | } 419 | 420 | progress { 421 | vertical-align: baseline; 422 | } 423 | 424 | [hidden] { 425 | display: none !important; 426 | } 427 | 428 | /*# sourceMappingURL=bootstrap-reboot.css.map */ -------------------------------------------------------------------------------- /static/vendor/bootstrap/css/bootstrap-reboot.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v5.0.0-beta2 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important} 8 | /*# sourceMappingURL=bootstrap-reboot.min.css.map */ -------------------------------------------------------------------------------- /static/vendor/bootstrap/css/bootstrap-reboot.rtl.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v5.0.0-beta2 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */ 8 | *, 9 | *::before, 10 | *::after { 11 | box-sizing: border-box; 12 | } 13 | 14 | @media (prefers-reduced-motion: no-preference) { 15 | :root { 16 | scroll-behavior: smooth; 17 | } 18 | } 19 | 20 | body { 21 | margin: 0; 22 | font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 23 | font-size: 1rem; 24 | font-weight: 400; 25 | line-height: 1.5; 26 | color: #212529; 27 | background-color: #fff; 28 | -webkit-text-size-adjust: 100%; 29 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 30 | } 31 | 32 | [tabindex="-1"]:focus:not(:focus-visible) { 33 | outline: 0 !important; 34 | } 35 | 36 | hr { 37 | margin: 1rem 0; 38 | color: inherit; 39 | background-color: currentColor; 40 | border: 0; 41 | opacity: 0.25; 42 | } 43 | 44 | hr:not([size]) { 45 | height: 1px; 46 | } 47 | 48 | h6, h5, h4, h3, h2, h1 { 49 | margin-top: 0; 50 | margin-bottom: 0.5rem; 51 | font-weight: 500; 52 | line-height: 1.2; 53 | } 54 | 55 | h1 { 56 | font-size: calc(1.375rem + 1.5vw); 57 | } 58 | @media (min-width: 1200px) { 59 | h1 { 60 | font-size: 2.5rem; 61 | } 62 | } 63 | 64 | h2 { 65 | font-size: calc(1.325rem + 0.9vw); 66 | } 67 | @media (min-width: 1200px) { 68 | h2 { 69 | font-size: 2rem; 70 | } 71 | } 72 | 73 | h3 { 74 | font-size: calc(1.3rem + 0.6vw); 75 | } 76 | @media (min-width: 1200px) { 77 | h3 { 78 | font-size: 1.75rem; 79 | } 80 | } 81 | 82 | h4 { 83 | font-size: calc(1.275rem + 0.3vw); 84 | } 85 | @media (min-width: 1200px) { 86 | h4 { 87 | font-size: 1.5rem; 88 | } 89 | } 90 | 91 | h5 { 92 | font-size: 1.25rem; 93 | } 94 | 95 | h6 { 96 | font-size: 1rem; 97 | } 98 | 99 | p { 100 | margin-top: 0; 101 | margin-bottom: 1rem; 102 | } 103 | 104 | abbr[title], 105 | abbr[data-bs-original-title] { 106 | text-decoration: underline; 107 | -webkit-text-decoration: underline dotted; 108 | text-decoration: underline dotted; 109 | cursor: help; 110 | -webkit-text-decoration-skip-ink: none; 111 | text-decoration-skip-ink: none; 112 | } 113 | 114 | address { 115 | margin-bottom: 1rem; 116 | font-style: normal; 117 | line-height: inherit; 118 | } 119 | 120 | ol, 121 | ul { 122 | padding-right: 2rem; 123 | } 124 | 125 | ol, 126 | ul, 127 | dl { 128 | margin-top: 0; 129 | margin-bottom: 1rem; 130 | } 131 | 132 | ol ol, 133 | ul ul, 134 | ol ul, 135 | ul ol { 136 | margin-bottom: 0; 137 | } 138 | 139 | dt { 140 | font-weight: 700; 141 | } 142 | 143 | dd { 144 | margin-bottom: 0.5rem; 145 | margin-right: 0; 146 | } 147 | 148 | blockquote { 149 | margin: 0 0 1rem; 150 | } 151 | 152 | b, 153 | strong { 154 | font-weight: bolder; 155 | } 156 | 157 | small { 158 | font-size: 0.875em; 159 | } 160 | 161 | mark { 162 | padding: 0.2em; 163 | background-color: #fcf8e3; 164 | } 165 | 166 | sub, 167 | sup { 168 | position: relative; 169 | font-size: 0.75em; 170 | line-height: 0; 171 | vertical-align: baseline; 172 | } 173 | 174 | sub { 175 | bottom: -0.25em; 176 | } 177 | 178 | sup { 179 | top: -0.5em; 180 | } 181 | 182 | a { 183 | color: #0d6efd; 184 | text-decoration: underline; 185 | } 186 | a:hover { 187 | color: #0a58ca; 188 | } 189 | 190 | a:not([href]):not([class]), a:not([href]):not([class]):hover { 191 | color: inherit; 192 | text-decoration: none; 193 | } 194 | 195 | pre, 196 | code, 197 | kbd, 198 | samp { 199 | font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 200 | font-size: 1em; 201 | direction: ltr ; 202 | unicode-bidi: bidi-override; 203 | } 204 | 205 | pre { 206 | display: block; 207 | margin-top: 0; 208 | margin-bottom: 1rem; 209 | overflow: auto; 210 | font-size: 0.875em; 211 | } 212 | pre code { 213 | font-size: inherit; 214 | color: inherit; 215 | word-break: normal; 216 | } 217 | 218 | code { 219 | font-size: 0.875em; 220 | color: #d63384; 221 | word-wrap: break-word; 222 | } 223 | a > code { 224 | color: inherit; 225 | } 226 | 227 | kbd { 228 | padding: 0.2rem 0.4rem; 229 | font-size: 0.875em; 230 | color: #fff; 231 | background-color: #212529; 232 | border-radius: 0.2rem; 233 | } 234 | kbd kbd { 235 | padding: 0; 236 | font-size: 1em; 237 | font-weight: 700; 238 | } 239 | 240 | figure { 241 | margin: 0 0 1rem; 242 | } 243 | 244 | img, 245 | svg { 246 | vertical-align: middle; 247 | } 248 | 249 | table { 250 | caption-side: bottom; 251 | border-collapse: collapse; 252 | } 253 | 254 | caption { 255 | padding-top: 0.5rem; 256 | padding-bottom: 0.5rem; 257 | color: #6c757d; 258 | text-align: right; 259 | } 260 | 261 | th { 262 | text-align: inherit; 263 | text-align: -webkit-match-parent; 264 | } 265 | 266 | thead, 267 | tbody, 268 | tfoot, 269 | tr, 270 | td, 271 | th { 272 | border-color: inherit; 273 | border-style: solid; 274 | border-width: 0; 275 | } 276 | 277 | label { 278 | display: inline-block; 279 | } 280 | 281 | button { 282 | border-radius: 0; 283 | } 284 | 285 | button:focus:not(:focus-visible) { 286 | outline: 0; 287 | } 288 | 289 | input, 290 | button, 291 | select, 292 | optgroup, 293 | textarea { 294 | margin: 0; 295 | font-family: inherit; 296 | font-size: inherit; 297 | line-height: inherit; 298 | } 299 | 300 | button, 301 | select { 302 | text-transform: none; 303 | } 304 | 305 | [role=button] { 306 | cursor: pointer; 307 | } 308 | 309 | select { 310 | word-wrap: normal; 311 | } 312 | 313 | [list]::-webkit-calendar-picker-indicator { 314 | display: none; 315 | } 316 | 317 | button, 318 | [type=button], 319 | [type=reset], 320 | [type=submit] { 321 | -webkit-appearance: button; 322 | } 323 | button:not(:disabled), 324 | [type=button]:not(:disabled), 325 | [type=reset]:not(:disabled), 326 | [type=submit]:not(:disabled) { 327 | cursor: pointer; 328 | } 329 | 330 | ::-moz-focus-inner { 331 | padding: 0; 332 | border-style: none; 333 | } 334 | 335 | textarea { 336 | resize: vertical; 337 | } 338 | 339 | fieldset { 340 | min-width: 0; 341 | padding: 0; 342 | margin: 0; 343 | border: 0; 344 | } 345 | 346 | legend { 347 | float: right; 348 | width: 100%; 349 | padding: 0; 350 | margin-bottom: 0.5rem; 351 | font-size: calc(1.275rem + 0.3vw); 352 | line-height: inherit; 353 | } 354 | @media (min-width: 1200px) { 355 | legend { 356 | font-size: 1.5rem; 357 | } 358 | } 359 | legend + * { 360 | clear: right; 361 | } 362 | 363 | ::-webkit-datetime-edit-fields-wrapper, 364 | ::-webkit-datetime-edit-text, 365 | ::-webkit-datetime-edit-minute, 366 | ::-webkit-datetime-edit-hour-field, 367 | ::-webkit-datetime-edit-day-field, 368 | ::-webkit-datetime-edit-month-field, 369 | ::-webkit-datetime-edit-year-field { 370 | padding: 0; 371 | } 372 | 373 | ::-webkit-inner-spin-button { 374 | height: auto; 375 | } 376 | 377 | [type=search] { 378 | outline-offset: -2px; 379 | -webkit-appearance: textfield; 380 | } 381 | 382 | [type="tel"], 383 | [type="url"], 384 | [type="email"], 385 | [type="number"] { 386 | direction: ltr; 387 | } 388 | ::-webkit-search-decoration { 389 | -webkit-appearance: none; 390 | } 391 | 392 | ::-webkit-color-swatch-wrapper { 393 | padding: 0; 394 | } 395 | 396 | ::file-selector-button { 397 | font: inherit; 398 | } 399 | 400 | ::-webkit-file-upload-button { 401 | font: inherit; 402 | -webkit-appearance: button; 403 | } 404 | 405 | output { 406 | display: inline-block; 407 | } 408 | 409 | iframe { 410 | border: 0; 411 | } 412 | 413 | summary { 414 | display: list-item; 415 | cursor: pointer; 416 | } 417 | 418 | progress { 419 | vertical-align: baseline; 420 | } 421 | 422 | [hidden] { 423 | display: none !important; 424 | } 425 | /*# sourceMappingURL=bootstrap-reboot.rtl.css.map */ -------------------------------------------------------------------------------- /static/vendor/bootstrap/css/bootstrap-reboot.rtl.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v5.0.0-beta2 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:right}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important} 8 | /*# sourceMappingURL=bootstrap-reboot.rtl.min.css.map */ -------------------------------------------------------------------------------- /static/vendor/boxicons/css/animations.css: -------------------------------------------------------------------------------- 1 | @-webkit-keyframes spin 2 | { 3 | 0% 4 | { 5 | -webkit-transform: rotate(0); 6 | transform: rotate(0); 7 | } 8 | 100% 9 | { 10 | -webkit-transform: rotate(359deg); 11 | transform: rotate(359deg); 12 | } 13 | } 14 | @keyframes spin 15 | { 16 | 0% 17 | { 18 | -webkit-transform: rotate(0); 19 | transform: rotate(0); 20 | } 21 | 100% 22 | { 23 | -webkit-transform: rotate(359deg); 24 | transform: rotate(359deg); 25 | } 26 | } 27 | @-webkit-keyframes burst 28 | { 29 | 0% 30 | { 31 | -webkit-transform: scale(1); 32 | transform: scale(1); 33 | 34 | opacity: 1; 35 | } 36 | 90% 37 | { 38 | -webkit-transform: scale(1.5); 39 | transform: scale(1.5); 40 | 41 | opacity: 0; 42 | } 43 | } 44 | @keyframes burst 45 | { 46 | 0% 47 | { 48 | -webkit-transform: scale(1); 49 | transform: scale(1); 50 | 51 | opacity: 1; 52 | } 53 | 90% 54 | { 55 | -webkit-transform: scale(1.5); 56 | transform: scale(1.5); 57 | 58 | opacity: 0; 59 | } 60 | } 61 | @-webkit-keyframes flashing 62 | { 63 | 0% 64 | { 65 | opacity: 1; 66 | } 67 | 45% 68 | { 69 | opacity: 0; 70 | } 71 | 90% 72 | { 73 | opacity: 1; 74 | } 75 | } 76 | @keyframes flashing 77 | { 78 | 0% 79 | { 80 | opacity: 1; 81 | } 82 | 45% 83 | { 84 | opacity: 0; 85 | } 86 | 90% 87 | { 88 | opacity: 1; 89 | } 90 | } 91 | @-webkit-keyframes fade-left 92 | { 93 | 0% 94 | { 95 | -webkit-transform: translateX(0); 96 | transform: translateX(0); 97 | 98 | opacity: 1; 99 | } 100 | 75% 101 | { 102 | -webkit-transform: translateX(-20px); 103 | transform: translateX(-20px); 104 | 105 | opacity: 0; 106 | } 107 | } 108 | @keyframes fade-left 109 | { 110 | 0% 111 | { 112 | -webkit-transform: translateX(0); 113 | transform: translateX(0); 114 | 115 | opacity: 1; 116 | } 117 | 75% 118 | { 119 | -webkit-transform: translateX(-20px); 120 | transform: translateX(-20px); 121 | 122 | opacity: 0; 123 | } 124 | } 125 | @-webkit-keyframes fade-right 126 | { 127 | 0% 128 | { 129 | -webkit-transform: translateX(0); 130 | transform: translateX(0); 131 | 132 | opacity: 1; 133 | } 134 | 75% 135 | { 136 | -webkit-transform: translateX(20px); 137 | transform: translateX(20px); 138 | 139 | opacity: 0; 140 | } 141 | } 142 | @keyframes fade-right 143 | { 144 | 0% 145 | { 146 | -webkit-transform: translateX(0); 147 | transform: translateX(0); 148 | 149 | opacity: 1; 150 | } 151 | 75% 152 | { 153 | -webkit-transform: translateX(20px); 154 | transform: translateX(20px); 155 | 156 | opacity: 0; 157 | } 158 | } 159 | @-webkit-keyframes fade-up 160 | { 161 | 0% 162 | { 163 | -webkit-transform: translateY(0); 164 | transform: translateY(0); 165 | 166 | opacity: 1; 167 | } 168 | 75% 169 | { 170 | -webkit-transform: translateY(-20px); 171 | transform: translateY(-20px); 172 | 173 | opacity: 0; 174 | } 175 | } 176 | @keyframes fade-up 177 | { 178 | 0% 179 | { 180 | -webkit-transform: translateY(0); 181 | transform: translateY(0); 182 | 183 | opacity: 1; 184 | } 185 | 75% 186 | { 187 | -webkit-transform: translateY(-20px); 188 | transform: translateY(-20px); 189 | 190 | opacity: 0; 191 | } 192 | } 193 | @-webkit-keyframes fade-down 194 | { 195 | 0% 196 | { 197 | -webkit-transform: translateY(0); 198 | transform: translateY(0); 199 | 200 | opacity: 1; 201 | } 202 | 75% 203 | { 204 | -webkit-transform: translateY(20px); 205 | transform: translateY(20px); 206 | 207 | opacity: 0; 208 | } 209 | } 210 | @keyframes fade-down 211 | { 212 | 0% 213 | { 214 | -webkit-transform: translateY(0); 215 | transform: translateY(0); 216 | 217 | opacity: 1; 218 | } 219 | 75% 220 | { 221 | -webkit-transform: translateY(20px); 222 | transform: translateY(20px); 223 | 224 | opacity: 0; 225 | } 226 | } 227 | @-webkit-keyframes tada 228 | { 229 | from 230 | { 231 | -webkit-transform: scale3d(1, 1, 1); 232 | transform: scale3d(1, 1, 1); 233 | } 234 | 235 | 10%, 236 | 20% 237 | { 238 | -webkit-transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg); 239 | transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg); 240 | } 241 | 242 | 30%, 243 | 50%, 244 | 70%, 245 | 90% 246 | { 247 | -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg); 248 | transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg); 249 | } 250 | 251 | 40%, 252 | 60%, 253 | 80% 254 | { 255 | -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg); 256 | transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg); 257 | } 258 | 259 | to 260 | { 261 | -webkit-transform: scale3d(1, 1, 1); 262 | transform: scale3d(1, 1, 1); 263 | } 264 | } 265 | 266 | @keyframes tada 267 | { 268 | from 269 | { 270 | -webkit-transform: scale3d(1, 1, 1); 271 | transform: scale3d(1, 1, 1); 272 | } 273 | 274 | 10%, 275 | 20% 276 | { 277 | -webkit-transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg); 278 | transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg); 279 | } 280 | 281 | 30%, 282 | 50%, 283 | 70%, 284 | 90% 285 | { 286 | -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg); 287 | transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg); 288 | } 289 | 290 | 40%, 291 | 60%, 292 | 80% 293 | { 294 | -webkit-transform: rotate3d(0, 0, 1, -10deg); 295 | transform: rotate3d(0, 0, 1, -10deg); 296 | } 297 | 298 | to 299 | { 300 | -webkit-transform: scale3d(1, 1, 1); 301 | transform: scale3d(1, 1, 1); 302 | } 303 | } 304 | .bx-spin 305 | { 306 | -webkit-animation: spin 2s linear infinite; 307 | animation: spin 2s linear infinite; 308 | } 309 | .bx-spin-hover:hover 310 | { 311 | -webkit-animation: spin 2s linear infinite; 312 | animation: spin 2s linear infinite; 313 | } 314 | 315 | .bx-tada 316 | { 317 | -webkit-animation: tada 1.5s ease infinite; 318 | animation: tada 1.5s ease infinite; 319 | } 320 | .bx-tada-hover:hover 321 | { 322 | -webkit-animation: tada 1.5s ease infinite; 323 | animation: tada 1.5s ease infinite; 324 | } 325 | 326 | .bx-flashing 327 | { 328 | -webkit-animation: flashing 1.5s infinite linear; 329 | animation: flashing 1.5s infinite linear; 330 | } 331 | .bx-flashing-hover:hover 332 | { 333 | -webkit-animation: flashing 1.5s infinite linear; 334 | animation: flashing 1.5s infinite linear; 335 | } 336 | 337 | .bx-burst 338 | { 339 | -webkit-animation: burst 1.5s infinite linear; 340 | animation: burst 1.5s infinite linear; 341 | } 342 | .bx-burst-hover:hover 343 | { 344 | -webkit-animation: burst 1.5s infinite linear; 345 | animation: burst 1.5s infinite linear; 346 | } 347 | .bx-fade-up 348 | { 349 | -webkit-animation: fade-up 1.5s infinite linear; 350 | animation: fade-up 1.5s infinite linear; 351 | } 352 | .bx-fade-up-hover:hover 353 | { 354 | -webkit-animation: fade-up 1.5s infinite linear; 355 | animation: fade-up 1.5s infinite linear; 356 | } 357 | .bx-fade-down 358 | { 359 | -webkit-animation: fade-down 1.5s infinite linear; 360 | animation: fade-down 1.5s infinite linear; 361 | } 362 | .bx-fade-down-hover:hover 363 | { 364 | -webkit-animation: fade-down 1.5s infinite linear; 365 | animation: fade-down 1.5s infinite linear; 366 | } 367 | .bx-fade-left 368 | { 369 | -webkit-animation: fade-left 1.5s infinite linear; 370 | animation: fade-left 1.5s infinite linear; 371 | } 372 | .bx-fade-left-hover:hover 373 | { 374 | -webkit-animation: fade-left 1.5s infinite linear; 375 | animation: fade-left 1.5s infinite linear; 376 | } 377 | .bx-fade-right 378 | { 379 | -webkit-animation: fade-right 1.5s infinite linear; 380 | animation: fade-right 1.5s infinite linear; 381 | } 382 | .bx-fade-right-hover:hover 383 | { 384 | -webkit-animation: fade-right 1.5s infinite linear; 385 | animation: fade-right 1.5s infinite linear; 386 | } -------------------------------------------------------------------------------- /static/vendor/boxicons/css/transformations.css: -------------------------------------------------------------------------------- 1 | .bx-rotate-90 2 | { 3 | transform: rotate(90deg); 4 | 5 | -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=1)'; 6 | } 7 | .bx-rotate-180 8 | { 9 | transform: rotate(180deg); 10 | 11 | -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2)'; 12 | } 13 | .bx-rotate-270 14 | { 15 | transform: rotate(270deg); 16 | 17 | -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=3)'; 18 | } 19 | .bx-flip-horizontal 20 | { 21 | transform: scaleX(-1); 22 | 23 | -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)'; 24 | } 25 | .bx-flip-vertical 26 | { 27 | transform: scaleY(-1); 28 | 29 | -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)'; 30 | } 31 | -------------------------------------------------------------------------------- /static/vendor/boxicons/fonts/boxicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/static/vendor/boxicons/fonts/boxicons.eot -------------------------------------------------------------------------------- /static/vendor/boxicons/fonts/boxicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/static/vendor/boxicons/fonts/boxicons.ttf -------------------------------------------------------------------------------- /static/vendor/boxicons/fonts/boxicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/static/vendor/boxicons/fonts/boxicons.woff -------------------------------------------------------------------------------- /static/vendor/boxicons/fonts/boxicons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/picoders1/AI-Driven-DR-Detection-System/9d64e022f1af1b4bacfb5196c94762078ac87bda/static/vendor/boxicons/fonts/boxicons.woff2 -------------------------------------------------------------------------------- /static/vendor/glightbox/css/glightbox.min.css: -------------------------------------------------------------------------------- 1 | .glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0;overflow:hidden}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;opacity:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';display:block;position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;background:0 0;position:absolute;bottom:15px;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc string{color:#fff}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean button:focus:not(.focused):not(.disabled){outline:0}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}} -------------------------------------------------------------------------------- /static/vendor/php-email-form/validate.js: -------------------------------------------------------------------------------- 1 | /** 2 | * PHP Email Form Validation - v3.0 3 | * URL: https://bootstrapmade.com/php-email-form/ 4 | * Author: BootstrapMade.com 5 | */ 6 | (function () { 7 | "use strict"; 8 | 9 | let forms = document.querySelectorAll('.php-email-form'); 10 | 11 | forms.forEach( function(e) { 12 | e.addEventListener('submit', function(event) { 13 | event.preventDefault(); 14 | 15 | let thisForm = this; 16 | 17 | let action = thisForm.getAttribute('action'); 18 | let recaptcha = thisForm.getAttribute('data-recaptcha-site-key'); 19 | 20 | if( ! action ) { 21 | displayError(thisForm, 'The form action property is not set!') 22 | return; 23 | } 24 | thisForm.querySelector('.loading').classList.add('d-block'); 25 | thisForm.querySelector('.error-message').classList.remove('d-block'); 26 | thisForm.querySelector('.sent-message').classList.remove('d-block'); 27 | 28 | let formData = new FormData( thisForm ); 29 | 30 | if ( recaptcha ) { 31 | if(typeof grecaptcha !== "undefined" ) { 32 | grecaptcha.ready(function() { 33 | try { 34 | grecaptcha.execute(recaptcha, {action: 'php_email_form_submit'}) 35 | .then(token => { 36 | formData.set('recaptcha-response', token); 37 | php_email_form_submit(thisForm, action, formData); 38 | }) 39 | } catch(error) { 40 | displayError(thisForm, error) 41 | } 42 | }); 43 | } else { 44 | displayError(thisForm, 'The reCaptcha javascript API url is not loaded!') 45 | } 46 | } else { 47 | php_email_form_submit(thisForm, action, formData); 48 | } 49 | }); 50 | }); 51 | 52 | function php_email_form_submit(thisForm, action, formData) { 53 | fetch(action, { 54 | method: 'POST', 55 | body: formData, 56 | headers: {'X-Requested-With': 'XMLHttpRequest'} 57 | }) 58 | .then(response => { 59 | if( response.ok ) { 60 | return response.text() 61 | } else { 62 | throw new Error(`${response.status} ${response.statusText} ${response.url}`); 63 | } 64 | }) 65 | .then(data => { 66 | thisForm.querySelector('.loading').classList.remove('d-block'); 67 | if (data.trim() == 'OK') { 68 | thisForm.querySelector('.sent-message').classList.add('d-block'); 69 | thisForm.reset(); 70 | } else { 71 | throw new Error(data ? data : 'Form submission failed and no error message returned from: ' + action); 72 | } 73 | }) 74 | .catch((error) => { 75 | displayError(thisForm, error); 76 | }); 77 | } 78 | 79 | function displayError(thisForm, error) { 80 | thisForm.querySelector('.loading').classList.remove('d-block'); 81 | thisForm.querySelector('.error-message').innerHTML = error; 82 | thisForm.querySelector('.error-message').classList.add('d-block'); 83 | } 84 | 85 | })(); 86 | -------------------------------------------------------------------------------- /static/vendor/swiper/swiper-bundle.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Swiper 6.4.11 3 | * Most modern mobile touch slider and framework with hardware accelerated transitions 4 | * https://swiperjs.com 5 | * 6 | * Copyright 2014-2021 Vladimir Kharlampidi 7 | * 8 | * Released under the MIT License 9 | * 10 | * Released on: February 6, 2021 11 | */ 12 | 13 | @font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA') format('woff');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-container-multirow>.swiper-wrapper{flex-wrap:wrap}.swiper-container-multirow-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-container-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-container-pointer-events{touch-action:pan-y}.swiper-container-pointer-events.swiper-container-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-container-3d{perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-container-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(-1 * var(--swiper-navigation-size)/ 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;text-transform:none;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-container-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-container-rtl .swiper-button-prev:after{content:'next'}.swiper-button-next.swiper-button-white,.swiper-button-prev.swiper-button-white{--swiper-navigation-color:#ffffff}.swiper-button-next.swiper-button-black,.swiper-button-prev.swiper-button-black{--swiper-navigation-color:#000000}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:50%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-white{--swiper-pagination-color:#ffffff}.swiper-pagination-black{--swiper-pagination-color:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;animation:swiper-preloader-spin 1s infinite linear;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-container-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;-webkit-filter:blur(50px);filter:blur(50px)}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden} -------------------------------------------------------------------------------- /templates/base.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | DR 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 78 | 79 | 80 |
81 |
82 |
83 |
84 |

AI Driven Diabetic Retinopathy Diagnosis using ANN & RCNN Classification

85 | 86 |
87 | Abstract 88 | 89 |
90 |
91 | 92 | 93 |
94 |
95 |
96 | 97 |
98 |
{% block content %}{% endblock %}
99 |
100 | 101 | 102 |
103 | 104 | 105 |
106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 |
114 | 115 | 116 |
117 | 120 |
121 | 122 | 123 | 124 | 125 | 126 |
127 |
128 |
129 | 130 |
131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | -------------------------------------------------------------------------------- /templates/chart.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | DR 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 73 | 74 | 75 |
76 |
77 |
78 |
79 |

AI Driven Diabetic Retinopathy Diagnosis using ANN & RCNN Classification

80 | 81 | 82 |
83 | 84 | 85 |
86 |
87 |
88 | 89 | 90 | 91 | 92 | 93 | 94 |
95 |
96 | 97 | 98 | 99 | 100 |
101 | 102 |

103 |
104 | 105 | 106 |

Total Diabetic Retinopathy Classes

107 | 108 | 141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 | 149 | 150 | 151 | 152 | 153 | 175 | 176 | 177 |
178 |

Total Retinopathy Classes

179 |
180 | 181 | 182 |
183 |
184 |
185 | 186 | 187 | 188 | 189 | 191 | 194 | 195 | 196 | 197 |

Accuracy Plot of F-RCNN

198 |
199 |
200 | 201 |
202 |
203 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 252 | 255 | 256 | 257 | 258 | 259 |

Accuracy Plot

260 |
261 |
262 | 263 |
264 |
265 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 |
312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 |
325 | 326 | 327 | 328 |
329 | 330 | 331 |
332 | 335 |
336 | 337 | 338 | 339 | 340 | 341 |
342 |
343 |
344 | 345 |
346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | -------------------------------------------------------------------------------- /templates/first.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | DR 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 37 | 48 | 49 | 50 | 51 | 52 | 53 | 54 |
55 |
56 | 57 | 58 | 59 | 60 |
61 |
62 | 63 | 64 | 85 | 86 | 87 |
88 |
89 |
90 |
91 |

AI Driven Diabetic Retinopathy Diagnosis using ANN & RCNN Classification

92 | 93 |
94 | Abstract 95 | 96 |
97 |
98 | 99 | 100 |
101 |
102 |
103 | 104 |
105 | 106 | 107 |
108 |
109 | 110 |
111 |
112 | 113 |
114 |
115 |

Abstract

116 |
117 |
118 |
119 |

120 | Diabetes is a metabolic disorder that results in a retinal complication 121 | called diabetic retinopathy (DR) which is one of the four main reasons for 122 | sightlessness all over the globe. DR usually has no clear symptoms before the 123 | onset, thus making disease identication a challenging task. The healthcare 124 | industry may face unfavorable consequences if the gap in identifying DR is not 125 | lled with effective automation. Thus, our objective is to develop an automatic 126 | and cost-effective method for classifying DR samples. In this work, we present 127 | a custom Faster-RCNN technique for the recognition and classication of 128 | DR lesions from retinal images. After pre-processing, we generate the annotations of the dataset which is required for model training. Then, introduce 129 | DenseNet-65 at the feature extraction level of Faster-RCNN to compute 130 | the representative set of key points. Finally, the ANN & Faster-RCNN combines localizes and 131 | classifies the input sample & detect the likelihood of having the disease, hence predict with DR class. 132 |

133 | 134 | 135 |
136 | 137 |
138 | 139 | 140 | 141 | 142 | 143 | 144 |
145 |
©www.drdiagnosis.com
146 | 147 |
148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} {% block content %} 2 | 3 |

DR Classifier

4 | 15 | 16 |
17 |
18 | 21 |
22 | 23 | 24 | 33 | 34 | 35 | 36 |

37 | 38 |

39 | 40 |
41 | 42 | {% endblock %} -------------------------------------------------------------------------------- /templates/login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | DR 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 65 | 66 | 67 |
68 |
69 |
70 |
71 |

AI Driven Diabetic Retinopathy Diagnosis using ANN & RCNN Classification

72 | 73 | 74 |
75 | 76 | 77 |
78 |
79 |
80 | 81 | 82 | 83 | 84 | 85 | 86 |
87 |
88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 |
136 | 137 |
138 |
139 | 140 | 141 | 142 | 143 |
144 | 145 |

Login

146 |
147 | 148 |
149 | 150 | 151 |
152 |
153 | 154 | 155 | 156 |
157 | 158 | 159 |
160 |
161 |
162 | 163 |
164 | 165 |
166 | 167 | 168 |
169 |
170 |
171 |
172 | 173 |
174 |
175 | 176 | 177 | 178 |
179 |
180 |
181 |
182 |
183 | 184 | 185 |
186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 |
196 |
197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 |
206 | 207 | 208 |
209 | 212 |
213 | 214 | 215 | 216 | 217 | 218 |
219 |
220 |
221 | 222 |
223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | --------------------------------------------------------------------------------