@internetarchive/bookreader 5.0.0-4 → 5.0.0-40-a1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +17 -15
- package/.github/workflows/node.js.yml +75 -4
- package/.github/workflows/npm-publish.yml +2 -16
- package/.testcaferc.js +10 -0
- package/BookReader/BookReader.css +83 -323
- package/BookReader/BookReader.js +1 -1
- package/BookReader/BookReader.js.LICENSE.txt +24 -0
- package/BookReader/BookReader.js.map +1 -1
- package/BookReader/ia-bookreader-bundle.js +1623 -0
- package/BookReader/{bookreader-component-bundle.js.LICENSE.txt → ia-bookreader-bundle.js.LICENSE.txt} +14 -10
- package/BookReader/ia-bookreader-bundle.js.map +1 -0
- package/BookReader/icons/close-circle-dark.svg +1 -0
- package/BookReader/icons/magnify-minus.svg +1 -1
- package/BookReader/icons/magnify-plus.svg +1 -1
- package/BookReader/icons/voice.svg +1 -0
- package/BookReader/plugins/plugin.archive_analytics.js +1 -1
- package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
- package/BookReader/plugins/plugin.autoplay.js +1 -1
- package/BookReader/plugins/plugin.autoplay.js.map +1 -1
- package/BookReader/plugins/plugin.chapters.js +1 -1
- package/BookReader/plugins/plugin.chapters.js.map +1 -1
- package/BookReader/plugins/plugin.iframe.js +1 -1
- package/BookReader/plugins/plugin.iframe.js.map +1 -1
- package/BookReader/plugins/plugin.mobile_nav.js +1 -1
- package/BookReader/plugins/plugin.mobile_nav.js.map +1 -1
- package/BookReader/plugins/plugin.resume.js +1 -1
- package/BookReader/plugins/plugin.resume.js.map +1 -1
- package/BookReader/plugins/plugin.search.js +1 -1
- package/BookReader/plugins/plugin.search.js.map +1 -1
- package/BookReader/plugins/plugin.text_selection.js +1 -1
- package/BookReader/plugins/plugin.text_selection.js.map +1 -1
- package/BookReader/plugins/plugin.tts.js +1 -1
- package/BookReader/plugins/plugin.tts.js.map +1 -1
- package/BookReader/plugins/plugin.url.js +1 -1
- package/BookReader/plugins/plugin.url.js.map +1 -1
- package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
- package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
- package/BookReader/webcomponents-bundle.js +3 -0
- package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
- package/BookReader/webcomponents-bundle.js.map +1 -0
- package/BookReaderDemo/BookReaderDemo.css +14 -1
- package/BookReaderDemo/IADemoBr.js +120 -0
- package/BookReaderDemo/demo-advanced.html +1 -1
- package/BookReaderDemo/demo-autoplay.html +1 -0
- package/BookReaderDemo/demo-embed-iframe-src.html +1 -0
- package/BookReaderDemo/demo-fullscreen-mobile.html +1 -0
- package/BookReaderDemo/demo-fullscreen.html +1 -0
- package/BookReaderDemo/demo-iiif.html +1 -0
- package/BookReaderDemo/demo-internetarchive.html +74 -17
- package/BookReaderDemo/demo-multiple.html +1 -0
- package/BookReaderDemo/demo-preview-pages.html +1 -0
- package/BookReaderDemo/demo-simple.html +1 -0
- package/BookReaderDemo/demo-vendor-fullscreen.html +1 -0
- package/BookReaderDemo/ia-multiple-volumes-manifest.js +170 -0
- package/BookReaderDemo/immersion-1up.html +1 -0
- package/BookReaderDemo/immersion-mode.html +1 -0
- package/BookReaderDemo/toggle_controls.html +1 -0
- package/BookReaderDemo/view_mode.html +1 -0
- package/BookReaderDemo/viewmode-cycle.html +1 -2
- package/CHANGELOG.md +166 -0
- package/README.md +14 -1
- package/babel.config.js +18 -0
- package/codecov.yml +6 -0
- package/index.html +3 -0
- package/jsconfig.json +19 -0
- package/package.json +62 -47
- package/renovate.json +43 -0
- package/src/BookNavigator/assets/bookmark-colors.js +1 -1
- package/src/BookNavigator/assets/button-base.js +9 -2
- package/src/BookNavigator/assets/ia-logo.js +17 -0
- package/src/BookNavigator/assets/icon_checkmark.js +1 -1
- package/src/BookNavigator/assets/icon_close.js +1 -1
- package/src/BookNavigator/assets/icon_sort_asc.js +5 -0
- package/src/BookNavigator/assets/icon_sort_desc.js +5 -0
- package/src/BookNavigator/assets/icon_sort_neutral.js +5 -0
- package/src/BookNavigator/assets/icon_volumes.js +11 -0
- package/src/BookNavigator/book-navigator.js +556 -0
- package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
- package/src/BookNavigator/bookmarks/bookmark-edit.js +4 -4
- package/src/BookNavigator/bookmarks/bookmarks-list.js +3 -3
- package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +3 -8
- package/src/BookNavigator/bookmarks/bookmarks-provider.js +23 -12
- package/src/BookNavigator/bookmarks/ia-bookmarks.js +98 -62
- package/src/BookNavigator/delete-modal-actions.js +1 -1
- package/src/BookNavigator/downloads/downloads-provider.js +23 -17
- package/src/BookNavigator/downloads/downloads.js +17 -25
- package/src/BookNavigator/search/a-search-result.js +3 -3
- package/src/BookNavigator/search/search-provider.js +57 -24
- package/src/BookNavigator/search/search-results.js +8 -20
- package/src/BookNavigator/sharing.js +27 -0
- package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +11 -13
- package/src/BookNavigator/visual-adjustments/visual-adjustments.js +4 -3
- package/src/BookNavigator/volumes/volumes-provider.js +114 -0
- package/src/BookNavigator/volumes/volumes.js +188 -0
- package/src/BookReader/DebugConsole.js +3 -3
- package/src/BookReader/DragScrollable.js +233 -0
- package/src/BookReader/Mode1Up.js +51 -351
- package/src/BookReader/Mode1UpLit.js +441 -0
- package/src/BookReader/Mode2Up.js +104 -71
- package/src/BookReader/ModeSmoothZoom.js +179 -0
- package/src/BookReader/ModeThumb.js +16 -8
- package/src/BookReader/Navbar/Navbar.js +2 -31
- package/src/BookReader/PageContainer.js +57 -6
- package/src/BookReader/ReduceSet.js +1 -1
- package/src/BookReader/Toolbar/Toolbar.js +7 -7
- package/src/BookReader/options.js +10 -0
- package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
- package/src/BookReader/utils/ScrollClassAdder.js +31 -0
- package/src/BookReader/utils.js +68 -13
- package/src/BookReader.js +375 -289
- package/src/assets/icons/close-circle-dark.svg +1 -0
- package/src/assets/icons/magnify-minus.svg +3 -7
- package/src/assets/icons/magnify-plus.svg +3 -7
- package/src/assets/icons/voice.svg +1 -0
- package/src/css/BookReader.scss +0 -12
- package/src/css/_BRComponent.scss +1 -1
- package/src/css/_BRmain.scss +19 -24
- package/src/css/_BRnav.scss +4 -26
- package/src/css/_BRpages.scss +35 -0
- package/src/css/_BRsearch.scss +11 -215
- package/src/css/_TextSelection.scss +14 -17
- package/src/css/_colorbox.scss +2 -2
- package/src/css/_controls.scss +16 -3
- package/src/css/_icons.scss +6 -0
- package/src/ia-bookreader/ia-bookreader.js +224 -0
- package/src/plugins/plugin.chapters.js +26 -33
- package/src/plugins/plugin.mobile_nav.js +11 -10
- package/src/plugins/plugin.resume.js +3 -3
- package/src/plugins/plugin.text_selection.js +26 -39
- package/src/plugins/plugin.vendor-fullscreen.js +4 -4
- package/src/plugins/search/plugin.search.js +106 -107
- package/src/plugins/search/view.js +50 -163
- package/src/plugins/tts/AbstractTTSEngine.js +46 -37
- package/src/plugins/tts/FestivalTTSEngine.js +12 -13
- package/src/plugins/tts/PageChunk.js +15 -21
- package/src/plugins/tts/PageChunkIterator.js +8 -12
- package/src/plugins/tts/WebTTSEngine.js +64 -68
- package/src/plugins/tts/plugin.tts.js +79 -108
- package/src/plugins/url/UrlPlugin.js +184 -0
- package/src/plugins/{plugin.url.js → url/plugin.url.js} +28 -6
- package/tests/e2e/README.md +37 -0
- package/tests/e2e/autoplay.test.js +2 -2
- package/tests/e2e/base.test.js +7 -7
- package/tests/e2e/helpers/base.js +8 -3
- package/tests/e2e/helpers/debug.js +1 -1
- package/tests/e2e/helpers/desktopSearch.js +14 -13
- package/tests/e2e/helpers/mobileSearch.js +3 -3
- package/tests/e2e/helpers/params.js +17 -0
- package/tests/e2e/models/Navigation.js +12 -3
- package/tests/e2e/rightToLeft.test.js +4 -5
- package/tests/e2e/viewmode.test.js +38 -33
- package/tests/{BookReader → jest/BookReader}/BookModel.test.js +3 -3
- package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +176 -0
- package/tests/{BookReader → jest/BookReader}/DebugConsole.test.js +1 -1
- package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
- package/tests/jest/BookReader/Mode1UpLit.test.js +88 -0
- package/tests/{BookReader → jest/BookReader}/Mode2Up.test.js +5 -7
- package/tests/jest/BookReader/ModeSmoothZoom.test.js +149 -0
- package/tests/jest/BookReader/ModeThumb.test.js +71 -0
- package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +7 -7
- package/tests/{BookReader → jest/BookReader}/PageContainer.test.js +79 -6
- package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
- package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +2 -2
- package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
- package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +49 -0
- package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
- package/tests/jest/BookReader/utils.test.js +136 -0
- package/tests/jest/BookReader.keyboard.test.js +190 -0
- package/tests/{BookReader.options.test.js → jest/BookReader.options.test.js} +9 -1
- package/tests/{BookReader.test.js → jest/BookReader.test.js} +20 -4
- package/tests/{plugins → jest/plugins}/plugin.archive_analytics.test.js +2 -2
- package/tests/{plugins → jest/plugins}/plugin.autoplay.test.js +2 -2
- package/tests/{plugins → jest/plugins}/plugin.chapters.test.js +8 -8
- package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +2 -2
- package/tests/{plugins → jest/plugins}/plugin.mobile_nav.test.js +5 -5
- package/tests/{plugins → jest/plugins}/plugin.resume.test.js +3 -3
- package/tests/{plugins → jest/plugins}/plugin.text_selection.test.js +39 -47
- package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
- package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +24 -25
- package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +6 -6
- package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +6 -6
- package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
- package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
- package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
- package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +1 -1
- package/tests/{plugins → jest/plugins}/tts/utils.test.js +3 -3
- package/tests/jest/plugins/url/UrlPlugin.test.js +190 -0
- package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +33 -14
- package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
- package/tests/{util → jest/util}/docCookies.test.js +1 -1
- package/tests/{util → jest/util}/strings.test.js +1 -1
- package/tests/{utils.js → jest/utils.js} +38 -0
- package/tests/karma/BookNavigator/book-navigator.test.js +501 -0
- package/tests/karma/BookNavigator/bookmarks/bookmark-button.test.js +44 -0
- package/tests/karma/BookNavigator/bookmarks/bookmark-edit.test.js +1 -3
- package/tests/karma/BookNavigator/bookmarks/bookmarks-list.test.js +3 -4
- package/tests/karma/BookNavigator/bookmarks/ia-bookmarks.test.js +57 -0
- package/tests/karma/BookNavigator/downloads/downloads-provider.test.js +67 -0
- package/tests/karma/BookNavigator/downloads/downloads.test.js +54 -0
- package/tests/karma/BookNavigator/search/search-provider.test.js +123 -0
- package/tests/karma/BookNavigator/{search-results.test.js → search/search-results.test.js} +1 -4
- package/tests/karma/BookNavigator/sharing/sharing-provider.test.js +49 -0
- package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -2
- package/tests/karma/BookNavigator/volumes/volumes-provider.test.js +184 -0
- package/tests/karma/BookNavigator/volumes/volumes.test.js +98 -0
- package/webpack.config.js +10 -4
- package/.babelrc +0 -12
- package/.dependabot/config.yml +0 -6
- package/.testcaferc.json +0 -5
- package/BookReader/bookreader-component-bundle.js +0 -1450
- package/BookReader/bookreader-component-bundle.js.map +0 -1
- package/BookReader/plugins/plugin.menu_toggle.js +0 -2
- package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
- package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
- package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
- package/src/BookNavigator/BookModel.js +0 -14
- package/src/BookNavigator/BookNavigator.js +0 -435
- package/src/BookNavigator/assets/book-loader.js +0 -27
- package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
- package/src/BookReaderComponent/BookReaderComponent.js +0 -112
- package/src/ItemNavigator/ItemNavigator.js +0 -372
- package/src/ItemNavigator/providers/sharing.js +0 -29
- package/src/dragscrollable-br.js +0 -261
- package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
- package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
- package/tests/BookReader/Mode1Up.test.js +0 -164
- package/tests/BookReader/utils.test.js +0 -109
- package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
@@ -76,7 +76,7 @@
|
|
76
76
|
background: transparent;
|
77
77
|
}
|
78
78
|
|
79
|
-
.shift {
|
79
|
+
.br-colorbox-shift {
|
80
80
|
position: absolute !important;
|
81
81
|
left: -10000px !important;
|
82
82
|
}
|
@@ -91,70 +91,15 @@
|
|
91
91
|
/* Desktop-only */
|
92
92
|
/* Element-level rules */
|
93
93
|
}
|
94
|
-
.BookReader .tl, .BRmobileMenu .tl, .BRfloat .tl {
|
95
|
-
text-align: left;
|
96
|
-
}
|
97
|
-
.BookReader .tc, .BookReader .BRtc, .BRmobileMenu .tc, .BRmobileMenu .BRtc, .BRfloat .tc, .BRfloat .BRtc {
|
98
|
-
text-align: center;
|
99
|
-
}
|
100
|
-
.BookReader .tr, .BRmobileMenu .tr, .BRfloat .tr {
|
101
|
-
text-align: right;
|
102
|
-
}
|
103
|
-
.BookReader .ph10, .BRmobileMenu .ph10, .BRfloat .ph10 {
|
104
|
-
padding-left: 10px;
|
105
|
-
padding-right: 10px;
|
106
|
-
}
|
107
|
-
.BookReader .mv20, .BRmobileMenu .mv20, .BRfloat .mv20 {
|
108
|
-
margin-top: 20px;
|
109
|
-
margin-bottom: 20px;
|
110
|
-
}
|
111
|
-
.BookReader .mt20, .BRmobileMenu .mt20, .BRfloat .mt20 {
|
112
|
-
margin-top: 20px;
|
113
|
-
}
|
114
|
-
.BookReader .b, .BRmobileMenu .b, .BRfloat .b {
|
115
|
-
font-weight: bold;
|
116
|
-
}
|
117
|
-
.BookReader .i, .BRmobileMenu .i, .BRfloat .i {
|
118
|
-
font-style: italic;
|
119
|
-
}
|
120
|
-
.BookReader .smaller, .BRmobileMenu .smaller, .BRfloat .smaller {
|
121
|
-
font-size: 0.8em;
|
122
|
-
}
|
123
94
|
.BookReader .larger, .BRmobileMenu .larger, .BRfloat .larger {
|
124
95
|
font-size: 1.2em;
|
125
96
|
}
|
126
|
-
.BookReader .loader, .BRmobileMenu .loader, .BRfloat .loader {
|
127
|
-
background: url(images/loading.gif) no-repeat 50%;
|
128
|
-
height: 16px;
|
129
|
-
min-width: 16px;
|
130
|
-
}
|
131
97
|
@media (min-width: 801px) {
|
132
|
-
.BookReader .mobile-only, .BRmobileMenu .mobile-only, .BRfloat .mobile-only {
|
133
|
-
display: none;
|
134
|
-
}
|
135
|
-
.BookReader .pv20-lg, .BRmobileMenu .pv20-lg, .BRfloat .pv20-lg {
|
136
|
-
padding-top: 20px;
|
137
|
-
padding-bottom: 20px;
|
138
|
-
}
|
139
|
-
.BookReader .pv50-lg, .BRmobileMenu .pv50-lg, .BRfloat .pv50-lg {
|
140
|
-
padding-top: 50px;
|
141
|
-
padding-bottom: 50px;
|
142
|
-
}
|
143
98
|
.BookReader .mv20-lg, .BRmobileMenu .mv20-lg, .BRfloat .mv20-lg {
|
144
99
|
margin-top: 20px;
|
145
100
|
margin-bottom: 20px;
|
146
101
|
}
|
147
102
|
}
|
148
|
-
@media (max-width: 800px) {
|
149
|
-
.BookReader .desktop-only, .BRmobileMenu .desktop-only, .BRfloat .desktop-only {
|
150
|
-
display: none;
|
151
|
-
}
|
152
|
-
}
|
153
|
-
@media (min-width: 800px) and (max-width: 1050px) {
|
154
|
-
.BookReader .hide-md, .BRmobileMenu .hide-md, .BRfloat .hide-md {
|
155
|
-
display: none;
|
156
|
-
}
|
157
|
-
}
|
158
103
|
.BookReader h3, .BRmobileMenu h3, .BRfloat h3 {
|
159
104
|
font-size: 20px;
|
160
105
|
font-weight: 700;
|
@@ -181,6 +126,7 @@
|
|
181
126
|
position: relative;
|
182
127
|
overflow: hidden;
|
183
128
|
background-color: black;
|
129
|
+
contain: strict;
|
184
130
|
}
|
185
131
|
|
186
132
|
.BRcontainer {
|
@@ -205,6 +151,21 @@
|
|
205
151
|
z-index: 3000;
|
206
152
|
color: #222;
|
207
153
|
}
|
154
|
+
.BRprogresspopup .close-popup {
|
155
|
+
position: absolute;
|
156
|
+
top: 0;
|
157
|
+
right: 0;
|
158
|
+
width: 30px;
|
159
|
+
width: 30px;
|
160
|
+
padding: 0;
|
161
|
+
border: 0;
|
162
|
+
background-color: transparent;
|
163
|
+
}
|
164
|
+
.BRprogresspopup .close-popup .icon.icon-close-dark {
|
165
|
+
position: absolute;
|
166
|
+
top: 5px;
|
167
|
+
right: 5px;
|
168
|
+
}
|
208
169
|
|
209
170
|
.BRprogressbar {
|
210
171
|
background-image: url("images/progressbar.gif");
|
@@ -501,6 +462,23 @@ body.BRfullscreenActive .mm-menu {
|
|
501
462
|
cursor: unset;
|
502
463
|
}
|
503
464
|
|
465
|
+
.br-mode-1up__root {
|
466
|
+
display: block;
|
467
|
+
overflow: auto;
|
468
|
+
position: relative;
|
469
|
+
width: 100%;
|
470
|
+
height: 100%;
|
471
|
+
contain: strict;
|
472
|
+
}
|
473
|
+
.br-mode-1up__root .br-mode-1up__world {
|
474
|
+
position: absolute;
|
475
|
+
transform-origin: 0 0;
|
476
|
+
}
|
477
|
+
.br-mode-1up__root .br-mode-1up__visible-world {
|
478
|
+
position: absolute;
|
479
|
+
transform-origin: 0 0;
|
480
|
+
}
|
481
|
+
|
504
482
|
.BRpagecontainer {
|
505
483
|
position: relative;
|
506
484
|
overflow: hidden;
|
@@ -531,6 +509,18 @@ body.BRfullscreenActive .mm-menu {
|
|
531
509
|
background-image: none;
|
532
510
|
}
|
533
511
|
|
512
|
+
svg.BRPageLayer {
|
513
|
+
position: absolute;
|
514
|
+
top: 0;
|
515
|
+
left: 0;
|
516
|
+
right: 0;
|
517
|
+
bottom: 0;
|
518
|
+
}
|
519
|
+
|
520
|
+
.BRpageFlipping .BRPageLayer {
|
521
|
+
display: none;
|
522
|
+
}
|
523
|
+
|
534
524
|
.BRbookcover {
|
535
525
|
position: absolute;
|
536
526
|
background-image: none;
|
@@ -1087,44 +1077,6 @@ i.BRicon {
|
|
1087
1077
|
.BRReadAloudToolbar .BRnavCntlBtm:hover {
|
1088
1078
|
background-color: #0074D1;
|
1089
1079
|
}
|
1090
|
-
.BRReadAloudToolbar.BRnavEmbed {
|
1091
|
-
background-color: white;
|
1092
|
-
color: black;
|
1093
|
-
}
|
1094
|
-
.BRReadAloudToolbar.BRnavEmbed a {
|
1095
|
-
color: black;
|
1096
|
-
}
|
1097
|
-
.BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider {
|
1098
|
-
background: #B7B7B7;
|
1099
|
-
}
|
1100
|
-
.BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider .ui-slider-handle {
|
1101
|
-
background: #0074D1;
|
1102
|
-
}
|
1103
|
-
.BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider .ui-slider-range {
|
1104
|
-
background: rgba(0, 116, 209, 0.25);
|
1105
|
-
}
|
1106
|
-
.BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon {
|
1107
|
-
border-left: 1px solid #979797;
|
1108
|
-
}
|
1109
|
-
.BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon.activated {
|
1110
|
-
background-color: rgba(0, 116, 209, 0.4);
|
1111
|
-
}
|
1112
|
-
.BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon.activated:before {
|
1113
|
-
content: "";
|
1114
|
-
top: 0;
|
1115
|
-
left: 0;
|
1116
|
-
width: 100%;
|
1117
|
-
height: 100%;
|
1118
|
-
box-sizing: border-box;
|
1119
|
-
display: block;
|
1120
|
-
border: 3px solid rgba(0, 116, 209, 0.3);
|
1121
|
-
}
|
1122
|
-
.BRReadAloudToolbar.BRnavEmbed .BRnavCntl {
|
1123
|
-
background-color: #979797;
|
1124
|
-
}
|
1125
|
-
.BRReadAloudToolbar.BRnavEmbed .BRnavCntlBtm:hover {
|
1126
|
-
background-color: #0074D1;
|
1127
|
-
}
|
1128
1080
|
@media (max-width: 800px) {
|
1129
1081
|
.BRbodyMobileNavEnabled .BRReadAloudToolbar, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar {
|
1130
1082
|
background-color: white;
|
@@ -1245,23 +1197,6 @@ i.BRicon {
|
|
1245
1197
|
color: white;
|
1246
1198
|
/* Full mobile styles */
|
1247
1199
|
}
|
1248
|
-
.BRnav.BRnavEmbed {
|
1249
|
-
padding-top: 0;
|
1250
|
-
height: auto;
|
1251
|
-
align-items: center;
|
1252
|
-
}
|
1253
|
-
.BRnav.BRnavEmbed .BRembedreturn {
|
1254
|
-
flex: 1 auto;
|
1255
|
-
overflow-x: hidden;
|
1256
|
-
}
|
1257
|
-
.BRnav.BRnavEmbed .logo {
|
1258
|
-
display: inline-block;
|
1259
|
-
width: 25px;
|
1260
|
-
height: 25px;
|
1261
|
-
margin: 0 10px;
|
1262
|
-
background: transparent url(images/icon_home.svg) no-repeat center center;
|
1263
|
-
background-size: contain;
|
1264
|
-
}
|
1265
1200
|
.BRnav a {
|
1266
1201
|
color: white;
|
1267
1202
|
}
|
@@ -1555,13 +1490,12 @@ i.BRicon {
|
|
1555
1490
|
border-top-color: #333;
|
1556
1491
|
}
|
1557
1492
|
|
1558
|
-
.BookReader .
|
1559
|
-
|
1560
|
-
|
1561
|
-
|
1562
|
-
|
1563
|
-
|
1564
|
-
z-index: 4;
|
1493
|
+
.BookReader .searchHiliteLayer, .BookReader .ttsHiliteLayer, .BRmobileMenu .searchHiliteLayer, .BRmobileMenu .ttsHiliteLayer, .BRfloat .searchHiliteLayer, .BRfloat .ttsHiliteLayer {
|
1494
|
+
pointer-events: none;
|
1495
|
+
}
|
1496
|
+
.BookReader .searchHiliteLayer rect, .BookReader .ttsHiliteLayer rect, .BRmobileMenu .searchHiliteLayer rect, .BRmobileMenu .ttsHiliteLayer rect, .BRfloat .searchHiliteLayer rect, .BRfloat .ttsHiliteLayer rect {
|
1497
|
+
fill: #0000ff;
|
1498
|
+
fill-opacity: 0.2;
|
1565
1499
|
animation: hiliteFadeIn 0.2s;
|
1566
1500
|
}
|
1567
1501
|
.BookReader .BRchapter, .BookReader .BRsearch, .BRmobileMenu .BRchapter, .BRmobileMenu .BRsearch, .BRfloat .BRchapter, .BRfloat .BRsearch {
|
@@ -1661,188 +1595,6 @@ i.BRicon {
|
|
1661
1595
|
float: left;
|
1662
1596
|
cursor: pointer;
|
1663
1597
|
}
|
1664
|
-
.BookReader .BRbooksearch.mobile, .BRmobileMenu .BRbooksearch.mobile, .BRfloat .BRbooksearch.mobile {
|
1665
|
-
position: relative;
|
1666
|
-
top: 0;
|
1667
|
-
display: flex;
|
1668
|
-
flex-direction: row;
|
1669
|
-
}
|
1670
|
-
.BookReader .BRbooksearch.mobile .BRsearchInput, .BRmobileMenu .BRbooksearch.mobile .BRsearchInput, .BRfloat .BRbooksearch.mobile .BRsearchInput {
|
1671
|
-
-webkit-appearance: none;
|
1672
|
-
position: relative;
|
1673
|
-
min-width: 100px;
|
1674
|
-
float: left;
|
1675
|
-
font-size: 14px;
|
1676
|
-
width: 150px;
|
1677
|
-
height: 30px;
|
1678
|
-
border: 1px solid #979797;
|
1679
|
-
flex: 1;
|
1680
|
-
border-radius: 0;
|
1681
|
-
}
|
1682
|
-
.BookReader .BRbooksearch.mobile .BRsearchSubmit, .BRmobileMenu .BRbooksearch.mobile .BRsearchSubmit, .BRfloat .BRbooksearch.mobile .BRsearchSubmit {
|
1683
|
-
width: 30px;
|
1684
|
-
height: 30px;
|
1685
|
-
border: none;
|
1686
|
-
background-color: #0074D1;
|
1687
|
-
background-image: url("images/icon_search_button.svg");
|
1688
|
-
background-repeat: no-repeat;
|
1689
|
-
background-position: center center;
|
1690
|
-
text-align: center;
|
1691
|
-
color: white;
|
1692
|
-
overflow: hidden;
|
1693
|
-
box-sizing: border-box;
|
1694
|
-
display: inline-block;
|
1695
|
-
}
|
1696
|
-
.BookReader #BRsearch_tray, .BRmobileMenu #BRsearch_tray, .BRfloat #BRsearch_tray {
|
1697
|
-
--menuSliderBg: #151515;
|
1698
|
-
--primaryTextColor: #fff;
|
1699
|
-
--activeButtonBg: #282828;
|
1700
|
-
--searchResultText: #adaedc;
|
1701
|
-
--searchResultBg: #272958;
|
1702
|
-
--searchResultBorder: #fff;
|
1703
|
-
position: absolute;
|
1704
|
-
top: 0;
|
1705
|
-
right: 0;
|
1706
|
-
bottom: 0;
|
1707
|
-
left: 0;
|
1708
|
-
padding: 15px 10px;
|
1709
|
-
overflow-y: auto;
|
1710
|
-
font-size: 14px;
|
1711
|
-
color: var(--primaryTextColor);
|
1712
|
-
background: var(--menuSliderBg);
|
1713
|
-
}
|
1714
|
-
.BookReader #BRsearch_tray header, .BRmobileMenu #BRsearch_tray header, .BRfloat #BRsearch_tray header {
|
1715
|
-
display: flex;
|
1716
|
-
justify-content: space-between;
|
1717
|
-
align-items: center;
|
1718
|
-
}
|
1719
|
-
.BookReader #BRsearch_tray h3, .BRmobileMenu #BRsearch_tray h3, .BRfloat #BRsearch_tray h3 {
|
1720
|
-
padding: 0;
|
1721
|
-
margin: 0 10px 0 0;
|
1722
|
-
font-size: 20px;
|
1723
|
-
}
|
1724
|
-
.BookReader #BRsearch_tray header p, .BRmobileMenu #BRsearch_tray header p, .BRfloat #BRsearch_tray header p {
|
1725
|
-
display: none;
|
1726
|
-
padding: 0;
|
1727
|
-
margin: 0;
|
1728
|
-
font-size: 12px;
|
1729
|
-
font-weight: bold;
|
1730
|
-
font-style: italic;
|
1731
|
-
}
|
1732
|
-
.BookReader #BRsearch_tray header p.visible, .BRmobileMenu #BRsearch_tray header p.visible, .BRfloat #BRsearch_tray header p.visible {
|
1733
|
-
display: block;
|
1734
|
-
}
|
1735
|
-
.BookReader #BRsearch_tray header div, .BRmobileMenu #BRsearch_tray header div, .BRfloat #BRsearch_tray header div {
|
1736
|
-
display: flex;
|
1737
|
-
align-items: baseline;
|
1738
|
-
}
|
1739
|
-
.BookReader #BRsearch_tray a.close, .BRmobileMenu #BRsearch_tray a.close, .BRfloat #BRsearch_tray a.close {
|
1740
|
-
justify-self: end;
|
1741
|
-
}
|
1742
|
-
.BookReader #BRsearch_tray fieldset, .BRmobileMenu #BRsearch_tray fieldset, .BRfloat #BRsearch_tray fieldset {
|
1743
|
-
padding: 20px 0 10px 0;
|
1744
|
-
border: none;
|
1745
|
-
}
|
1746
|
-
.BookReader #BRsearch_tray [type=checkbox], .BRmobileMenu #BRsearch_tray [type=checkbox], .BRfloat #BRsearch_tray [type=checkbox] {
|
1747
|
-
display: none;
|
1748
|
-
}
|
1749
|
-
.BookReader #BRsearch_tray #all_files, .BRmobileMenu #BRsearch_tray #all_files, .BRfloat #BRsearch_tray #all_files {
|
1750
|
-
display: none;
|
1751
|
-
}
|
1752
|
-
.BookReader #BRsearch_tray #all_files + label, .BRmobileMenu #BRsearch_tray #all_files + label, .BRfloat #BRsearch_tray #all_files + label {
|
1753
|
-
display: none;
|
1754
|
-
}
|
1755
|
-
.BookReader #BRsearch_tray label, .BRmobileMenu #BRsearch_tray label, .BRfloat #BRsearch_tray label {
|
1756
|
-
display: block;
|
1757
|
-
text-align: center;
|
1758
|
-
}
|
1759
|
-
.BookReader #BRsearch_tray label.checkbox, .BRmobileMenu #BRsearch_tray label.checkbox, .BRfloat #BRsearch_tray label.checkbox {
|
1760
|
-
padding-bottom: 5px;
|
1761
|
-
font-size: 16px;
|
1762
|
-
line-height: 150%;
|
1763
|
-
vertical-align: middle;
|
1764
|
-
}
|
1765
|
-
.BookReader #BRsearch_tray label.checkbox:after, .BRmobileMenu #BRsearch_tray label.checkbox:after, .BRfloat #BRsearch_tray label.checkbox:after {
|
1766
|
-
display: inline-block;
|
1767
|
-
width: 14px;
|
1768
|
-
height: 14px;
|
1769
|
-
margin-left: 7px;
|
1770
|
-
content: "";
|
1771
|
-
color: var(--primaryTextColor);
|
1772
|
-
border: 1px solid var(--primaryTextColor);
|
1773
|
-
border-radius: 2px;
|
1774
|
-
background: var(--activeButtonBg) 50% 50% no-repeat;
|
1775
|
-
}
|
1776
|
-
.BookReader #BRsearch_tray :checked + label.checkbox:after, .BRmobileMenu #BRsearch_tray :checked + label.checkbox:after, .BRfloat #BRsearch_tray :checked + label.checkbox:after {
|
1777
|
-
background-image: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwIiB2aWV3Qm94PSIwIDAgMTMgMTAiIHdpZHRoPSIxMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNC4zMzMzMzMzMyAxMC00LjMzMzMzMzMzLTQuMTY2NjY2NjcgMS43MzMzMzMzMy0xLjY2NjY2NjY2IDIuNiAyLjUgNi45MzMzMzMzNy02LjY2NjY2NjY3IDEuNzMzMzMzMyAxLjY2NjY2NjY3eiIgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");
|
1778
|
-
}
|
1779
|
-
.BookReader #BRsearch_tray [type=search], .BRmobileMenu #BRsearch_tray [type=search], .BRfloat #BRsearch_tray [type=search] {
|
1780
|
-
-webkit-appearance: textfield;
|
1781
|
-
width: 100%;
|
1782
|
-
height: 22px;
|
1783
|
-
padding: 0 15px;
|
1784
|
-
box-sizing: border-box;
|
1785
|
-
font: normal 16px "Helvetica Neue", Helvetica, Arial, sans-serif;
|
1786
|
-
color: var(--primaryTextColor);
|
1787
|
-
border: 1px solid var(--primaryTextColor);
|
1788
|
-
border-radius: 15px;
|
1789
|
-
background: transparent;
|
1790
|
-
}
|
1791
|
-
.BookReader #BRsearch_tray [type=search]:focus, .BRmobileMenu #BRsearch_tray [type=search]:focus, .BRfloat #BRsearch_tray [type=search]:focus {
|
1792
|
-
outline: none;
|
1793
|
-
}
|
1794
|
-
.BookReader #BRsearch_tray [type=search]::-webkit-search-cancel-button, .BRmobileMenu #BRsearch_tray [type=search]::-webkit-search-cancel-button, .BRfloat #BRsearch_tray [type=search]::-webkit-search-cancel-button {
|
1795
|
-
width: 18px;
|
1796
|
-
height: 18px;
|
1797
|
-
-webkit-appearance: none;
|
1798
|
-
appearance: none;
|
1799
|
-
/* Uses an X SVG shape as a mask */
|
1800
|
-
-webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgYXJpYS1sYWJlbGxlZGJ5PSJjbG9zZVRpdGxlSUQgY2xvc2VEZXNjSUQiPjxwYXRoIGQ9Ik0yOS4xOTIgMTAuODA4YTEuNSAxLjUgMCAwMTAgMi4xMkwyMi4xMjIgMjBsNy4wNyA3LjA3MmExLjUgMS41IDAgMDEtMi4xMiAyLjEyMWwtNy4wNzMtNy4wNy03LjA3IDcuMDdhMS41IDEuNSAwIDAxLTIuMTIxLTIuMTJsNy4wNy03LjA3My03LjA3LTcuMDdhMS41IDEuNSAwIDAxMi4xMi0yLjEyMUwyMCAxNy44NzhsNy4wNzItNy4wN2ExLjUgMS41IDAgMDEyLjEyMSAweiIgY2xhc3M9ImZpbGwtY29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==") 0 0 no-repeat;
|
1801
|
-
mask: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgYXJpYS1sYWJlbGxlZGJ5PSJjbG9zZVRpdGxlSUQgY2xvc2VEZXNjSUQiPjxwYXRoIGQ9Ik0yOS4xOTIgMTAuODA4YTEuNSAxLjUgMCAwMTAgMi4xMkwyMi4xMjIgMjBsNy4wNyA3LjA3MmExLjUgMS41IDAgMDEtMi4xMiAyLjEyMWwtNy4wNzMtNy4wNy03LjA3IDcuMDdhMS41IDEuNSAwIDAxLTIuMTIxLTIuMTJsNy4wNy03LjA3My03LjA3LTcuMDdhMS41IDEuNSAwIDAxMi4xMi0yLjEyMUwyMCAxNy44NzhsNy4wNzItNy4wN2ExLjUgMS41IDAgMDEyLjEyMSAweiIgY2xhc3M9ImZpbGwtY29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==") 0 0 no-repeat;
|
1802
|
-
-webkit-mask-size: 100%;
|
1803
|
-
mask-size: 100%;
|
1804
|
-
background: #fff;
|
1805
|
-
}
|
1806
|
-
.BookReader #BRsearch_tray ul, .BRmobileMenu #BRsearch_tray ul, .BRfloat #BRsearch_tray ul {
|
1807
|
-
padding: 0;
|
1808
|
-
margin: 0;
|
1809
|
-
list-style: none;
|
1810
|
-
}
|
1811
|
-
.BookReader #BRsearch_tray li, .BRmobileMenu #BRsearch_tray li, .BRfloat #BRsearch_tray li {
|
1812
|
-
margin-bottom: 20px;
|
1813
|
-
border-bottom: 1px solid #fff;
|
1814
|
-
}
|
1815
|
-
.BookReader #BRsearch_tray li:after, .BRmobileMenu #BRsearch_tray li:after, .BRfloat #BRsearch_tray li:after {
|
1816
|
-
display: none;
|
1817
|
-
}
|
1818
|
-
.BookReader #BRsearch_tray li img, .BRmobileMenu #BRsearch_tray li img, .BRfloat #BRsearch_tray li img {
|
1819
|
-
display: block;
|
1820
|
-
width: 100%;
|
1821
|
-
}
|
1822
|
-
.BookReader #BRsearch_tray li h4, .BRmobileMenu #BRsearch_tray li h4, .BRfloat #BRsearch_tray li h4 {
|
1823
|
-
padding: 0 0 20px 0;
|
1824
|
-
margin: 0;
|
1825
|
-
font-size: 14px;
|
1826
|
-
font-weight: normal;
|
1827
|
-
}
|
1828
|
-
.BookReader #BRsearch_tray li p, .BRmobileMenu #BRsearch_tray li p, .BRfloat #BRsearch_tray li p {
|
1829
|
-
padding: 0 0 15px 0;
|
1830
|
-
margin: 0;
|
1831
|
-
font-size: 12px;
|
1832
|
-
}
|
1833
|
-
.BookReader #BRsearch_tray mark, .BRmobileMenu #BRsearch_tray mark, .BRfloat #BRsearch_tray mark {
|
1834
|
-
padding: 0 2px;
|
1835
|
-
color: var(--searchResultText);
|
1836
|
-
background: var(--searchResultBg);
|
1837
|
-
border: 1px solid var(--searchResultBorder);
|
1838
|
-
border-radius: 2px;
|
1839
|
-
}
|
1840
|
-
.BookReader #BRsearch_tray #search_pending, .BRmobileMenu #BRsearch_tray #search_pending, .BRfloat #BRsearch_tray #search_pending {
|
1841
|
-
display: none;
|
1842
|
-
}
|
1843
|
-
.BookReader #BRsearch_tray #search_pending.visible, .BRmobileMenu #BRsearch_tray #search_pending.visible, .BRfloat #BRsearch_tray #search_pending.visible {
|
1844
|
-
display: block;
|
1845
|
-
}
|
1846
1598
|
.BookReader .BRsearch-navigation, .BRmobileMenu .BRsearch-navigation, .BRfloat .BRsearch-navigation {
|
1847
1599
|
position: relative;
|
1848
1600
|
z-index: 1;
|
@@ -1898,10 +1650,7 @@ i.BRicon {
|
|
1898
1650
|
|
1899
1651
|
@keyframes hiliteFadeIn {
|
1900
1652
|
from {
|
1901
|
-
opacity: 0;
|
1902
|
-
}
|
1903
|
-
to {
|
1904
|
-
opacity: 0.2;
|
1653
|
+
fill-opacity: 0;
|
1905
1654
|
}
|
1906
1655
|
}
|
1907
1656
|
/* Mid size breakpoint */
|
@@ -2880,6 +2629,12 @@ li.BRtable-contents-el .BRTOCElementPage {
|
|
2880
2629
|
background-image: url("icons/close-circle.svg");
|
2881
2630
|
}
|
2882
2631
|
|
2632
|
+
.icon-close-dark {
|
2633
|
+
width: 12px;
|
2634
|
+
height: 12px;
|
2635
|
+
background-image: url("icons/close-circle-dark.svg");
|
2636
|
+
}
|
2637
|
+
|
2883
2638
|
.BRcontrols {
|
2884
2639
|
width: 100%;
|
2885
2640
|
/* BookReader defaults overrides */
|
@@ -2906,8 +2661,7 @@ li.BRtable-contents-el .BRTOCElementPage {
|
|
2906
2661
|
.BRfullscreenActive .BRcontrols .icon-fullscreen {
|
2907
2662
|
background-image: url("icons/fullscreen_exit.svg");
|
2908
2663
|
}
|
2909
|
-
.BRcontrols select.playback-speed {
|
2910
|
-
width: 24px;
|
2664
|
+
.BRcontrols select.playback-speed, .BRcontrols select.playback-voices {
|
2911
2665
|
padding-top: 18px;
|
2912
2666
|
-moz-appearance: none;
|
2913
2667
|
-webkit-appearance: none;
|
@@ -2918,11 +2672,19 @@ li.BRtable-contents-el .BRTOCElementPage {
|
|
2918
2672
|
color: #fff;
|
2919
2673
|
border: none;
|
2920
2674
|
cursor: pointer;
|
2921
|
-
background: transparent url("icons/playback-speed.svg") 50% 0 no-repeat;
|
2922
2675
|
}
|
2923
|
-
.BRcontrols select.playback-speed option {
|
2676
|
+
.BRcontrols select.playback-speed option, .BRcontrols select.playback-voices option {
|
2924
2677
|
background: #333;
|
2925
2678
|
}
|
2679
|
+
.BRcontrols select.playback-speed {
|
2680
|
+
width: 30px;
|
2681
|
+
background: transparent url("icons/playback-speed.svg") 50% 0 no-repeat;
|
2682
|
+
}
|
2683
|
+
.BRcontrols select.playback-voices {
|
2684
|
+
width: 30px;
|
2685
|
+
background: transparent url("icons/voice.svg") 50% 0 no-repeat;
|
2686
|
+
background-size: 18px;
|
2687
|
+
}
|
2926
2688
|
.BRcontrols .active {
|
2927
2689
|
background: #fff;
|
2928
2690
|
}
|
@@ -2975,6 +2737,10 @@ li.BRtable-contents-el .BRTOCElementPage {
|
|
2975
2737
|
display: flex;
|
2976
2738
|
animation: slideUp 0.2s;
|
2977
2739
|
}
|
2740
|
+
.BRcontrols .read-aloud.visible button {
|
2741
|
+
width: unset;
|
2742
|
+
height: unset;
|
2743
|
+
}
|
2978
2744
|
.BRcontrols .read-aloud li {
|
2979
2745
|
padding: 0 10px;
|
2980
2746
|
}
|
@@ -3095,11 +2861,6 @@ li.BRtable-contents-el .BRTOCElementPage {
|
|
3095
2861
|
}
|
3096
2862
|
|
3097
2863
|
.textSelectionSVG {
|
3098
|
-
width: 100%;
|
3099
|
-
position: absolute;
|
3100
|
-
height: 100%;
|
3101
|
-
top: 0;
|
3102
|
-
left: 0;
|
3103
2864
|
pointer-events: none;
|
3104
2865
|
}
|
3105
2866
|
.textSelectionSVG .BRwordElement {
|
@@ -3117,32 +2878,31 @@ li.BRtable-contents-el .BRTOCElementPage {
|
|
3117
2878
|
color: transparent;
|
3118
2879
|
}
|
3119
2880
|
.textSelectionSVG .BRparagElement {
|
3120
|
-
fill:
|
2881
|
+
fill: transparent;
|
3121
2882
|
cursor: text;
|
3122
2883
|
white-space: pre;
|
3123
|
-
fill-opacity: 0;
|
3124
2884
|
font-family: Georgia, serif;
|
3125
2885
|
}
|
3126
2886
|
|
3127
|
-
.
|
3128
|
-
|
3129
|
-
-moz-user-select: none;
|
3130
|
-
user-select: none;
|
2887
|
+
.BRsmooth-zooming .textSelectionSVG, .BRscrolling-active .textSelectionSVG {
|
2888
|
+
display: none;
|
3131
2889
|
}
|
3132
2890
|
|
3133
|
-
.
|
2891
|
+
.BRmode1up .BRpagecontainer:not(.BRpage-visible) .textSelectionSVG {
|
3134
2892
|
display: none;
|
3135
2893
|
}
|
3136
2894
|
|
3137
|
-
.BRpagecontainer
|
3138
|
-
|
2895
|
+
.BRpagecontainer img {
|
2896
|
+
-webkit-user-select: none;
|
2897
|
+
-moz-user-select: none;
|
2898
|
+
user-select: none;
|
3139
2899
|
}
|
3140
2900
|
|
3141
2901
|
/**
|
3142
2902
|
* Hide modal-manager that loads item-navigator-modal
|
3143
2903
|
* loading bookmarks related alert messages
|
3144
2904
|
*/
|
3145
|
-
|
2905
|
+
modal-manager[mode=closed] {
|
3146
2906
|
display: none;
|
3147
2907
|
}
|
3148
2908
|
|