├── .gitignore ├── README.md ├── _docs ├── env_sample └── nginx-config-sample ├── droppdf ├── apps │ ├── __init__.py │ ├── _migrations │ │ ├── 0001_initial.py │ │ ├── 0002_auto_20210322_2310.py │ │ ├── 0003_auto_20210323_0311.py │ │ ├── 0004_auto_20210330_1735.py │ │ ├── 0005_auto_20210331_2024.py │ │ ├── 0006_ocrupload.py │ │ ├── 0007_remove_ocrupload_extension.py │ │ ├── 0008_auto_20210406_1959.py │ │ ├── 0009_auto_20210819_2331.py │ │ ├── 0010_videosubtitle.py │ │ └── __init__.py │ ├── _static │ │ ├── apps │ │ │ ├── css │ │ │ │ ├── dropzone_custom.css │ │ │ │ └── index.css │ │ │ ├── img │ │ │ │ └── background.png │ │ │ └── js │ │ │ │ ├── index.js │ │ │ │ ├── ocr_pdf_result.js │ │ │ │ ├── ocr_pdf_upload.js │ │ │ │ ├── refingerprint.js │ │ │ │ └── youtube.js │ │ └── vendor │ │ │ ├── dropzone-5.7.0 │ │ │ ├── .gitignore │ │ │ ├── .tagconfig │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bower.json │ │ │ ├── component.json │ │ │ ├── composer.json │ │ │ ├── index.js │ │ │ └── package.json │ │ │ ├── epubjs │ │ │ ├── epub.css │ │ │ ├── epub.js │ │ │ ├── epub.js.map │ │ │ ├── epub.legacy.min.js │ │ │ ├── epub.min.js │ │ │ ├── jszip.min.js │ │ │ └── reader.js │ │ │ ├── font-awesome-4.7.0 │ │ │ ├── HELP-US-OUT.txt │ │ │ ├── css │ │ │ │ ├── font-awesome.css │ │ │ │ └── font-awesome.min.css │ │ │ ├── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ ├── less │ │ │ │ ├── animated.less │ │ │ │ ├── bordered-pulled.less │ │ │ │ ├── core.less │ │ │ │ ├── fixed-width.less │ │ │ │ ├── font-awesome.less │ │ │ │ ├── icons.less │ │ │ │ ├── larger.less │ │ │ │ ├── list.less │ │ │ │ ├── mixins.less │ │ │ │ ├── path.less │ │ │ │ ├── rotated-flipped.less │ │ │ │ ├── screen-reader.less │ │ │ │ ├── stacked.less │ │ │ │ └── variables.less │ │ │ └── scss │ │ │ │ ├── _animated.scss │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ ├── _core.scss │ │ │ │ ├── _fixed-width.scss │ │ │ │ ├── _icons.scss │ │ │ │ ├── _larger.scss │ │ │ │ ├── _list.scss │ │ │ │ ├── _mixins.scss │ │ │ │ ├── _path.scss │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ ├── _screen-reader.scss │ │ │ │ ├── _stacked.scss │ │ │ │ ├── _variables.scss │ │ │ │ └── font-awesome.scss │ │ │ ├── jquery-3.5.1.min.js │ │ │ ├── jszip.js │ │ │ └── viewer │ │ │ ├── HYPOTHESIS-README.md │ │ │ ├── LICENSE │ │ │ └── web │ │ │ ├── cmaps │ │ │ ├── 78-EUC-H.bcmap │ │ │ ├── 78-EUC-V.bcmap │ │ │ ├── 78-H.bcmap │ │ │ ├── 78-RKSJ-H.bcmap │ │ │ ├── 78-RKSJ-V.bcmap │ │ │ ├── 78-V.bcmap │ │ │ ├── 78ms-RKSJ-H.bcmap │ │ │ ├── 78ms-RKSJ-V.bcmap │ │ │ ├── 83pv-RKSJ-H.bcmap │ │ │ ├── 90ms-RKSJ-H.bcmap │ │ │ ├── 90ms-RKSJ-V.bcmap │ │ │ ├── 90msp-RKSJ-H.bcmap │ │ │ ├── 90msp-RKSJ-V.bcmap │ │ │ ├── 90pv-RKSJ-H.bcmap │ │ │ ├── 90pv-RKSJ-V.bcmap │ │ │ ├── Add-H.bcmap │ │ │ ├── Add-RKSJ-H.bcmap │ │ │ ├── Add-RKSJ-V.bcmap │ │ │ ├── Add-V.bcmap │ │ │ ├── Adobe-CNS1-0.bcmap │ │ │ ├── Adobe-CNS1-1.bcmap │ │ │ ├── Adobe-CNS1-2.bcmap │ │ │ ├── Adobe-CNS1-3.bcmap │ │ │ ├── Adobe-CNS1-4.bcmap │ │ │ ├── Adobe-CNS1-5.bcmap │ │ │ ├── Adobe-CNS1-6.bcmap │ │ │ ├── Adobe-CNS1-UCS2.bcmap │ │ │ ├── Adobe-GB1-0.bcmap │ │ │ ├── Adobe-GB1-1.bcmap │ │ │ ├── Adobe-GB1-2.bcmap │ │ │ ├── Adobe-GB1-3.bcmap │ │ │ ├── Adobe-GB1-4.bcmap │ │ │ ├── Adobe-GB1-5.bcmap │ │ │ ├── Adobe-GB1-UCS2.bcmap │ │ │ ├── Adobe-Japan1-0.bcmap │ │ │ ├── Adobe-Japan1-1.bcmap │ │ │ ├── Adobe-Japan1-2.bcmap │ │ │ ├── Adobe-Japan1-3.bcmap │ │ │ ├── Adobe-Japan1-4.bcmap │ │ │ ├── Adobe-Japan1-5.bcmap │ │ │ ├── Adobe-Japan1-6.bcmap │ │ │ ├── Adobe-Japan1-UCS2.bcmap │ │ │ ├── Adobe-Korea1-0.bcmap │ │ │ ├── Adobe-Korea1-1.bcmap │ │ │ ├── Adobe-Korea1-2.bcmap │ │ │ ├── Adobe-Korea1-UCS2.bcmap │ │ │ ├── B5-H.bcmap │ │ │ ├── B5-V.bcmap │ │ │ ├── B5pc-H.bcmap │ │ │ ├── B5pc-V.bcmap │ │ │ ├── CNS-EUC-H.bcmap │ │ │ ├── CNS-EUC-V.bcmap │ │ │ ├── CNS1-H.bcmap │ │ │ ├── CNS1-V.bcmap │ │ │ ├── CNS2-H.bcmap │ │ │ ├── CNS2-V.bcmap │ │ │ ├── ETHK-B5-H.bcmap │ │ │ ├── ETHK-B5-V.bcmap │ │ │ ├── ETen-B5-H.bcmap │ │ │ ├── ETen-B5-V.bcmap │ │ │ ├── ETenms-B5-H.bcmap │ │ │ ├── ETenms-B5-V.bcmap │ │ │ ├── EUC-H.bcmap │ │ │ ├── EUC-V.bcmap │ │ │ ├── Ext-H.bcmap │ │ │ ├── Ext-RKSJ-H.bcmap │ │ │ ├── Ext-RKSJ-V.bcmap │ │ │ ├── Ext-V.bcmap │ │ │ ├── GB-EUC-H.bcmap │ │ │ ├── GB-EUC-V.bcmap │ │ │ ├── GB-H.bcmap │ │ │ ├── GB-V.bcmap │ │ │ ├── GBK-EUC-H.bcmap │ │ │ ├── GBK-EUC-V.bcmap │ │ │ ├── GBK2K-H.bcmap │ │ │ ├── GBK2K-V.bcmap │ │ │ ├── GBKp-EUC-H.bcmap │ │ │ ├── GBKp-EUC-V.bcmap │ │ │ ├── GBT-EUC-H.bcmap │ │ │ ├── GBT-EUC-V.bcmap │ │ │ ├── GBT-H.bcmap │ │ │ ├── GBT-V.bcmap │ │ │ ├── GBTpc-EUC-H.bcmap │ │ │ ├── GBTpc-EUC-V.bcmap │ │ │ ├── GBpc-EUC-H.bcmap │ │ │ ├── GBpc-EUC-V.bcmap │ │ │ ├── H.bcmap │ │ │ ├── HKdla-B5-H.bcmap │ │ │ ├── HKdla-B5-V.bcmap │ │ │ ├── HKdlb-B5-H.bcmap │ │ │ ├── HKdlb-B5-V.bcmap │ │ │ ├── HKgccs-B5-H.bcmap │ │ │ ├── HKgccs-B5-V.bcmap │ │ │ ├── HKm314-B5-H.bcmap │ │ │ ├── HKm314-B5-V.bcmap │ │ │ ├── HKm471-B5-H.bcmap │ │ │ ├── HKm471-B5-V.bcmap │ │ │ ├── HKscs-B5-H.bcmap │ │ │ ├── HKscs-B5-V.bcmap │ │ │ ├── Hankaku.bcmap │ │ │ ├── Hiragana.bcmap │ │ │ ├── KSC-EUC-H.bcmap │ │ │ ├── KSC-EUC-V.bcmap │ │ │ ├── KSC-H.bcmap │ │ │ ├── KSC-Johab-H.bcmap │ │ │ ├── KSC-Johab-V.bcmap │ │ │ ├── KSC-V.bcmap │ │ │ ├── KSCms-UHC-H.bcmap │ │ │ ├── KSCms-UHC-HW-H.bcmap │ │ │ ├── KSCms-UHC-HW-V.bcmap │ │ │ ├── KSCms-UHC-V.bcmap │ │ │ ├── KSCpc-EUC-H.bcmap │ │ │ ├── KSCpc-EUC-V.bcmap │ │ │ ├── Katakana.bcmap │ │ │ ├── LICENSE │ │ │ ├── NWP-H.bcmap │ │ │ ├── NWP-V.bcmap │ │ │ ├── RKSJ-H.bcmap │ │ │ ├── RKSJ-V.bcmap │ │ │ ├── Roman.bcmap │ │ │ ├── UniCNS-UCS2-H.bcmap │ │ │ ├── UniCNS-UCS2-V.bcmap │ │ │ ├── UniCNS-UTF16-H.bcmap │ │ │ ├── UniCNS-UTF16-V.bcmap │ │ │ ├── UniCNS-UTF32-H.bcmap │ │ │ ├── UniCNS-UTF32-V.bcmap │ │ │ ├── UniCNS-UTF8-H.bcmap │ │ │ ├── UniCNS-UTF8-V.bcmap │ │ │ ├── UniGB-UCS2-H.bcmap │ │ │ ├── UniGB-UCS2-V.bcmap │ │ │ ├── UniGB-UTF16-H.bcmap │ │ │ ├── UniGB-UTF16-V.bcmap │ │ │ ├── UniGB-UTF32-H.bcmap │ │ │ ├── UniGB-UTF32-V.bcmap │ │ │ ├── UniGB-UTF8-H.bcmap │ │ │ ├── UniGB-UTF8-V.bcmap │ │ │ ├── UniJIS-UCS2-H.bcmap │ │ │ ├── UniJIS-UCS2-HW-H.bcmap │ │ │ ├── UniJIS-UCS2-HW-V.bcmap │ │ │ ├── UniJIS-UCS2-V.bcmap │ │ │ ├── UniJIS-UTF16-H.bcmap │ │ │ ├── UniJIS-UTF16-V.bcmap │ │ │ ├── UniJIS-UTF32-H.bcmap │ │ │ ├── UniJIS-UTF32-V.bcmap │ │ │ ├── UniJIS-UTF8-H.bcmap │ │ │ ├── UniJIS-UTF8-V.bcmap │ │ │ ├── UniJIS2004-UTF16-H.bcmap │ │ │ ├── UniJIS2004-UTF16-V.bcmap │ │ │ ├── UniJIS2004-UTF32-H.bcmap │ │ │ ├── UniJIS2004-UTF32-V.bcmap │ │ │ ├── UniJIS2004-UTF8-H.bcmap │ │ │ ├── UniJIS2004-UTF8-V.bcmap │ │ │ ├── UniJISPro-UCS2-HW-V.bcmap │ │ │ ├── UniJISPro-UCS2-V.bcmap │ │ │ ├── UniJISPro-UTF8-V.bcmap │ │ │ ├── UniJISX0213-UTF32-H.bcmap │ │ │ ├── UniJISX0213-UTF32-V.bcmap │ │ │ ├── UniJISX02132004-UTF32-H.bcmap │ │ │ ├── UniJISX02132004-UTF32-V.bcmap │ │ │ ├── UniKS-UCS2-H.bcmap │ │ │ ├── UniKS-UCS2-V.bcmap │ │ │ ├── UniKS-UTF16-H.bcmap │ │ │ ├── UniKS-UTF16-V.bcmap │ │ │ ├── UniKS-UTF32-H.bcmap │ │ │ ├── UniKS-UTF32-V.bcmap │ │ │ ├── UniKS-UTF8-H.bcmap │ │ │ ├── UniKS-UTF8-V.bcmap │ │ │ ├── V.bcmap │ │ │ └── WP-Symbol.bcmap │ │ │ ├── compressed.tracemonkey-pldi-09.pdf │ │ │ ├── debugger.js │ │ │ ├── images │ │ │ ├── annotation-check.svg │ │ │ ├── annotation-comment.svg │ │ │ ├── annotation-help.svg │ │ │ ├── annotation-insert.svg │ │ │ ├── annotation-key.svg │ │ │ ├── annotation-newparagraph.svg │ │ │ ├── annotation-noicon.svg │ │ │ ├── annotation-note.svg │ │ │ ├── annotation-paragraph.svg │ │ │ ├── findbarButton-next-rtl.png │ │ │ ├── findbarButton-next-rtl@2x.png │ │ │ ├── findbarButton-next.png │ │ │ ├── findbarButton-next@2x.png │ │ │ ├── findbarButton-previous-rtl.png │ │ │ ├── findbarButton-previous-rtl@2x.png │ │ │ ├── findbarButton-previous.png │ │ │ ├── findbarButton-previous@2x.png │ │ │ ├── grab.cur │ │ │ ├── grabbing.cur │ │ │ ├── loading-icon.gif │ │ │ ├── loading-small.png │ │ │ ├── loading-small@2x.png │ │ │ ├── secondaryToolbarButton-documentProperties.png │ │ │ ├── secondaryToolbarButton-documentProperties@2x.png │ │ │ ├── secondaryToolbarButton-firstPage.png │ │ │ ├── secondaryToolbarButton-firstPage@2x.png │ │ │ ├── secondaryToolbarButton-handTool.png │ │ │ ├── secondaryToolbarButton-handTool@2x.png │ │ │ ├── secondaryToolbarButton-lastPage.png │ │ │ ├── secondaryToolbarButton-lastPage@2x.png │ │ │ ├── secondaryToolbarButton-rotateCcw.png │ │ │ ├── secondaryToolbarButton-rotateCcw@2x.png │ │ │ ├── secondaryToolbarButton-rotateCw.png │ │ │ ├── secondaryToolbarButton-rotateCw@2x.png │ │ │ ├── secondaryToolbarButton-scrollHorizontal.png │ │ │ ├── secondaryToolbarButton-scrollHorizontal@2x.png │ │ │ ├── secondaryToolbarButton-scrollVertical.png │ │ │ ├── secondaryToolbarButton-scrollVertical@2x.png │ │ │ ├── secondaryToolbarButton-scrollWrapped.png │ │ │ ├── secondaryToolbarButton-scrollWrapped@2x.png │ │ │ ├── secondaryToolbarButton-selectTool.png │ │ │ ├── secondaryToolbarButton-selectTool@2x.png │ │ │ ├── secondaryToolbarButton-spreadEven.png │ │ │ ├── secondaryToolbarButton-spreadEven@2x.png │ │ │ ├── secondaryToolbarButton-spreadNone.png │ │ │ ├── secondaryToolbarButton-spreadNone@2x.png │ │ │ ├── secondaryToolbarButton-spreadOdd.png │ │ │ ├── secondaryToolbarButton-spreadOdd@2x.png │ │ │ ├── shadow.png │ │ │ ├── texture.png │ │ │ ├── toolbarButton-bookmark.png │ │ │ ├── toolbarButton-bookmark@2x.png │ │ │ ├── toolbarButton-download.png │ │ │ ├── toolbarButton-download@2x.png │ │ │ ├── toolbarButton-menuArrows.png │ │ │ ├── toolbarButton-menuArrows@2x.png │ │ │ ├── toolbarButton-openFile.png │ │ │ ├── toolbarButton-openFile@2x.png │ │ │ ├── toolbarButton-pageDown-rtl.png │ │ │ ├── toolbarButton-pageDown-rtl@2x.png │ │ │ ├── toolbarButton-pageDown.png │ │ │ ├── toolbarButton-pageDown@2x.png │ │ │ ├── toolbarButton-pageUp-rtl.png │ │ │ ├── toolbarButton-pageUp-rtl@2x.png │ │ │ ├── toolbarButton-pageUp.png │ │ │ ├── toolbarButton-pageUp@2x.png │ │ │ ├── toolbarButton-presentationMode.png │ │ │ ├── toolbarButton-presentationMode@2x.png │ │ │ ├── toolbarButton-print.png │ │ │ ├── toolbarButton-print@2x.png │ │ │ ├── toolbarButton-search.png │ │ │ ├── toolbarButton-search@2x.png │ │ │ ├── toolbarButton-secondaryToolbarToggle-rtl.png │ │ │ ├── toolbarButton-secondaryToolbarToggle-rtl@2x.png │ │ │ ├── toolbarButton-secondaryToolbarToggle.png │ │ │ ├── toolbarButton-secondaryToolbarToggle@2x.png │ │ │ ├── toolbarButton-sidebarToggle-rtl.png │ │ │ ├── toolbarButton-sidebarToggle-rtl@2x.png │ │ │ ├── toolbarButton-sidebarToggle.png │ │ │ ├── toolbarButton-sidebarToggle@2x.png │ │ │ ├── toolbarButton-viewAttachments.png │ │ │ ├── toolbarButton-viewAttachments@2x.png │ │ │ ├── toolbarButton-viewOutline-rtl.png │ │ │ ├── toolbarButton-viewOutline-rtl@2x.png │ │ │ ├── toolbarButton-viewOutline.png │ │ │ ├── toolbarButton-viewOutline@2x.png │ │ │ ├── toolbarButton-viewThumbnail.png │ │ │ ├── toolbarButton-viewThumbnail@2x.png │ │ │ ├── toolbarButton-zoomIn.png │ │ │ ├── toolbarButton-zoomIn@2x.png │ │ │ ├── toolbarButton-zoomOut.png │ │ │ ├── toolbarButton-zoomOut@2x.png │ │ │ ├── treeitem-collapsed-rtl.png │ │ │ ├── treeitem-collapsed-rtl@2x.png │ │ │ ├── treeitem-collapsed.png │ │ │ ├── treeitem-collapsed@2x.png │ │ │ ├── treeitem-expanded.png │ │ │ └── treeitem-expanded@2x.png │ │ │ ├── locale │ │ │ ├── ach │ │ │ │ └── viewer.properties │ │ │ ├── af │ │ │ │ └── viewer.properties │ │ │ ├── an │ │ │ │ └── viewer.properties │ │ │ ├── ar │ │ │ │ └── viewer.properties │ │ │ ├── ast │ │ │ │ └── viewer.properties │ │ │ ├── az │ │ │ │ └── viewer.properties │ │ │ ├── be │ │ │ │ └── viewer.properties │ │ │ ├── bg │ │ │ │ └── viewer.properties │ │ │ ├── bn │ │ │ │ └── viewer.properties │ │ │ ├── bo │ │ │ │ └── viewer.properties │ │ │ ├── br │ │ │ │ └── viewer.properties │ │ │ ├── brx │ │ │ │ └── viewer.properties │ │ │ ├── bs │ │ │ │ └── viewer.properties │ │ │ ├── ca │ │ │ │ └── viewer.properties │ │ │ ├── cak │ │ │ │ └── viewer.properties │ │ │ ├── cs │ │ │ │ └── viewer.properties │ │ │ ├── cy │ │ │ │ └── viewer.properties │ │ │ ├── da │ │ │ │ └── viewer.properties │ │ │ ├── de │ │ │ │ └── viewer.properties │ │ │ ├── dsb │ │ │ │ └── viewer.properties │ │ │ ├── el │ │ │ │ └── viewer.properties │ │ │ ├── en-CA │ │ │ │ └── viewer.properties │ │ │ ├── en-GB │ │ │ │ └── viewer.properties │ │ │ ├── en-US │ │ │ │ └── viewer.properties │ │ │ ├── eo │ │ │ │ └── viewer.properties │ │ │ ├── es-AR │ │ │ │ └── viewer.properties │ │ │ ├── es-CL │ │ │ │ └── viewer.properties │ │ │ ├── es-ES │ │ │ │ └── viewer.properties │ │ │ ├── es-MX │ │ │ │ └── viewer.properties │ │ │ ├── et │ │ │ │ └── viewer.properties │ │ │ ├── eu │ │ │ │ └── viewer.properties │ │ │ ├── fa │ │ │ │ └── viewer.properties │ │ │ ├── ff │ │ │ │ └── viewer.properties │ │ │ ├── fi │ │ │ │ └── viewer.properties │ │ │ ├── fr │ │ │ │ └── viewer.properties │ │ │ ├── fy-NL │ │ │ │ └── viewer.properties │ │ │ ├── ga-IE │ │ │ │ └── viewer.properties │ │ │ ├── gd │ │ │ │ └── viewer.properties │ │ │ ├── gl │ │ │ │ └── viewer.properties │ │ │ ├── gn │ │ │ │ └── viewer.properties │ │ │ ├── gu-IN │ │ │ │ └── viewer.properties │ │ │ ├── he │ │ │ │ └── viewer.properties │ │ │ ├── hi-IN │ │ │ │ └── viewer.properties │ │ │ ├── hr │ │ │ │ └── viewer.properties │ │ │ ├── hsb │ │ │ │ └── viewer.properties │ │ │ ├── hu │ │ │ │ └── viewer.properties │ │ │ ├── hy-AM │ │ │ │ └── viewer.properties │ │ │ ├── ia │ │ │ │ └── viewer.properties │ │ │ ├── id │ │ │ │ └── viewer.properties │ │ │ ├── is │ │ │ │ └── viewer.properties │ │ │ ├── it │ │ │ │ └── viewer.properties │ │ │ ├── ja │ │ │ │ └── viewer.properties │ │ │ ├── ka │ │ │ │ └── viewer.properties │ │ │ ├── kab │ │ │ │ └── viewer.properties │ │ │ ├── kk │ │ │ │ └── viewer.properties │ │ │ ├── km │ │ │ │ └── viewer.properties │ │ │ ├── kn │ │ │ │ └── viewer.properties │ │ │ ├── ko │ │ │ │ └── viewer.properties │ │ │ ├── lij │ │ │ │ └── viewer.properties │ │ │ ├── lo │ │ │ │ └── viewer.properties │ │ │ ├── locale.properties │ │ │ ├── lt │ │ │ │ └── viewer.properties │ │ │ ├── ltg │ │ │ │ └── viewer.properties │ │ │ ├── lv │ │ │ │ └── viewer.properties │ │ │ ├── mk │ │ │ │ └── viewer.properties │ │ │ ├── mr │ │ │ │ └── viewer.properties │ │ │ ├── ms │ │ │ │ └── viewer.properties │ │ │ ├── my │ │ │ │ └── viewer.properties │ │ │ ├── nb-NO │ │ │ │ └── viewer.properties │ │ │ ├── ne-NP │ │ │ │ └── viewer.properties │ │ │ ├── nl │ │ │ │ └── viewer.properties │ │ │ ├── nn-NO │ │ │ │ └── viewer.properties │ │ │ ├── oc │ │ │ │ └── viewer.properties │ │ │ ├── pa-IN │ │ │ │ └── viewer.properties │ │ │ ├── pl │ │ │ │ └── viewer.properties │ │ │ ├── pt-BR │ │ │ │ └── viewer.properties │ │ │ ├── pt-PT │ │ │ │ └── viewer.properties │ │ │ ├── rm │ │ │ │ └── viewer.properties │ │ │ ├── ro │ │ │ │ └── viewer.properties │ │ │ ├── ru │ │ │ │ └── viewer.properties │ │ │ ├── si │ │ │ │ └── viewer.properties │ │ │ ├── sk │ │ │ │ └── viewer.properties │ │ │ ├── sl │ │ │ │ └── viewer.properties │ │ │ ├── son │ │ │ │ └── viewer.properties │ │ │ ├── sq │ │ │ │ └── viewer.properties │ │ │ ├── sr │ │ │ │ └── viewer.properties │ │ │ ├── sv-SE │ │ │ │ └── viewer.properties │ │ │ ├── ta │ │ │ │ └── viewer.properties │ │ │ ├── te │ │ │ │ └── viewer.properties │ │ │ ├── th │ │ │ │ └── viewer.properties │ │ │ ├── tl │ │ │ │ └── viewer.properties │ │ │ ├── tr │ │ │ │ └── viewer.properties │ │ │ ├── trs │ │ │ │ └── viewer.properties │ │ │ ├── uk │ │ │ │ └── viewer.properties │ │ │ ├── ur │ │ │ │ └── viewer.properties │ │ │ ├── uz │ │ │ │ └── viewer.properties │ │ │ ├── vi │ │ │ │ └── viewer.properties │ │ │ ├── wo │ │ │ │ └── viewer.properties │ │ │ ├── xh │ │ │ │ └── viewer.properties │ │ │ ├── zh-CN │ │ │ │ └── viewer.properties │ │ │ └── zh-TW │ │ │ │ └── viewer.properties │ │ │ ├── pdfjs-init.js │ │ │ ├── viewer.css │ │ │ ├── viewer.html │ │ │ ├── viewer.js │ │ │ └── viewer.js.map │ ├── _templates │ │ ├── csv_table.html │ │ ├── epub.html │ │ ├── index.html │ │ ├── not_implemented.html │ │ ├── ocr_pdf.html │ │ ├── ocr_pdf_result.html │ │ ├── panopto.html │ │ ├── privacy.html │ │ ├── process_gdrive_request.html │ │ ├── refingerprint.html │ │ ├── refingerprint_results.html │ │ ├── terms.html │ │ ├── viewer.html │ │ ├── youtube.html │ │ └── youtube_not_found.html │ ├── admin.py │ ├── apps │ │ ├── __init__.py │ │ ├── annotator │ │ │ ├── __init__.py │ │ │ ├── urls.py │ │ │ └── views.py │ │ ├── fingerprinter │ │ │ ├── __init__.py │ │ │ ├── urls.py │ │ │ └── views.py │ │ ├── ocr │ │ │ ├── __init__.py │ │ │ ├── urls.py │ │ │ └── views.py │ │ ├── panopto │ │ │ ├── __init__.py │ │ │ ├── urls.py │ │ │ └── views.py │ │ ├── urls.py │ │ └── video │ │ │ ├── __init__.py │ │ │ ├── urls.py │ │ │ └── views.py │ ├── models.py │ ├── tasks.py │ ├── tests.py │ └── utils │ │ ├── __init__.py │ │ ├── api_aws.py │ │ └── files.py ├── droppdf │ ├── __init__.py │ ├── asgi.py │ ├── celery.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── manage.py ├── requirements.txt └── robots.txt /.gitignore: -------------------------------------------------------------------------------- 1 | #Uploaded files directory 2 | upload/static/drop-pdf/* 3 | 4 | /static/drop-pdf/* 5 | /static 6 | 7 | 8 | # Byte-compiled / optimized / DLL files 9 | __pycache__/ 10 | *.py[cod] 11 | *$py.class 12 | # C extensions 13 | *.so 14 | # Distribution / packaging 15 | .Python 16 | env/ 17 | build/ 18 | develop-eggs/ 19 | dist/ 20 | downloads/ 21 | eggs/ 22 | .eggs/ 23 | lib/ 24 | lib64/ 25 | parts/ 26 | sdist/ 27 | var/ 28 | *.egg-info/ 29 | .installed.cfg 30 | *.egg 31 | # PyInstaller 32 | # Usually these files are written by a python script from a template 33 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 34 | *.manifest 35 | *.spec 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | # Unit test / coverage reports 40 | htmlcov/ 41 | .tox/ 42 | .coverage 43 | .coverage.* 44 | .cache 45 | nosetests.xml 46 | coverage.xml 47 | *,cover 48 | .hypothesis/ 49 | # Translations 50 | *.mo 51 | *.pot 52 | # Django stuff: 53 | *.log 54 | local_settings.py 55 | # Flask stuff: 56 | instance/ 57 | .webassets-cache 58 | # Scrapy stuff: 59 | .scrapy 60 | # Sphinx documentation 61 | docs/_build/ 62 | # PyBuilder 63 | target/ 64 | # IPython Notebook 65 | .ipynb_checkpoints 66 | # pyenv 67 | .python-version 68 | # celery beat schedule file 69 | celerybeat-schedule 70 | # dotenv 71 | .env 72 | # virtualenv 73 | venv/ 74 | ENV/ 75 | # Spyder project settings 76 | .spyderproject 77 | # Rope project settings 78 | .ropeproject 79 | #pdf_annotator secrets 80 | pdf_annotator/configs.py 81 | 82 | #uploaded refingerprinted files 83 | static/fingerprints/* 84 | upload/static/fingerprints/ 85 | -------------------------------------------------------------------------------- /_docs/env_sample: -------------------------------------------------------------------------------- 1 | #Sample environmental variable file. 2 | 3 | #Copy this file to "droppdf" directory (directory with "manage.py") 4 | #Fill out settings with specific information and rename to .env 5 | 6 | 7 | DB_NAME='' 8 | DB_USER='' 9 | DB_PASSWORD='' 10 | DB_HOST='localhost or ip' 11 | DJANGO_SERVER='dev' 12 | DJANGO_DEBUG=true 13 | DJANGO_SECRET_KEY='' 14 | 15 | #S3 settings 16 | AWS_SECRET_KEY='' 17 | AWS_ACCESS_KEY='' 18 | 19 | #S3 bucket names. 20 | AWS_ANNOTATIONS_BUCKET='docdrop-annotations-dev' 21 | AWS_OCR_BUCKET='docdrop-ocr-dev' 22 | AWS_FINGERPRINTER_BUCKET='docdrop-fingerprinter-dev' 23 | 24 | #Important: All buckets are assumed to be on same domain (same region)! 25 | AWS_CUSTOM_DOMAIN='https://s3.us-central-1.wasabisys.com' 26 | 27 | #How many simultanous OCR process to allow at one time 28 | MAX_SIM_OCR_PROCESSES=3 29 | 30 | #rabbitmq broker url 31 | BROKER_URL='pyamqp://guest@localhost//' 32 | 33 | #Google Drive API 34 | CLIENT_ID = '.apps.googleusercontent.com' 35 | API_KEY = '' 36 | SCOPES = "['https://www.googleapis.com/auth/drive.metadata.readonly', 'https://www.googleapis.com/auth/drive.readonly', 'https://www.googleapis.com/auth/drive.install', 'https://www.googleapis.com/auth/drive.file']" 37 | 38 | # YouTubeTranscriptAPI proxy (optional- add to use proxy otherwise none used) 39 | YOUTUBE_TRANSCRIPT_API_PROXY='https://user:pass@domain:port' 40 | -------------------------------------------------------------------------------- /_docs/nginx-config-sample: -------------------------------------------------------------------------------- 1 | server { 2 | client_max_body_size 2000M; 3 | server_name docdrop.org www.docdrop.org; 4 | 5 | location / { 6 | include proxy_params; 7 | proxy_pass http://unix:/home/droppdf/droppdf-v2-prod/droppdf/droppdf.sock; 8 | } 9 | 10 | location /static/drop-pdf/ { 11 | rewrite /static/(.*) /download/$1; 12 | } 13 | 14 | location /static/ { 15 | root /var/www/droppdf/; 16 | autoindex off; 17 | } 18 | 19 | listen 443 ssl; # managed by Certbot 20 | ssl_certificate /etc/letsencrypt/live/docdrop.org/fullchain.pem; # managed by Certbot 21 | ssl_certificate_key /etc/letsencrypt/live/docdrop.org/privkey.pem; # managed by Certbot 22 | include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot 23 | ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot 24 | 25 | } 26 | server { 27 | if ($host = docdrop.org) { 28 | return 301 https://$host$request_uri; 29 | } # managed by Certbot 30 | 31 | 32 | listen 80; 33 | server_name docdrop.org www.docdrop.org; 34 | return 404; # managed by Certbot 35 | 36 | } 37 | -------------------------------------------------------------------------------- /droppdf/apps/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/__init__.py -------------------------------------------------------------------------------- /droppdf/apps/_migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.1.4 on 2021-01-22 02:38 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | initial = True 9 | 10 | dependencies = [ 11 | ] 12 | 13 | operations = [ 14 | migrations.CreateModel( 15 | name='FileUload', 16 | fields=[ 17 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 18 | ('name', models.CharField(max_length=35)), 19 | ('url', models.CharField(max_length=50)), 20 | ('extension', models.CharField(max_length=8)), 21 | ('created', models.DateTimeField(auto_now_add=True)), 22 | ('updated', models.DateTimeField(auto_now=True)), 23 | ], 24 | ), 25 | ] 26 | -------------------------------------------------------------------------------- /droppdf/apps/_migrations/0002_auto_20210322_2310.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.1.4 on 2021-03-22 23:10 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | dependencies = [ 9 | ('apps', '0001_initial'), 10 | ] 11 | 12 | operations = [ 13 | migrations.RemoveField( 14 | model_name='fileuload', 15 | name='name', 16 | ), 17 | migrations.RemoveField( 18 | model_name='fileuload', 19 | name='url', 20 | ), 21 | migrations.AddField( 22 | model_name='fileuload', 23 | name='filename', 24 | field=models.CharField(default=0, max_length=75), 25 | preserve_default=False, 26 | ), 27 | migrations.AddField( 28 | model_name='fileuload', 29 | name='md5_hash', 30 | field=models.CharField(default=0, max_length=25), 31 | preserve_default=False, 32 | ), 33 | ] 34 | -------------------------------------------------------------------------------- /droppdf/apps/_migrations/0003_auto_20210323_0311.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.1.4 on 2021-03-23 03:11 2 | 3 | from django.db import migrations, models 4 | import django.db.models.deletion 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('apps', '0002_auto_20210322_2310'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AddField( 15 | model_name='fileuload', 16 | name='is_original', 17 | field=models.BooleanField(default=True), 18 | ), 19 | migrations.AddField( 20 | model_name='fileuload', 21 | name='parent', 22 | field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='apps.fileuload'), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /droppdf/apps/_migrations/0004_auto_20210330_1735.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.1.4 on 2021-03-30 17:35 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | dependencies = [ 9 | ('apps', '0003_auto_20210323_0311'), 10 | ] 11 | 12 | operations = [ 13 | migrations.AlterField( 14 | model_name='fileuload', 15 | name='md5_hash', 16 | field=models.CharField(max_length=64), 17 | ), 18 | ] 19 | -------------------------------------------------------------------------------- /droppdf/apps/_migrations/0005_auto_20210331_2024.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.1.4 on 2021-03-31 20:24 2 | 3 | from django.db import migrations 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | dependencies = [ 9 | ('apps', '0004_auto_20210330_1735'), 10 | ] 11 | 12 | operations = [ 13 | migrations.RenameModel( 14 | old_name='FileUload', 15 | new_name='FileUpload', 16 | ), 17 | migrations.AlterModelTable( 18 | name='fileupload', 19 | table='apps_fileupload', 20 | ), 21 | ] 22 | -------------------------------------------------------------------------------- /droppdf/apps/_migrations/0006_ocrupload.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.1.4 on 2021-04-03 16:02 2 | 3 | from django.db import migrations, models 4 | import django.db.models.deletion 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('apps', '0005_auto_20210331_2024'), 11 | ] 12 | 13 | operations = [ 14 | migrations.CreateModel( 15 | name='OCRUpload', 16 | fields=[ 17 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 18 | ('filename', models.CharField(max_length=75)), 19 | ('md5_hash', models.CharField(max_length=64)), 20 | ('extension', models.CharField(max_length=8)), 21 | ('is_original', models.BooleanField(default=True)), 22 | ('is_forced', models.BooleanField(default=False)), 23 | ('created', models.DateTimeField(auto_now_add=True)), 24 | ('updated', models.DateTimeField(auto_now=True)), 25 | ('parent', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='apps.fileupload')), 26 | ], 27 | options={ 28 | 'db_table': 'apps_ocr_upload', 29 | }, 30 | ), 31 | ] 32 | -------------------------------------------------------------------------------- /droppdf/apps/_migrations/0007_remove_ocrupload_extension.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.1.4 on 2021-04-03 16:08 2 | 3 | from django.db import migrations 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | dependencies = [ 9 | ('apps', '0006_ocrupload'), 10 | ] 11 | 12 | operations = [ 13 | migrations.RemoveField( 14 | model_name='ocrupload', 15 | name='extension', 16 | ), 17 | ] 18 | -------------------------------------------------------------------------------- /droppdf/apps/_migrations/0008_auto_20210406_1959.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.1.4 on 2021-04-06 19:59 2 | 3 | from django.db import migrations, models 4 | import django.db.models.deletion 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('apps', '0007_remove_ocrupload_extension'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='ocrupload', 16 | name='parent', 17 | field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='apps.ocrupload'), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /droppdf/apps/_migrations/0009_auto_20210819_2331.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.1.4 on 2021-08-19 23:31 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | dependencies = [ 9 | ('apps', '0008_auto_20210406_1959'), 10 | ] 11 | 12 | operations = [ 13 | migrations.AlterField( 14 | model_name='fileupload', 15 | name='filename', 16 | field=models.CharField(max_length=200), 17 | ), 18 | migrations.AlterField( 19 | model_name='fileupload', 20 | name='md5_hash', 21 | field=models.CharField(max_length=100), 22 | ), 23 | migrations.AlterField( 24 | model_name='ocrupload', 25 | name='filename', 26 | field=models.CharField(max_length=200), 27 | ), 28 | migrations.AlterField( 29 | model_name='ocrupload', 30 | name='md5_hash', 31 | field=models.CharField(max_length=100), 32 | ), 33 | ] 34 | -------------------------------------------------------------------------------- /droppdf/apps/_migrations/0010_videosubtitle.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.1.4 on 2024-08-20 23:08 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | dependencies = [ 9 | ('apps', '0009_auto_20210819_2331'), 10 | ] 11 | 12 | operations = [ 13 | migrations.CreateModel( 14 | name='VideoSubtitle', 15 | fields=[ 16 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 17 | ('lang_list', models.CharField(max_length=1024)), 18 | ('video_id', models.CharField(max_length=100)), 19 | ('subtitle', models.JSONField()), 20 | ('created', models.DateTimeField(auto_now_add=True)), 21 | ('updated', models.DateTimeField(auto_now=True)), 22 | ], 23 | options={ 24 | 'db_table': 'apps_video_subtitle', 25 | }, 26 | ), 27 | ] 28 | -------------------------------------------------------------------------------- /droppdf/apps/_migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_migrations/__init__.py -------------------------------------------------------------------------------- /droppdf/apps/_static/apps/css/index.css: -------------------------------------------------------------------------------- 1 | .main{ 2 | background: #2c2c2c; 3 | width: 100%; 4 | height: 96vh; 5 | 6 | } 7 | #progressbar{ 8 | position: absolute; 9 | margin-left: -49px; 10 | margin-top: -23px; 11 | top:50%; 12 | left:50% 13 | } 14 | /*dropzone don't show status elements*/ 15 | .dz-success-mark, .dz-error-mark { 16 | /*display: none;*/ 17 | } 18 | img{ 19 | position: absolute; 20 | margin-left: -85px; 21 | margin-top: -100px; 22 | top:50%; 23 | left:50% 24 | } 25 | .label { 26 | padding-top: 20px; 27 | font-size: 28px; 28 | color: white; 29 | position: absolute; 30 | width: 500px; 31 | margin-left: -250px; 32 | margin-top: 50px; 33 | top:50%; 34 | left:50%; 35 | } 36 | .label a{ 37 | text-decoration: none; 38 | color: white; 39 | } 40 | .label .error{ 41 | font-size:15px; 42 | background-color: #D58D8F; 43 | border: 2px solid #D4272C; 44 | border-radius: 5px; 45 | color: #BE1530; 46 | padding: 1em; 47 | position: relative; 48 | text-align: left; 49 | } 50 | .label .error a{ 51 | text-decoration: none; 52 | color: #0006EF !important; 53 | } 54 | .label i:hover{ 55 | cursor: pointer; 56 | } 57 | .label #process-content-text { 58 | display: none; 59 | color: #5bbc2e; 60 | } 61 | .dz-filename span{ 62 | border: 1px dashed rgba(0, 0, 0, 0.8); 63 | } 64 | .dropzone_new { 65 | height: 100%; 66 | width: 100%; 67 | border: 2px solid #2c2c2c; 68 | } 69 | #dropzone p { 70 | font-size:15px; 71 | } 72 | #dropzone a { 73 | color: #5bbc2e; 74 | } 75 | #dropzone .label { 76 | top: 20%; 77 | } 78 | #dropzone img { 79 | top: 20%; 80 | } 81 | #dropzone .dz-preview { 82 | top: 20%; 83 | } 84 | #progressbar { 85 | top: 20%; 86 | } 87 | @media (max-height: 540px) { 88 | .label { 89 | top: 50%; 90 | } 91 | img { 92 | top: 50%; 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /droppdf/apps/_static/apps/img/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/apps/img/background.png -------------------------------------------------------------------------------- /droppdf/apps/_static/apps/js/ocr_pdf_result.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 3 | /* 50 minute max time */ 4 | var max = 600 5 | var c = 0 6 | 7 | var stop_time; 8 | var start_time = new Date(); 9 | 10 | function _show_complete() { 11 | clearInterval(check_interval); 12 | 13 | stop_time = new Date(); 14 | 15 | var time_to_process = ((stop_time - start_time) / 1000).toFixed(2) 16 | 17 | $('#in-progress').hide(); 18 | $('#download-info').show(); 19 | 20 | $('#processing-time').text(time_to_process); 21 | 22 | $('#docdrop-link').attr('href', '/pdf/' + FILE_INFO.processed_filename + '?src=ocr') 23 | 24 | $('#file-download-link').attr('href', FILE_INFO.download_url) 25 | }; 26 | 27 | 28 | var check_interval = setInterval(function() { 29 | $.post('/ocr/check_complete', {filename: FILE_INFO.new_filename, 30 | task_id: FILE_INFO.task_id, csrfmiddlewaretoken: CSRF_TOKEN}) 31 | .done(function(result) { 32 | //console.log(result); 33 | var error_detail_text; 34 | 35 | if (result.status == 'SUCCESS') { 36 | _show_complete(); 37 | return; 38 | } 39 | else if (result.error_detail) { 40 | var error_detail = JSON.parse(result.error_detail); 41 | 42 | if (error_detail.exc_type === 'MaxProcessesExceededError') { 43 | error_detail_text = 'This service is currently limited to 3 concurrent OCR tasks. Please try again in a few minutes.' 44 | 45 | } 46 | }; 47 | 48 | if (! error_detail_text) { 49 | error_detail_text= result.status; 50 | }; 51 | 52 | clearInterval(check_interval); 53 | 54 | $('#in-progress').hide(); 55 | $('#download-info').hide(); 56 | $('#upload-error') 57 | .text('Error Processing File.' + error_detail_text) 58 | .show(); 59 | 60 | return 61 | }) 62 | .fail(function(e) { 63 | }); 64 | 65 | c += 1 66 | 67 | if (c > max) { 68 | clearInterval(check_interval); 69 | $('#in-progress').hide(); 70 | $('#download-info').hide(); 71 | $('#upload-error').show(); 72 | 73 | }; 74 | }, 5000); 75 | 76 | $(document).ready(function() { 77 | var url; 78 | 79 | $('#time-start').text(start_time.toLocaleTimeString()); 80 | 81 | if (FILE_INFO && FILE_INFO.download_url && FILE_INFO.download_url.length > 0) { 82 | url = FILE_INFO.download_url; 83 | } 84 | 85 | $('#download-link') 86 | .attr('href', url) 87 | .text(url); 88 | 89 | $('#docdrop-link') 90 | .attr('href', '/pdf/' + FILE_INFO.new_filename + '?src=ocr') 91 | .text(FILE_INFO.new_filename); 92 | 93 | /* ocr previously performed */ 94 | if (FILE_INFO.download_url && FILE_INFO.existing) { 95 | clearInterval(check_interval); 96 | _show_complete(); 97 | } 98 | 99 | else if (FILE_INFO.processing_error) { 100 | clearInterval(check_interval); 101 | 102 | $('#in-progress').hide(); 103 | $('#download-info').hide(); 104 | $('#upload-error') 105 | .text(FILE_INFO.processing_error) 106 | .show(); 107 | } 108 | }); 109 | 110 | }()); 111 | -------------------------------------------------------------------------------- /droppdf/apps/_static/apps/js/refingerprint.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | //var in_process = false; 3 | 4 | function _showError(m) { 5 | $('#upload-error') 6 | .text(m) 7 | .show(); 8 | }; 9 | 10 | function _hideError() { 11 | $('#upload-error') 12 | .text('') 13 | .hide(); 14 | }; 15 | 16 | function _checkFileError(file) { 17 | //check file type and size 18 | //return null if good, otherwise return error. 19 | 20 | _hideError(); 21 | 22 | if (file.type.indexOf('pdf') === -1) { 23 | return 'document is not a pdf!' 24 | }; 25 | 26 | if (file.size > 157287000) { 27 | return 'file is too large (150MB limit)' 28 | }; 29 | 30 | return null 31 | }; 32 | 33 | function _updateFileName() { 34 | _hideError(); 35 | 36 | var filename = ''; 37 | 38 | var file = $('#pdf-file').prop('files')[0]; 39 | 40 | if (file) { 41 | var check_error = _checkFileError(file); 42 | 43 | if (check_error) { 44 | _showError(check_error); 45 | 46 | return false; 47 | } 48 | 49 | filename = file.name; 50 | 51 | $('#filename').text(filename); 52 | $('#filesize').text(file.size + 'bytes'); 53 | }; 54 | 55 | return true; 56 | }; 57 | 58 | function _restoreReady() { 59 | $('#upload-button').removeClass('disabled'); 60 | $('#wait-icon').hide(); 61 | $('#pdf-file').prop('disabled', false); 62 | 63 | $('#pdf-file').val(null); 64 | $('#filename').text(''); 65 | 66 | $('#copy-count').val(1); 67 | 68 | }; 69 | 70 | function _showProcessed(file_htmls) { 71 | var el = $('#result-copies'); 72 | 73 | $(el).empty(); 74 | 75 | $.each(file_htmls, function(i, v) { 76 | $(el).append(v); 77 | }); 78 | }; 79 | 80 | function _uploadPDF() { 81 | _hideError(); 82 | 83 | var csrf_token_form = $(''); 84 | 85 | var file = $('#pdf-file').prop('files')[0]; 86 | 87 | if (! file) { 88 | return _showError('Please select a file first'); 89 | } 90 | 91 | var check_error = _checkFileError(file); 92 | if (check_error) { 93 | return _showError(check_error); 94 | } 95 | 96 | $('#param-form').append(csrf_token_form); 97 | 98 | var formData = new FormData($('#param-form')[0]); 99 | 100 | $.ajax({ 101 | url : '/fingerprinter/upload/', 102 | type : 'POST', 103 | data : formData, 104 | processData: false, 105 | contentType: false, 106 | success: function(response) { 107 | if (response && response.directory && response.task_id) { 108 | $('#csrf_form_token').hide(); 109 | $('#upload-button').hide(); 110 | $('#in-progress').show(); 111 | 112 | var try_count = 0; 113 | //check if processing is complete 114 | var intvl = setInterval(function() { 115 | if (try_count > 40) { 116 | clearInterval(intvl); 117 | _showError('File processing failed to complete. Please try a smaller file'); 118 | }; 119 | 120 | $.ajax({ 121 | url: '/fingerprinter/check_complete/', 122 | type: 'POST', 123 | data: {task_id: response.task_id, csrfmiddlewaretoken: CSRF_TOKEN}, 124 | success: function(rslt) { 125 | if (rslt && rslt.status == 'SUCCESS') { 126 | clearInterval(intvl); 127 | window.location.href = '/fingerprinter/result/?dir=' + response.directory 128 | } 129 | }, 130 | fail: function(e) { 131 | clearInterval(intvl); 132 | _showError('Processing failed. Check file and try again.'); 133 | }, 134 | }); 135 | 136 | try_count += 1; 137 | 138 | }, 5000); 139 | 140 | } else { 141 | _showError('Problem processing file. Please check name and file type and try again.'); 142 | } 143 | }, 144 | fail: function(error) { 145 | _showError('Upload failed'); 146 | }, 147 | statusCode: { 148 | 404: function() { 149 | _showError('Upload failed'); 150 | }, 151 | 406: function() { 152 | _showError('file not provided'); 153 | }, 154 | }, 155 | }); 156 | }; 157 | 158 | window.uploadPDF = _uploadPDF; 159 | window.updateFileName = _updateFileName; 160 | 161 | }()); 162 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/dropzone-5.7.0/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | components 3 | node_modules 4 | .DS_Store 5 | .sass-cache 6 | _site 7 | _config.yaml -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/dropzone-5.7.0/.tagconfig: -------------------------------------------------------------------------------- 1 | { 2 | "files": [ 3 | { 4 | "name": "src/dropzone.coffee", 5 | "regexs": [ 6 | "Dropzone.version = \"###\"" 7 | ] 8 | }, 9 | { 10 | "name": "dist/dropzone.js", 11 | "regexs": [ 12 | "version = \"###\"" 13 | ] 14 | }, 15 | { 16 | "name": "dist/min/dropzone.min.js", 17 | "regexs": [ 18 | "version=\"###\"" 19 | ] 20 | }, 21 | { 22 | "name": "dist/dropzone-amd-module.js", 23 | "regexs": [ 24 | "version = \"###\"" 25 | ] 26 | }, 27 | { 28 | "name": "dist/min/dropzone-amd-module.min.js", 29 | "regexs": [ 30 | "version=\"###\"" 31 | ] 32 | }, 33 | { 34 | "name": "package.json", 35 | "regexs": [ 36 | "\"version\": \"###\"" 37 | ] 38 | }, 39 | { 40 | "name": "component.json", 41 | "regexs": [ 42 | "\"version\": \"###\"" 43 | ] 44 | }, 45 | { 46 | "name": "bower.json", 47 | "regexs": [ 48 | "\"version\": \"###\"" 49 | ] 50 | } 51 | ] 52 | } 53 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/dropzone-5.7.0/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Contribute 2 | ========== 3 | 4 | DO NOT CREATE PULL REQUESTS ON GITHUB! 5 | 6 | I will simply close them. If you want to contribute, please use [gitlab.com](https://gitlab.com/meno/dropzone) instead. -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/dropzone-5.7.0/LICENSE: -------------------------------------------------------------------------------- 1 | License 2 | 3 | (The MIT License) 4 | 5 | Copyright (c) 2012 Matias Meno 6 | Logo & Website Design (c) 2015 "1910" www.weare1910.com 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 13 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/dropzone-5.7.0/README.md: -------------------------------------------------------------------------------- 1 | Dropzone.js 2 | 3 | Dropzone.js is a light weight JavaScript library that turns an HTML element into a dropzone. 4 | This means that a user can drag and drop a file onto it, and the file gets uploaded to the server via AJAX. 5 | 6 | * * * 7 | 8 | _If you want support, please use [stackoverflow](http://stackoverflow.com/) with the `dropzone.js` tag and not the 9 | GitHub issues tracker. Only post an issue here if you think you discovered a bug or have a feature request._ 10 | 11 | * * * 12 | 13 | **Please read the [contributing guidelines](CONTRIBUTING.md) before you start working on Dropzone!** 14 | 15 |
16 |
17 | >> Download << 18 |
19 |
20 |
21 | 22 | This is no longer the official repository for Dropzone. I have switched to [gitlab.com](https://gitlab.com/meno/dropzone) 23 | as the primary location to continue development. 24 | 25 | There are multiple reasons why I am switching from GitHub to GitLab, but a few of the reasons are the 26 | issue tracker that GitHub is providing, *drowning* me in issues that I am unable to categorise or prioritize properly, 27 | the lack of proper continuous integration, and build files. I don't want the compiled `.js` files in my repository, and 28 | people regularly commit changes to the compiled files and create pull requests with them. 29 | 30 | I will write a blog post soon, that goes into detail about why I am doing the switch. 31 | 32 | This repository will still remain, and always host the most up to date versions of dropzone, but only the distribution 33 | files! 34 | 35 | MIT License 36 | ----------- 37 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/dropzone-5.7.0/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dropzone", 3 | "location": "enyo/dropzone", 4 | "version": "5.7.0", 5 | "description": "Dropzone is an easy to use drag'n'drop library. It supports image previews and shows nice progress bars.", 6 | "homepage": "http://www.dropzonejs.com", 7 | "main": [ 8 | "dist/min/dropzone.min.css", 9 | "dist/min/dropzone.min.js" 10 | ], 11 | "ignore": [ 12 | "*", 13 | "!dist", 14 | "!dist/**/*" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/dropzone-5.7.0/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dropzone", 3 | "repo": "enyo/dropzone", 4 | "version": "5.7.0", 5 | "description": "Handles drag and drop of files for you.", 6 | "scripts": [ "index.js", "dist/dropzone.js" ], 7 | "styles": [ "dist/basic.css" ], 8 | "dependencies": { }, 9 | "license": "MIT" 10 | } 11 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/dropzone-5.7.0/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "enyo/dropzone", 3 | "description": "Handles drag and drop of files for you.", 4 | "homepage": "http://www.dropzonejs.com", 5 | "keywords": [ 6 | "dragndrop", 7 | "drag and drop", 8 | "file upload", 9 | "upload" 10 | ], 11 | "authors": [{ 12 | "name": "Matias Meno", 13 | "email": "m@tias.me", 14 | "homepage": "http://www.matiasmeno.com" 15 | }], 16 | "license": "MIT", 17 | "minimum-stability": "dev" 18 | } 19 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/dropzone-5.7.0/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./dist/dropzone.js"); // Exposing dropzone 2 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/dropzone-5.7.0/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dropzone", 3 | "version": "5.7.0", 4 | "description": "Handles drag and drop of files for you.", 5 | "keywords": [ 6 | "dragndrop", 7 | "drag and drop", 8 | "file upload", 9 | "upload" 10 | ], 11 | "homepage": "http://www.dropzonejs.com", 12 | "main": "./dist/dropzone.js", 13 | "maintainers": [ 14 | { 15 | "name": "Matias Meno", 16 | "email": "m@tias.me", 17 | "web": "http://www.colorglare.com" 18 | } 19 | ], 20 | "contributors": [ 21 | { 22 | "name": "Matias Meno", 23 | "email": "m@tias.me", 24 | "web": "http://www.colorglare.com" 25 | } 26 | ], 27 | "scripts": { 28 | "test": "grunt && npm run test-prebuilt", 29 | "test-prebuilt": "mocha-headless-chrome -f test/test-prebuilt.html -a no-sandbox -a disable-setuid-sandbox" 30 | }, 31 | "bugs": { 32 | "email": "m@tias.me", 33 | "url": "https://gitlab.com/meno/dropzone/issues" 34 | }, 35 | "license": "MIT", 36 | "repository": { 37 | "type": "git", 38 | "url": "https://gitlab.com/meno/dropzone.git" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/font-awesome-4.7.0/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/font-awesome-4.7.0/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/font-awesome-4.7.0/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | .fa-icon-rotate(@degrees, @rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; 16 | -webkit-transform: rotate(@degrees); 17 | -ms-transform: rotate(@degrees); 18 | transform: rotate(@degrees); 19 | } 20 | 21 | .fa-icon-flip(@horiz, @vert, @rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; 23 | -webkit-transform: scale(@horiz, @vert); 24 | -ms-transform: scale(@horiz, @vert); 25 | transform: scale(@horiz, @vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | .sr-only() { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | .sr-only-focusable() { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | @mixin fa-icon-rotate($degrees, $rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; 16 | -webkit-transform: rotate($degrees); 17 | -ms-transform: rotate($degrees); 18 | transform: rotate($degrees); 19 | } 20 | 21 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; 23 | -webkit-transform: scale($horiz, $vert); 24 | -ms-transform: scale($horiz, $vert); 25 | transform: scale($horiz, $vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | @mixin sr-only { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | @mixin sr-only-focusable { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/font-awesome-4.7.0/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/HYPOTHESIS-README.md: -------------------------------------------------------------------------------- 1 | # Hypothesis README 2 | 3 | This is a build of the PDF.js viewer auto-generated by tools/update-pdfjs. 4 | 5 | "viewer" has been modified for use in docdrop.org to have defaultUrl passed into the template as variable window.PDF_URL 6 | 7 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/78-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/78-EUC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/78-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/78-EUC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/78-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/78-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/78-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/78-RKSJ-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/78-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/78-RKSJ-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/78-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/78-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/78ms-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/78ms-RKSJ-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/78ms-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/78ms-RKSJ-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/83pv-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/83pv-RKSJ-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/90ms-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/90ms-RKSJ-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/90ms-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/90ms-RKSJ-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/90msp-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/90msp-RKSJ-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/90msp-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/90msp-RKSJ-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/90pv-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/90pv-RKSJ-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/90pv-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/90pv-RKSJ-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Add-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Add-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Add-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Add-RKSJ-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Add-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Add-RKSJ-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Add-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Add-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-0.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-0.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-1.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-1.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-2.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-3.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-3.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-4.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-4.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-5.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-5.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-6.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-6.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-UCS2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-CNS1-UCS2.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-0.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-0.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-1.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-1.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-2.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-3.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-3.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-4.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-4.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-5.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-5.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-UCS2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-GB1-UCS2.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-0.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-0.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-1.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-1.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-2.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-3.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-3.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-4.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-4.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-5.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-5.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-6.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-6.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-UCS2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Japan1-UCS2.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Korea1-0.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Korea1-0.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Korea1-1.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Korea1-1.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Korea1-2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Korea1-2.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Korea1-UCS2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Adobe-Korea1-UCS2.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/B5-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/B5-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/B5pc-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/B5pc-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/B5pc-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/B5pc-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/CNS-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/CNS-EUC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/CNS-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/CNS-EUC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/CNS1-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/CNS1-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/CNS1-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/CNS1-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/CNS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/CNS2-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/CNS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/CNS2-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/ETHK-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/ETHK-B5-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/ETHK-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/ETHK-B5-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/ETen-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/ETen-B5-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/ETen-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/ETen-B5-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/ETenms-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/ETenms-B5-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/ETenms-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/ETenms-B5-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/EUC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/EUC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Ext-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Ext-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Ext-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Ext-RKSJ-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Ext-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Ext-RKSJ-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Ext-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Ext-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GB-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GB-EUC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GB-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GB-EUC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GB-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GB-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GB-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GB-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBK-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBK-EUC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBK-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBK-EUC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBK2K-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBK2K-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBK2K-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBK2K-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBKp-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBKp-EUC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBKp-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBKp-EUC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBT-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBT-EUC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBT-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBT-EUC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBT-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBT-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBT-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBT-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBTpc-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBTpc-EUC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBTpc-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBTpc-EUC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBpc-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBpc-EUC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/GBpc-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/GBpc-EUC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/HKdla-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/HKdla-B5-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/HKdla-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/HKdla-B5-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/HKdlb-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/HKdlb-B5-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/HKdlb-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/HKdlb-B5-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/HKgccs-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/HKgccs-B5-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/HKgccs-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/HKgccs-B5-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/HKm314-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/HKm314-B5-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/HKm314-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/HKm314-B5-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/HKm471-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/HKm471-B5-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/HKm471-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/HKm471-B5-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/HKscs-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/HKscs-B5-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/HKscs-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/HKscs-B5-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Hankaku.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Hankaku.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Hiragana.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Hiragana.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/KSC-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/KSC-EUC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/KSC-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/KSC-EUC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/KSC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/KSC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/KSC-Johab-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/KSC-Johab-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/KSC-Johab-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/KSC-Johab-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/KSC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/KSC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/KSCms-UHC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/KSCms-UHC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/KSCms-UHC-HW-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/KSCms-UHC-HW-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/KSCms-UHC-HW-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/KSCms-UHC-HW-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/KSCms-UHC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/KSCms-UHC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/KSCpc-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/KSCpc-EUC-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/KSCpc-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/KSCpc-EUC-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Katakana.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Katakana.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/LICENSE: -------------------------------------------------------------------------------- 1 | %%Copyright: ----------------------------------------------------------- 2 | %%Copyright: Copyright 1990-2009 Adobe Systems Incorporated. 3 | %%Copyright: All rights reserved. 4 | %%Copyright: 5 | %%Copyright: Redistribution and use in source and binary forms, with or 6 | %%Copyright: without modification, are permitted provided that the 7 | %%Copyright: following conditions are met: 8 | %%Copyright: 9 | %%Copyright: Redistributions of source code must retain the above 10 | %%Copyright: copyright notice, this list of conditions and the following 11 | %%Copyright: disclaimer. 12 | %%Copyright: 13 | %%Copyright: Redistributions in binary form must reproduce the above 14 | %%Copyright: copyright notice, this list of conditions and the following 15 | %%Copyright: disclaimer in the documentation and/or other materials 16 | %%Copyright: provided with the distribution. 17 | %%Copyright: 18 | %%Copyright: Neither the name of Adobe Systems Incorporated nor the names 19 | %%Copyright: of its contributors may be used to endorse or promote 20 | %%Copyright: products derived from this software without specific prior 21 | %%Copyright: written permission. 22 | %%Copyright: 23 | %%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 24 | %%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 25 | %%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 26 | %%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | %%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 28 | %%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 29 | %%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 30 | %%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 31 | %%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 | %%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 33 | %%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 34 | %%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 35 | %%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | %%Copyright: ----------------------------------------------------------- 37 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/NWP-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/NWP-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/NWP-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/NWP-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/RKSJ-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/RKSJ-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/Roman.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/Roman.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UCS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UCS2-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UCS2-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UTF16-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UTF16-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UTF32-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UTF32-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UTF8-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniCNS-UTF8-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UCS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UCS2-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UCS2-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UTF16-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UTF16-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UTF32-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UTF32-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UTF8-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniGB-UTF8-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UCS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UCS2-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UCS2-HW-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UCS2-HW-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UCS2-HW-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UCS2-HW-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UCS2-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UTF16-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UTF16-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UTF32-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UTF32-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UTF8-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS-UTF8-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS2004-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS2004-UTF16-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS2004-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS2004-UTF16-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS2004-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS2004-UTF32-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS2004-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS2004-UTF32-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS2004-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS2004-UTF8-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS2004-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJIS2004-UTF8-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISPro-UCS2-HW-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISPro-UCS2-HW-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISPro-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISPro-UCS2-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISPro-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISPro-UTF8-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISX0213-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISX0213-UTF32-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISX0213-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISX0213-UTF32-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISX02132004-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISX02132004-UTF32-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISX02132004-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniJISX02132004-UTF32-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UCS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UCS2-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UCS2-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UTF16-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UTF16-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UTF32-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UTF32-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UTF8-H.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/UniKS-UTF8-V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/V.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/cmaps/WP-Symbol.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/cmaps/WP-Symbol.bcmap -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/compressed.tracemonkey-pldi-09.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/compressed.tracemonkey-pldi-09.pdf -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/annotation-check.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/annotation-comment.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/annotation-help.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 16 | 18 | 21 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/annotation-insert.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/annotation-key.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/annotation-newparagraph.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/annotation-noicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/annotation-note.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 14 | 21 | 28 | 35 | 42 | 43 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/annotation-paragraph.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/findbarButton-next-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/findbarButton-next-rtl.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/findbarButton-next-rtl@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/findbarButton-next-rtl@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/findbarButton-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/findbarButton-next.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/findbarButton-next@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/findbarButton-next@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/findbarButton-previous-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/findbarButton-previous-rtl.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/findbarButton-previous-rtl@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/findbarButton-previous-rtl@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/findbarButton-previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/findbarButton-previous.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/findbarButton-previous@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/findbarButton-previous@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/grab.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/grab.cur -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/grabbing.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/grabbing.cur -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/loading-icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/loading-icon.gif -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/loading-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/loading-small.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/loading-small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/loading-small@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-documentProperties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-documentProperties.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-documentProperties@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-documentProperties@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-firstPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-firstPage.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-firstPage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-firstPage@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-handTool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-handTool.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-handTool@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-handTool@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-lastPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-lastPage.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-lastPage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-lastPage@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-rotateCcw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-rotateCcw.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-rotateCcw@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-rotateCcw@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-rotateCw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-rotateCw.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-rotateCw@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-rotateCw@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-scrollHorizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-scrollHorizontal.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-scrollHorizontal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-scrollHorizontal@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-scrollVertical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-scrollVertical.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-scrollVertical@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-scrollVertical@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-scrollWrapped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-scrollWrapped.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-scrollWrapped@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-scrollWrapped@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-selectTool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-selectTool.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-selectTool@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-selectTool@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-spreadEven.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-spreadEven.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-spreadEven@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-spreadEven@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-spreadNone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-spreadNone.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-spreadNone@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-spreadNone@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-spreadOdd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-spreadOdd.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-spreadOdd@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/secondaryToolbarButton-spreadOdd@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/shadow.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/texture.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-bookmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-bookmark.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-bookmark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-bookmark@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-download.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-download@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-download@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-menuArrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-menuArrows.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-menuArrows@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-menuArrows@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-openFile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-openFile.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-openFile@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-openFile@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageDown-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageDown-rtl.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageDown-rtl@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageDown-rtl@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageDown.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageDown@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageDown@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageUp-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageUp-rtl.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageUp-rtl@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageUp-rtl@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageUp.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageUp@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-pageUp@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-presentationMode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-presentationMode.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-presentationMode@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-presentationMode@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-print.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-print@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-print@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-search.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-search@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-search@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-secondaryToolbarToggle-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-secondaryToolbarToggle-rtl.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-secondaryToolbarToggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-secondaryToolbarToggle.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-secondaryToolbarToggle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-secondaryToolbarToggle@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-sidebarToggle-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-sidebarToggle-rtl.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-sidebarToggle-rtl@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-sidebarToggle-rtl@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-sidebarToggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-sidebarToggle.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-sidebarToggle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-sidebarToggle@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewAttachments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewAttachments.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewAttachments@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewAttachments@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewOutline-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewOutline-rtl.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewOutline-rtl@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewOutline-rtl@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewOutline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewOutline.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewOutline@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewOutline@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewThumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewThumbnail.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewThumbnail@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-viewThumbnail@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-zoomIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-zoomIn.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-zoomIn@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-zoomIn@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-zoomOut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-zoomOut.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-zoomOut@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/toolbarButton-zoomOut@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/treeitem-collapsed-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/treeitem-collapsed-rtl.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/treeitem-collapsed-rtl@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/treeitem-collapsed-rtl@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/treeitem-collapsed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/treeitem-collapsed.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/treeitem-collapsed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/treeitem-collapsed@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/treeitem-expanded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/treeitem-expanded.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/images/treeitem-expanded@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/_static/vendor/viewer/web/images/treeitem-expanded@2x.png -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/locale/wo/viewer.properties: -------------------------------------------------------------------------------- 1 | # Copyright 2012 Mozilla Foundation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Main toolbar buttons (tooltips and alt text for images) 16 | previous.title=Xët wi jiitu 17 | previous_label=Bi jiitu 18 | next.title=Xët wi ci topp 19 | next_label=Bi ci topp 20 | 21 | # LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. 22 | # LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number 23 | # representing the total number of pages in the document. 24 | # LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" 25 | # will be replaced by a number representing the currently visible page, 26 | # respectively a number representing the total number of pages in the document. 27 | 28 | zoom_out.title=Wàññi 29 | zoom_out_label=Wàññi 30 | zoom_in.title=Yaatal 31 | zoom_in_label=Yaatal 32 | zoom.title=Yambalaŋ 33 | presentation_mode.title=Wañarñil ci anamu wone 34 | presentation_mode_label=Anamu Wone 35 | open_file.title=Ubbi benn dencukaay 36 | open_file_label=Ubbi 37 | print.title=Móol 38 | print_label=Móol 39 | download.title=Yeb yi 40 | download_label=Yeb yi 41 | bookmark.title=Wone bi taxaw (duppi walla ubbi palanteer bu bees) 42 | bookmark_label=Wone bi feeñ 43 | 44 | # Secondary toolbar and context menu 45 | 46 | 47 | # Document properties dialog box 48 | # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" 49 | # will be replaced by the PDF file size in kilobytes, respectively in bytes. 50 | # LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" 51 | # will be replaced by the PDF file size in megabytes, respectively in bytes. 52 | document_properties_title=Bopp: 53 | # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" 54 | # will be replaced by the creation/modification date, and time, of the PDF file. 55 | 56 | # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by 57 | # a numerical per cent value. 58 | 59 | # Tooltips and alt text for side panel toolbar buttons 60 | # (the _label strings are alt text for the buttons, the .title strings are 61 | # tooltips) 62 | thumbs.title=Wone nataal yu ndaw yi 63 | thumbs_label=Nataal yu ndaw yi 64 | findbar.title=Gis ci biir jukki bi 65 | findbar_label=Wut 66 | 67 | # Thumbnails panel item (tooltip and alt text for images) 68 | # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page 69 | # number. 70 | thumb_page_title=Xët {{page}} 71 | # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page 72 | # number. 73 | thumb_page_canvas=Wiñet bu xët {{page}} 74 | 75 | # Find panel button title and messages 76 | find_previous.title=Seet beneen kaddu bu ni mel te jiitu 77 | find_previous_label=Bi jiitu 78 | find_next.title=Seet beneen kaddu bu ni mel 79 | find_next_label=Bi ci topp 80 | find_highlight=Melaxal lépp 81 | find_match_case_label=Sàmm jëmmalin wi 82 | find_reached_top=Jot nañu ndorteel xët wi, kontine dale ko ci suuf 83 | find_reached_bottom=Jot nañu jeexitalu xët wi, kontine ci ndorte 84 | find_not_found=Gisiñu kaddu gi 85 | 86 | # Error panel labels 87 | error_more_info=Xibaar yu gën bari 88 | error_less_info=Xibaar yu gën bari 89 | # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be 90 | # replaced by the PDF.JS version and build ID. 91 | # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an 92 | # english string describing the error. 93 | error_message=Bataaxal: {{message}} 94 | # LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack 95 | # trace. 96 | error_stack=Juug: {{stack}} 97 | # LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename 98 | error_file=Dencukaay: {{file}} 99 | # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number 100 | error_line=Rëdd : {{line}} 101 | rendering_error=Am njumte bu am bi xët bi di wonewu. 102 | 103 | # Predefined zoom values 104 | page_scale_width=Yaatuwaay bu mët 105 | page_scale_fit=Xët lëmm 106 | page_scale_auto=Yambalaŋ ci saa si 107 | page_scale_actual=Dayo bi am 108 | # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a 109 | # numerical scale value. 110 | 111 | # Loading indicator messages 112 | loading_error_indicator=Njumte 113 | loading_error=Am na njumte ci yebum dencukaay PDF bi. 114 | invalid_file_error=Dencukaay PDF bi baaxul walla mu sankar. 115 | 116 | # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. 117 | # "{{type}}" will be replaced with an annotation type from a list defined in 118 | # the PDF spec (32000-1:2008 Table 169 – Annotation types). 119 | # Some common types are e.g.: "Check", "Text", "Comment", "Note" 120 | text_annotation_type.alt=[Karmat {{type}}] 121 | password_ok=OK 122 | password_cancel=Neenal 123 | 124 | printing_not_supported=Artu: Joowkat bii nanguwul lool mool. 125 | -------------------------------------------------------------------------------- /droppdf/apps/_static/vendor/viewer/web/pdfjs-init.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Note: This file is not transpiled. For IE 11 compatibility, it must only 4 | // use ES5 language features. 5 | // 6 | // This script can however assume that some ES2015+ library features, eg. 7 | // Promises, will already have been polyfilled as PDF.js uses them. 8 | 9 | // Listen for `webviewerloaded` event to configure the viewer after its files 10 | // have been loaded but before it is initialized. 11 | document.addEventListener('webviewerloaded', function(event) { 12 | var appOptions = window.PDFViewerApplicationOptions; 13 | var app = window.PDFViewerApplication; 14 | 15 | // Ensure that PDF.js viewer events such as "documentloaded" are dispatched 16 | // to the DOM. The client relies on this. 17 | appOptions.set('eventBusDispatchToDOM', true); 18 | 19 | // Disable preferences support, as otherwise this will result in `eventBusDispatchToDOM` 20 | // being overridden with the default value of `false`. 21 | appOptions.set('disablePreferences', true); 22 | 23 | // Wait for the PDF viewer to be fully initialized and then load the Hypothesis client. 24 | // 25 | // This is required because the client currently assumes that `PDFViewerApplication` 26 | // is fully initialized when it loads. Note that "fully initialized" only means 27 | // that the PDF viewer application's components have been initialized. The 28 | // PDF itself will still be loading, and the client will wait for that to 29 | // complete before fetching annotations. 30 | // 31 | var pdfjsInitialized = new Promise(function (resolve) { 32 | // Poll `app.initialized` as there doesn't appear to be an event that 33 | // we can listen to. 34 | var timer = setInterval(function () { 35 | if (app.initialized) { 36 | clearTimeout(timer); 37 | resolve(); 38 | } 39 | }, 20); 40 | }); 41 | 42 | pdfjsInitialized.then(function () { 43 | // Prevent PDF.js' `Promise` polyfill, if it was used, from being 44 | // overwritten by the one that ships with Hypothesis (both from core-js). 45 | // 46 | // See https://github.com/hypothesis/via/issues/81#issuecomment-531121534 47 | if (typeof Promise === 'function' && typeof PromiseRejectionEvent === 'undefined') { 48 | window.PromiseRejectionEvent = function FakePromiseRejectionEvent(type, options) { 49 | // core-js doesn't actually use this, it just tests for `typeof PromiseRejectionEvent` 50 | console.warn('Tried to construct fake `PromiseRejectionEvent`'); 51 | }; 52 | } 53 | 54 | // Load the Hypothesis client. 55 | var embedScript = document.createElement('script'); 56 | embedScript.src = 'https://hypothes.is/embed.js'; 57 | document.body.appendChild(embedScript); 58 | }); 59 | }); 60 | -------------------------------------------------------------------------------- /droppdf/apps/_templates/csv_table.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | {{ title }} 6 | 7 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | {% for element in headers %} 33 | 34 | {% endfor %} 35 | 36 | 37 | 38 | 39 | {% for element in content %} 40 | 41 | 42 | {% for subelem in element %} 43 | 44 | {% endfor %} 45 | 46 | {% endfor %} 47 | 48 |
{{ element }}
{{ forloop.counter0 }}
{{ subelem }}
49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /droppdf/apps/_templates/epub.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | {{ filename }} 13 | 14 | 15 | 16 | 17 | 18 | 25 | 26 | 27 | 28 | 29 | 43 | 44 | 45 | 46 | 49 | 50 | 51 | 52 | 53 | 54 | 67 | 76 | 77 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /droppdf/apps/_templates/not_implemented.html: -------------------------------------------------------------------------------- 1 |

Not implemented

2 | -------------------------------------------------------------------------------- /droppdf/apps/_templates/panopto.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 18 | 19 | 20 | 21 | 22 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /droppdf/apps/_templates/privacy.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | Privacy 9 | 10 | 73 | 74 | 75 | 76 | 77 | 84 | 85 | 86 | 87 | 88 |
89 |
90 | docdrop 91 |
92 |
93 | 94 |
95 |
    96 |

    What data is collected?

    97 |

    98 | Documents uploaded to docdrop are assumed to be for public consumption, but no personally identifiable data is collected during the process. 99 |

    100 |

    Documents retrieved from the Google Drive application are presented but not stored, and only data needed to retrieve the document (i.e Google authorization through the Google Drive application) is utilized. These logins and associated data are not stored by docdrop. 101 |

    102 | Analytics may be performed to improve site functionality but docdrop stores no personally indentifiable information. 103 |

    104 |

    105 | For information on privacy regarding annotations please see the Hypothesis Privacy Policy. 106 |

    107 | 108 |

    How is data utilized?

    109 |

    110 | Docdrop utilizes only site analytic data which contains no personally indentifiable information. For more information on how the Hypothesis annotation feature uses data please see Hypothesis Policy on Use Of Personal Information 111 |

    112 |

    Sharing of data

    113 |

    114 | Docdrop may share information with analytic providers in order to monitor and improve site performance. 115 |

    116 |

    Addtionally providers of embeded video may set third party cookies by default. For more information on Hypothesis annotation feature data sharing policy please see Hypothesis Policy on Sharing Information with Third Parties 117 |

    118 |
119 | 120 |
121 | 122 | -------------------------------------------------------------------------------- /droppdf/apps/_templates/process_gdrive_request.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | DocDrop | Process Google Drive Request 6 | 7 | 8 | 9 |

processing ....

10 | 11 | 94 | 95 | 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /droppdf/apps/_templates/refingerprint_results.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | DocDrop | PDF Fingerprinter 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 115 | 116 | 117 | 118 | 119 |
120 |
121 | docdrop 122 |
123 |
124 | 125 |
126 |
127 | You submitted: "{{ filename }}" {{ size }} kilobytes with fingerprint {{ id }} for refingerprinting. 128 |
129 | 130 |
131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | {% for copy in processed_files %} 142 | 143 | 144 | 149 | 152 | 153 | {% endfor %} 154 | 155 |
FilenameDownloadFingerprint
{{ copy.filename }} 145 | 146 | 147 | 148 | 150 | {{ copy.id }} 151 |
156 | 157 |
158 | 159 |
161 | 162 | Download Zipfile 163 |
164 | 165 |
166 | 167 | 175 | 176 | 177 | 178 | -------------------------------------------------------------------------------- /droppdf/apps/_templates/youtube_not_found.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | DocDrop Video Annotator 9 | 10 | 11 | 12 | 13 | 14 | 15 | 78 | 79 | 80 | 81 | 82 |
83 |
84 | docdrop 85 |
86 |
87 |
88 |
89 | 90 |
91 |

Our video annotation capability works for public YouTube videos that have either human or machine-generated transcripts.

92 | 93 |

The video you’ve selected does not have one or is a private video or is not a YouTube video. Please either choose another video or contact the video creator to ask them to set the video to public or request a transcript be generated for this video.

94 |
95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /droppdf/apps/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | from .models import FileUpload, OCRUpload 4 | 5 | admin.site.register(FileUpload) 6 | admin.site.register(OCRUpload) 7 | -------------------------------------------------------------------------------- /droppdf/apps/apps/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/apps/__init__.py -------------------------------------------------------------------------------- /droppdf/apps/apps/annotator/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/apps/annotator/__init__.py -------------------------------------------------------------------------------- /droppdf/apps/apps/annotator/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from .views import * 4 | 5 | urlpatterns = [ 6 | path('', view=home, name='home'), 7 | 8 | path('upload/', view=upload, name="upload"), 9 | 10 | path('pdf//', view=pdf, name="pdf"), 11 | 12 | path('csv//', view=csv_view, name="csv"), 13 | 14 | path('epub//', view=epub, name="epub"), 15 | 16 | path('privacy/', view=privacy, name="privacy"), 17 | 18 | path('terms-of-service/', view=terms, name="terms"), 19 | 20 | path('download/drop-pdf/', view=download_static, 21 | name="download_static"), 22 | 23 | path('download_annotation_doc/', view=download_static, 24 | name="download_annotation_doc"), 25 | 26 | path('handle_gdrive_doc', view=handle_gdrive_doc, name='handle_gdrive_doc'), 27 | 28 | path('process_gdrive_request', view=process_gdrive_request, 29 | name='process_gdrive_request') 30 | 31 | ] 32 | -------------------------------------------------------------------------------- /droppdf/apps/apps/fingerprinter/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/apps/fingerprinter/__init__.py -------------------------------------------------------------------------------- /droppdf/apps/apps/fingerprinter/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path, re_path 2 | 3 | from .views import * 4 | 5 | urlpatterns = [ 6 | path('fingerprinter/', fingerprinter, name='fingerprinter'), 7 | path('fingerprinter/upload/', fingerprinter_upload, name='fingerprinter_upload'), 8 | path('fingerprinter/check_complete/', fingerprinter_check_complete, name='fingerprinter_check_complete'), 9 | path('fingerprinter/result/', fingerprinter_result, name='fingerprinter_result'), 10 | path('fingerprinter/download/', fingerprinter_download, name='fingerprinter_download'), 11 | path('fingerprinter/compressed/', fingerprinter_compressed, name='fingerprinter_compressed'), 12 | ] 13 | -------------------------------------------------------------------------------- /droppdf/apps/apps/fingerprinter/views.py: -------------------------------------------------------------------------------- 1 | import re 2 | import io 3 | import os 4 | import random 5 | import hashlib 6 | import time 7 | import string 8 | import json 9 | import shutil 10 | import binascii 11 | 12 | from django.shortcuts import render 13 | 14 | from django.http import JsonResponse, Http404, HttpResponse, \ 15 | HttpResponseNotFound 16 | 17 | from django_http_exceptions import HTTPExceptions 18 | 19 | from django_celery_results.models import TaskResult 20 | 21 | from sanitize_filename import sanitize 22 | 23 | from apps.tasks import refingerprint_pdf 24 | 25 | from apps.utils.files import save_temp_file, randword 26 | 27 | 28 | def fingerprinter(request): 29 | return render(request, 'refingerprint.html') 30 | 31 | 32 | def fingerprinter_upload(request): 33 | processed_files = [] 34 | 35 | pdf_file = request.FILES.get('pdf-file') 36 | copy_count = request.POST.get('copy-count', 1) 37 | suffix = request.POST.get('file-suffix', '') 38 | 39 | try: 40 | copy_count = int(copy_count) 41 | except: 42 | copy_count = 1 43 | 44 | if pdf_file is not None: 45 | 46 | s = os.path.splitext(pdf_file.name) 47 | filename = s[0].replace("'", '').replace('"', '') 48 | extension = s[-1] 49 | 50 | if extension.lower() != '.pdf': 51 | raise HTTPExceptions.NOT_ACCEPTABLE #Error code 406 52 | 53 | #make save directory 54 | rand_path = randword(9) 55 | save_path = os.path.join('/tmp/', rand_path) 56 | os.makedirs(save_path) 57 | 58 | filename = sanitize(filename) 59 | 60 | filename = filename.replace("'", '').replace('"', '') 61 | filename = re.sub(r"[\(,\),\s]+", "-", filename) 62 | 63 | save_temp_file(filename, pdf_file, subdir=rand_path) 64 | 65 | #trigger fingerprint task 66 | task_id = refingerprint_pdf.delay(filename, rand_path, copy_count, suffix) 67 | 68 | data = {'directory': rand_path, 'filename': filename, 'task_id': str(task_id)} 69 | 70 | return JsonResponse(data) 71 | 72 | else: 73 | raise Http404('file not provided') 74 | 75 | 76 | def fingerprinter_check_complete(request): 77 | '''check if refingerprint task has completed''' 78 | 79 | task_id = request.POST.get('task_id') 80 | 81 | if not task_id: 82 | raise Http404() 83 | 84 | obj = TaskResult.objects.filter(task_id=task_id) 85 | 86 | if obj.exists(): 87 | obj = obj.first() 88 | 89 | if obj.status == 'SUCCESS': 90 | response = {'status': obj.status} 91 | 92 | else: 93 | response = {'status': 'FAIL'} 94 | 95 | else: 96 | response = {'status': 'INCOMPLETE'} 97 | 98 | return JsonResponse(response) 99 | 100 | 101 | def fingerprinter_result(request): 102 | directory = request.GET.get('dir') 103 | 104 | if not directory: 105 | raise Http404() 106 | 107 | base_directory = os.path.join('/tmp', directory) 108 | 109 | if not os.path.exists(base_directory): 110 | raise Http404() 111 | 112 | file_info = os.path.join(base_directory, 'file_info.json') 113 | 114 | if not os.path.exists(file_info): 115 | raise Http404() 116 | 117 | with open(file_info, 'r') as j: 118 | data = json.loads(j.read()) 119 | 120 | return render(request, 'refingerprint_results.html', data) 121 | 122 | 123 | def fingerprinter_download(request, directory): 124 | file_name = request.GET.get("file") 125 | 126 | if not file_name: 127 | raise Http404() 128 | 129 | file_location = os.path.join('/tmp', directory, file_name) 130 | 131 | if not os.path.exists(file_location): 132 | raise Http404() 133 | 134 | try: 135 | with open(file_location, 'rb') as f: 136 | file_data = f.read() 137 | 138 | response = HttpResponse(file_data, content_type='application/pdf') 139 | response['Content-Disposition'] = 'attachment; filename="%s"' % file_name 140 | 141 | except IOError: 142 | response = HttpResponseNotFound('

File does not exist

') 143 | 144 | return response 145 | 146 | 147 | def fingerprinter_compressed(request, directory): 148 | directory_path = os.path.join('/tmp', directory) 149 | 150 | #remove original and json leaving only refingerprints 151 | for file_ in os.listdir(directory_path): 152 | ext = file_.split('.')[-1] 153 | if ext != 'pdf': 154 | os.remove(os.path.join(directory_path, file_)) 155 | 156 | tmp_name = '/tmp/%s' % directory 157 | tmp_zip = tmp_name + '.zip' 158 | 159 | #create zipfile 160 | content = shutil.make_archive(tmp_name, 'zip', directory_path) 161 | 162 | try: 163 | with open(tmp_zip, 'rb') as f: 164 | file_data = f.read() 165 | 166 | response = HttpResponse(file_data, content_type='application/pdf') 167 | response['Content-Disposition'] = 'attachment; filename="%s.zip"' % directory 168 | os.remove(tmp_zip) 169 | 170 | except IOError: 171 | response = HttpResponseNotFound('

File does not exist

') 172 | 173 | return response 174 | -------------------------------------------------------------------------------- /droppdf/apps/apps/ocr/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/apps/ocr/__init__.py -------------------------------------------------------------------------------- /droppdf/apps/apps/ocr/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path, re_path 2 | 3 | from .views import * 4 | 5 | urlpatterns = [ 6 | path('ocr/', ocr, name='ocr'), 7 | path('ocr/upload', upload, name='ocr_upload'), 8 | path('ocr/result', result, name='ocr_result'), 9 | path('ocr/download/', download, name='ocr_download'), 10 | path('ocr/check_complete', check_complete, name='check_complete'), 11 | ] 12 | -------------------------------------------------------------------------------- /droppdf/apps/apps/panopto/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/apps/panopto/__init__.py -------------------------------------------------------------------------------- /droppdf/apps/apps/panopto/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from .views import * 4 | 5 | urlpatterns = [ 6 | path('panopto/', panopto, name='panopto'), 7 | path('panopto_proxy/', panopto_proxy, name='panopto_proxy') 8 | ] 9 | -------------------------------------------------------------------------------- /droppdf/apps/apps/panopto/views.py: -------------------------------------------------------------------------------- 1 | import requests 2 | from django.shortcuts import render, redirect 3 | 4 | from django.http import StreamingHttpResponse 5 | 6 | 7 | def panopto(request): 8 | url = request.GET.get('url') 9 | return render(request, 'panopto.html', {'url': url}) 10 | 11 | 12 | def panopto_proxy(request): 13 | url = request.GET.get('url') 14 | 15 | #print('XXXX', url) 16 | 17 | #response = requests.get(url, stream=True) 18 | 19 | #print(response.raw) 20 | 21 | #return StreamingHttpResponse( 22 | #response.raw, 23 | #content_type=response.headers.get('content-type'), 24 | #status=response.status_code, 25 | #reason=response.reason) 26 | return redirect(url) 27 | -------------------------------------------------------------------------------- /droppdf/apps/apps/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | from django.urls import include 3 | 4 | urlpatterns = [path('', include('apps.apps.annotator.urls')), 5 | path('', include('apps.apps.video.urls')), 6 | path('', include('apps.apps.fingerprinter.urls')), 7 | path('', include('apps.apps.ocr.urls')), 8 | path('', include('apps.apps.panopto.urls')), 9 | ] 10 | -------------------------------------------------------------------------------- /droppdf/apps/apps/video/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/apps/video/__init__.py -------------------------------------------------------------------------------- /droppdf/apps/apps/video/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path, re_path 2 | 3 | from .views import * 4 | 5 | urlpatterns = [ 6 | re_path(r'video/(?P.+)/$', youtube_video, 7 | name='youtube_video'), 8 | ] 9 | -------------------------------------------------------------------------------- /droppdf/apps/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | class FileUpload(models.Model): 4 | '''Reference to cloud upload''' 5 | filename = models.CharField(max_length=200) 6 | 7 | md5_hash = models.CharField(max_length=100) 8 | 9 | extension = models.CharField(max_length=8) 10 | 11 | is_original = models.BooleanField(default=True) 12 | 13 | parent = models.ForeignKey('FileUpload', on_delete=models.CASCADE, 14 | null=True, default=None) 15 | 16 | created = models.DateTimeField(auto_now=False, auto_now_add=True) 17 | 18 | updated = models.DateTimeField(auto_now=True) 19 | 20 | def __str__(self): 21 | return self.filename 22 | 23 | class Meta: 24 | db_table = 'apps_fileupload' 25 | 26 | 27 | class OCRUpload(models.Model): 28 | '''Reference to cloud upload for pdf files to be/have been ocrd''' 29 | filename = models.CharField(max_length=200) 30 | 31 | md5_hash = models.CharField(max_length=100) 32 | 33 | is_original = models.BooleanField(default=True) 34 | 35 | parent = models.ForeignKey('OCRUpload', on_delete=models.CASCADE, 36 | null=True, default=None) 37 | 38 | is_forced = models.BooleanField(default=False) 39 | 40 | created = models.DateTimeField(auto_now=False, auto_now_add=True) 41 | 42 | updated = models.DateTimeField(auto_now=True) 43 | 44 | def __str__(self): 45 | return self.filename 46 | 47 | class Meta: 48 | db_table = 'apps_ocr_upload' 49 | 50 | 51 | class VideoSubtitle(models.Model): 52 | lang_list = models.CharField(max_length=1024) 53 | 54 | video_id = models.CharField(max_length=100) 55 | 56 | subtitle = models.JSONField() 57 | 58 | created = models.DateTimeField(auto_now=False, auto_now_add=True) 59 | 60 | updated = models.DateTimeField(auto_now=True) 61 | 62 | def __str__(self): 63 | return self.video_id 64 | 65 | class Meta: 66 | db_table = 'apps_video_subtitle' 67 | -------------------------------------------------------------------------------- /droppdf/apps/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /droppdf/apps/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwhly-proj/droppdf/0b031a144697a4abeb0d2ca0789da159ce144e7a/droppdf/apps/utils/__init__.py -------------------------------------------------------------------------------- /droppdf/apps/utils/api_aws.py: -------------------------------------------------------------------------------- 1 | import io 2 | import boto3 3 | import botocore 4 | from django.conf import settings 5 | 6 | class S3(): 7 | '''AWS and compatible operations using boto3''' 8 | 9 | def __init__(self, bucket): 10 | 11 | self.bucket = bucket 12 | 13 | self.resource = self._s3_resource() 14 | 15 | self.client = self._s3_client() 16 | 17 | 18 | def _s3_resource(self): 19 | '''boto3 connection. 20 | return resource for use in Bucket operations etc.''' 21 | 22 | return boto3.resource( 23 | 's3', 24 | endpoint_url = settings.AWS_S3_CUSTOM_DOMAIN, 25 | aws_access_key_id = settings.AWS_ACCESS_KEY, 26 | aws_secret_access_key = settings.AWS_SECRET_KEY 27 | ) 28 | 29 | 30 | def _s3_client(self): 31 | '''boto3 connection. 32 | return client for use in query operations etc.''' 33 | 34 | return boto3.client( 35 | 's3', 36 | endpoint_url = settings.AWS_S3_CUSTOM_DOMAIN, 37 | aws_access_key_id = settings.AWS_ACCESS_KEY, 38 | aws_secret_access_key = settings.AWS_SECRET_KEY 39 | ) 40 | 41 | 42 | def get_presigned_url(self, file_name, expire=2400, content_type=None): 43 | '''generate presigned temp url for resource 44 | :param str file_name: name of resource 45 | :param int expire: seconds until temp url expires. 46 | :return: str url''' 47 | 48 | params = { 49 | 'Bucket': self.bucket, 50 | 'Key': file_name, 51 | } 52 | 53 | if content_type: 54 | params['ResponseContentDisposition'] = 'inline' 55 | params['ResponseContentType'] = content_type 56 | 57 | return self.client.generate_presigned_url('get_object', 58 | Params = params, 59 | ExpiresIn=expire) 60 | 61 | 62 | def get_presigned_download_url(self, file_name, expire=2400): 63 | '''generate presigned temp url for resource. 64 | this will download. 65 | :param str file_name: name of resource 66 | :param int expire: seconds until temp url expires. 67 | :return: str url''' 68 | 69 | return self.client.generate_presigned_url('get_object', 70 | Params={ 71 | 'Bucket': self.bucket, 72 | 'Key': file_name, 73 | 'ResponseContentDisposition': 'attachment; filename=%s' % file_name 74 | }, 75 | ExpiresIn=expire) 76 | 77 | 78 | def save_to_bucket(self, name, file_): 79 | '''save file to bucket. 80 | :param str name 81 | :param object file_ 82 | :return: None''' 83 | 84 | self.resource.Bucket(self.bucket).put_object(Key=name, Body=file_) 85 | 86 | 87 | def delete_from_bucket(self, name): 88 | '''delete file from bucket. 89 | :param str name 90 | :return: None''' 91 | 92 | self.resource.Object(self.bucket, name).delete() 93 | 94 | 95 | def download_fileobj_from_bucket(self, name): 96 | '''download file from bucket. 97 | :param str name 98 | :return: memory file object (io.BytesIO)''' 99 | 100 | s3_obj = self.resource.Object(self.bucket, name) 101 | fakefile = io.BytesIO() 102 | s3_obj.download_fileobj(fakefile) 103 | 104 | return fakefile 105 | 106 | 107 | def check_file_exists(self, name): 108 | try: 109 | self.resource.Bucket(self.bucket).Object(name).get() 110 | return True 111 | except botocore.exceptions.ClientError: 112 | return False 113 | 114 | -------------------------------------------------------------------------------- /droppdf/apps/utils/files.py: -------------------------------------------------------------------------------- 1 | import os 2 | import re 3 | import string 4 | import random 5 | import subprocess 6 | 7 | from apps.models import FileUpload, OCRUpload 8 | 9 | from hashlib import md5 10 | 11 | 12 | def save_temp_file(new_filename, file_, subdir=None): 13 | '''Save file to disk in /tmp directory. 14 | returns tuple(md5 hash, temp file path)''' 15 | if subdir: 16 | tempfile_path = os.path.join('/tmp', subdir, new_filename) 17 | else: 18 | tempfile_path = os.path.join('/tmp', new_filename) 19 | 20 | hash_ = md5() 21 | 22 | fd = open(tempfile_path, 'wb') 23 | 24 | for chunk in file_.chunks(): 25 | hash_.update(chunk) 26 | 27 | fd.write(chunk) 28 | 29 | fd.close() 30 | 31 | return (hash_.hexdigest(), tempfile_path) 32 | 33 | 34 | def cleanup_temp_file(new_filename): 35 | '''Delete temp file from /tmp directory if exists''' 36 | try: 37 | tempfile_path = os.path.join('/tmp', new_filename) 38 | os.remove(tempfile_path) 39 | 40 | except (OSError, FileNotFoundError): 41 | pass 42 | 43 | 44 | def check_file_exists(md5_hash): 45 | '''Check database for hash. 46 | Return filename if exists, otherwise False''' 47 | 48 | obj = FileUpload.objects.filter(md5_hash=md5_hash) 49 | 50 | if obj.exists(): 51 | return obj.first().filename 52 | 53 | return False 54 | 55 | 56 | def check_ocr_file_exists(md5_hash): 57 | '''Check database for hash. 58 | Return filename if exists, otherwise False''' 59 | 60 | obj = OCRUpload.objects.filter(md5_hash=md5_hash) 61 | 62 | if obj.exists(): 63 | return obj.first().filename 64 | 65 | return False 66 | 67 | 68 | def check_pdf_has_text(new_filename): 69 | '''Check if if pdf has text or is image pdf. 70 | Use cli tool "pdftotext" from poppler libs. 71 | 72 | An image pdf will usually show some "text" so discard very short results 73 | after replacing newlines and blank spaces etc. in first 1,000 or so chars''' 74 | try: 75 | 76 | cmd = 'pdftotext "/tmp/{0}" -'.format(new_filename) 77 | 78 | rslt = subprocess.check_output(cmd, shell=True) 79 | 80 | rslt = rslt[:1000].decode('utf-8', 'ignore') 81 | 82 | #remove whitespace, newlines etc. 83 | rslt = re.sub(r'\W', '', rslt) 84 | 85 | if len(rslt) < 3: 86 | return False 87 | 88 | return True 89 | 90 | except Exception as e: 91 | print('\n', e) 92 | return False 93 | 94 | 95 | def file_record_db(md5_hash, filename): 96 | pass 97 | 98 | 99 | def randword(length): 100 | return ''.join(random.choice(string.ascii_lowercase + string.digits)\ 101 | for i in range(length)) 102 | -------------------------------------------------------------------------------- /droppdf/droppdf/__init__.py: -------------------------------------------------------------------------------- 1 | from .celery import app as celery_app 2 | 3 | __all__ = ('celery_app',) 4 | -------------------------------------------------------------------------------- /droppdf/droppdf/asgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | ASGI config for droppdf project. 3 | 4 | It exposes the ASGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.1/howto/deployment/asgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.asgi import get_asgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'droppdf.settings') 15 | 16 | application = get_asgi_application() 17 | -------------------------------------------------------------------------------- /droppdf/droppdf/celery.py: -------------------------------------------------------------------------------- 1 | import os 2 | from celery import Celery 3 | 4 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'droppdf.settings') 5 | 6 | from django.conf import settings 7 | 8 | app = Celery('droppdf_app', broker=settings.BROKER_URL) 9 | 10 | app.config_from_object('django.conf:settings', namespace='CELERY') 11 | app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) 12 | 13 | BASE_DIR = settings.BASE_DIR 14 | 15 | @app.task(bind=True) 16 | def debug_task(self): 17 | print('Request: {0!r}'.format(self.request)) 18 | -------------------------------------------------------------------------------- /droppdf/droppdf/settings.py: -------------------------------------------------------------------------------- 1 | """ 2 | Django settings for droppdf project. 3 | 4 | Generated by 'django-admin startproject' using Django 3.1.4. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.1/topics/settings/ 8 | 9 | For the full list of settings and their values, see 10 | https://docs.djangoproject.com/en/3.1/ref/settings/ 11 | """ 12 | 13 | import os 14 | import environ 15 | 16 | env = environ.Env() 17 | 18 | environ.Env.read_env('.env') 19 | 20 | from pathlib import Path 21 | 22 | # Build paths inside the project like this: BASE_DIR / 'subdir'. 23 | BASE_DIR = Path(__file__).resolve().parent.parent 24 | 25 | 26 | # Quick-start development settings - unsuitable for production 27 | # See https://docs.djangoproject.com/en/3.1/howto/deployment/checklist/ 28 | 29 | # SECURITY WARNING: keep the secret key used in production secret! 30 | SECRET_KEY = env('DJANGO_SECRET_KEY') 31 | 32 | # SECURITY WARNING: don't run with debug turned on in production! 33 | if env('DJANGO_DEBUG') == 'True': 34 | DEBUG = True 35 | else: 36 | DEBUG = False 37 | 38 | ALLOWED_HOSTS = ['*'] 39 | 40 | #APPEND_SLASH = False 41 | 42 | 43 | # Application definition 44 | 45 | INSTALLED_APPS = [ 46 | 'django.contrib.admin', 47 | 'django.contrib.auth', 48 | 'django.contrib.contenttypes', 49 | 'django.contrib.sessions', 50 | 'django.contrib.messages', 51 | 'django.contrib.staticfiles', 52 | 'django_celery_results', 53 | 'apps', 54 | ] 55 | 56 | MIDDLEWARE = [ 57 | 'django.middleware.security.SecurityMiddleware', 58 | 'django.contrib.sessions.middleware.SessionMiddleware', 59 | 'django.middleware.common.CommonMiddleware', 60 | 'django.middleware.csrf.CsrfViewMiddleware', 61 | 'django.contrib.auth.middleware.AuthenticationMiddleware', 62 | 'django.contrib.messages.middleware.MessageMiddleware', 63 | 'django.middleware.clickjacking.XFrameOptionsMiddleware', 64 | 'django_http_exceptions.middleware.ExceptionHandlerMiddleware', 65 | 'django_http_exceptions.middleware.ThreadLocalRequestMiddleware', 66 | ] 67 | 68 | ROOT_URLCONF = 'droppdf.urls' 69 | 70 | TEMPLATES = [ 71 | { 72 | 'BACKEND': 'django.template.backends.django.DjangoTemplates', 73 | 'DIRS': [ 74 | BASE_DIR / 'apps/_templates', 75 | ], 76 | 'APP_DIRS': True, 77 | 'OPTIONS': { 78 | 'context_processors': [ 79 | 'django.template.context_processors.debug', 80 | 'django.template.context_processors.request', 81 | 'django.contrib.auth.context_processors.auth', 82 | 'django.contrib.messages.context_processors.messages', 83 | ], 84 | }, 85 | }, 86 | ] 87 | 88 | WSGI_APPLICATION = 'droppdf.wsgi.application' 89 | 90 | 91 | # Database 92 | # https://docs.djangoproject.com/en/3.1/ref/settings/#databases 93 | 94 | DATABASES = { 95 | 'default': { 96 | "ENGINE": "django.db.backends.postgresql", 97 | "NAME": env('DB_NAME'), 98 | "USER": env('DB_USER'), 99 | "PASSWORD": env('DB_PASSWORD'), 100 | "HOST": env('DB_HOST'), 101 | #"TEST": { 102 | #'NAME': 'fplan_tests', 103 | #}, 104 | } 105 | #'ENGINE': 'django.db.backends.sqlite3', 106 | #'NAME': BASE_DIR / 'db.sqlite3', 107 | } 108 | 109 | 110 | # Password validation 111 | # https://docs.djangoproject.com/en/3.1/ref/settings/#auth-password-validators 112 | 113 | AUTH_PASSWORD_VALIDATORS = [ 114 | { 115 | 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 116 | }, 117 | { 118 | 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 119 | }, 120 | { 121 | 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 122 | }, 123 | { 124 | 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 125 | }, 126 | ] 127 | 128 | 129 | # Internationalization 130 | # https://docs.djangoproject.com/en/3.1/topics/i18n/ 131 | 132 | LANGUAGE_CODE = 'en-us' 133 | 134 | TIME_ZONE = 'UTC' 135 | 136 | USE_I18N = True 137 | 138 | USE_L10N = True 139 | 140 | USE_TZ = True 141 | 142 | 143 | # Static files (CSS, JavaScript, Images) 144 | # https://docs.djangoproject.com/en/3.1/howto/static-files/ 145 | 146 | STATIC_URL = '/static/' 147 | 148 | STATIC_ROOT = BASE_DIR / 'static' 149 | 150 | STATICFILES_DIRS = ( 151 | (BASE_DIR / 'apps/_static'), 152 | ) 153 | 154 | MIGRATION_MODULES = {'apps': 'apps._migrations'} 155 | 156 | # Allow display in iframe 157 | X_FRAME_OPTIONS = 'ALLOWALL' 158 | 159 | # AWS Settings 160 | AWS_ACCESS_KEY = env('AWS_ACCESS_KEY') 161 | AWS_SECRET_KEY = env('AWS_SECRET_KEY') 162 | AWS_S3_CUSTOM_DOMAIN = env('AWS_CUSTOM_DOMAIN') 163 | 164 | AWS_ANNOTATIONS_BUCKET = env('AWS_ANNOTATIONS_BUCKET') 165 | AWS_OCR_BUCKET = env('AWS_OCR_BUCKET') 166 | AWS_FINGERPRINTER_BUCKET = env('AWS_FINGERPRINTER_BUCKET') 167 | 168 | 169 | # max number simultaneous ocr process 170 | MAX_SIM_OCR_PROCESSES = env('MAX_SIM_OCR_PROCESSES') 171 | 172 | # celery 173 | CELERY_RESULT_BACKEND = 'django-db' 174 | BROKER_URL = env('BROKER_URL') 175 | 176 | # Google Drive 177 | CLIENT_ID = env('CLIENT_ID') 178 | API_KEY = env('API_KEY') 179 | SCOPES = eval(env('SCOPES')) 180 | 181 | # YouTube Transcript API Proxy 182 | YOUTUBE_TRANSCRIPT_API_PROXY = env('YOUTUBE_TRANSCRIPT_API_PROXY', default=None) 183 | -------------------------------------------------------------------------------- /droppdf/droppdf/urls.py: -------------------------------------------------------------------------------- 1 | """droppdf URL Configuration 2 | 3 | The `urlpatterns` list routes URLs to views. For more information please see: 4 | https://docs.djangoproject.com/en/3.1/topics/http/urls/ 5 | Examples: 6 | Function views 7 | 1. Add an import: from my_app import views 8 | 2. Add a URL to urlpatterns: path('', views.home, name='home') 9 | Class-based views 10 | 1. Add an import: from other_app.views import Home 11 | 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') 12 | Including another URLconf 13 | 1. Import the include() function: from django.urls import include, path 14 | 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) 15 | """ 16 | from django.contrib import admin 17 | from django.conf.urls import include 18 | from django.urls import path 19 | from django.conf import settings 20 | from django.conf.urls.static import static 21 | 22 | 23 | urlpatterns = [ 24 | path('', include('apps.apps.urls')), 25 | path('admin/', admin.site.urls), 26 | ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 27 | -------------------------------------------------------------------------------- /droppdf/droppdf/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for droppdf project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.1/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'droppdf.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /droppdf/manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | """Run administrative tasks.""" 9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'droppdf.settings') 10 | try: 11 | from django.core.management import execute_from_command_line 12 | except ImportError as exc: 13 | raise ImportError( 14 | "Couldn't import Django. Are you sure it's installed and " 15 | "available on your PYTHONPATH environment variable? Did you " 16 | "forget to activate a virtual environment?" 17 | ) from exc 18 | execute_from_command_line(sys.argv) 19 | 20 | 21 | if __name__ == '__main__': 22 | main() 23 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | amqp==5.0.5 2 | asgiref==3.3.1 3 | billiard==3.6.3.0 4 | boto3==1.16.59 5 | botocore==1.19.59 6 | celery==5.0.5 7 | certifi==2020.12.5 8 | cffi==1.14.5 9 | chardet==4.0.0 10 | click==7.1.2 11 | click-didyoumean==0.0.3 12 | click-plugins==1.1.1 13 | click-repl==0.1.6 14 | coloredlogs==15.0 15 | cryptography==3.4.6 16 | Django==3.1.4 17 | django-celery-results==2.0.1 18 | django-environ==0.4.5 19 | django-http-exceptions==1.4.0 20 | humanfriendly==9.1 21 | idna==2.10 22 | img2pdf==0.4.0 23 | importlib-metadata==3.7.0 24 | jmespath==0.10.0 25 | kombu==5.0.2 26 | lxml==4.6.2 27 | ocrmypdf==11.7.0 28 | pdfminer.six==20201018 29 | pdfrw==0.4 30 | pikepdf==2.10.0 31 | Pillow==8.1.1 32 | pluggy==0.13.1 33 | prompt-toolkit==3.0.16 34 | psycopg2==2.8.6 35 | pycparser==2.20 36 | python-dateutil==2.8.1 37 | pytz==2020.4 38 | reportlab==3.5.62 39 | requests==2.25.1 40 | s3transfer==0.3.4 41 | sanitize-filename==1.2.0 42 | six==1.15.0 43 | sortedcontainers==2.3.0 44 | sqlparse==0.4.1 45 | tqdm==4.58.0 46 | typing-extensions==3.7.4.3 47 | urllib3==1.26.4 48 | vine==5.0.0 49 | wcwidth==0.2.5 50 | youtube-transcript-api==0.4.3 51 | zipp==3.4.0 52 | -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /video/ 3 | --------------------------------------------------------------------------------