mirror of
				https://github.com/janeczku/calibre-web
				synced 2025-11-04 09:13:02 +00:00 
			
		
		
		
	Merge branch 'master' into development
# Conflicts: # cps/server.py # test/Calibre-Web TestSummary_Linux.html
This commit is contained in:
		
							
								
								
									
										194
									
								
								cps/static/js/libs/djvu_html5/Djvu_html5.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										194
									
								
								cps/static/js/libs/djvu_html5/Djvu_html5.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,194 @@
 | 
			
		||||
body {
 | 
			
		||||
	margin: 0px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#djvuContainer {
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	width: 100%;
 | 
			
		||||
	height: 100%;
 | 
			
		||||
	max-width: 100%;
 | 
			
		||||
	text-align: center;
 | 
			
		||||
	overflow: hidden;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.toolbar {
 | 
			
		||||
	position: relative;
 | 
			
		||||
	display: inline-block;
 | 
			
		||||
	padding-top: 10px;
 | 
			
		||||
 | 
			
		||||
	transform: translate(0, 0);
 | 
			
		||||
	-webkit-transform: translate(0, 0);
 | 
			
		||||
	-ms-transform: translate(0, 0);
 | 
			
		||||
	transition: transform 0.3s;
 | 
			
		||||
	-webkit-transition: -webkit-transform 0.3s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.toolbarHidden {
 | 
			
		||||
	transform: translate(0, -100%);
 | 
			
		||||
	-webkit-transform: translate(0, -100%);
 | 
			
		||||
	-ms-transform: translate(0, -100%);
 | 
			
		||||
	transition: transform 1s;
 | 
			
		||||
	-webkit-transition: transform 1s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.toolbarSquareButton {
 | 
			
		||||
	float: left;
 | 
			
		||||
	width: 40px;
 | 
			
		||||
	height: 40px;
 | 
			
		||||
	background-image: url("img/toolbar-buttons.png");
 | 
			
		||||
	background-repeat: no-repeat;
 | 
			
		||||
	background-size: 500% 300%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.scrollbar {
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	border-radius: 6px;
 | 
			
		||||
	opacity: 0.6;
 | 
			
		||||
	box-shadow: inset 0 0 0 1px black, inset 0 0 0 2px white, inset 0 0 0 10px #BBB;
 | 
			
		||||
	transition: opacity 0.3s;
 | 
			
		||||
}
 | 
			
		||||
.scrollbar:hover {
 | 
			
		||||
	box-shadow: inset 0 0 0 1px black, inset 0 0 0 2px white, inset 0 0 0 10px #999;
 | 
			
		||||
}
 | 
			
		||||
.scrollbarClicked, .scrollbarClicked:hover {
 | 
			
		||||
	box-shadow: inset 0 0 0 1px black, inset 0 0 0 2px white, inset 0 0 0 10px #777;
 | 
			
		||||
}
 | 
			
		||||
.scrollbarHidden {
 | 
			
		||||
	opacity: 0;
 | 
			
		||||
	transition: opacity 0.6s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.scrollbarVertical {
 | 
			
		||||
	right: 0px;
 | 
			
		||||
	border-right: 1px solid transparent;
 | 
			
		||||
	width: 13px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.scrollbarHorizontal {
 | 
			
		||||
	bottom: 0px;
 | 
			
		||||
	border-bottom: 1px solid transparent;
 | 
			
		||||
	height: 13px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.content {
 | 
			
		||||
	overflow: hidden;
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	height: 100%;
 | 
			
		||||
	width: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.textLayer {
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	height: 120%;
 | 
			
		||||
	width: 120%;
 | 
			
		||||
	overflow: scroll;
 | 
			
		||||
	text-align: left;
 | 
			
		||||
}
 | 
			
		||||
_:-ms-lang(x), .textLayer {
 | 
			
		||||
	height: 100%;
 | 
			
		||||
	width: 100%;
 | 
			
		||||
	-ms-overflow-style: none;
 | 
			
		||||
}
 | 
			
		||||
.textPage {
 | 
			
		||||
	margin-top: 100vh;
 | 
			
		||||
	margin-bottom: 100vh;
 | 
			
		||||
	padding-right: 100vw;
 | 
			
		||||
}
 | 
			
		||||
.textPage span {
 | 
			
		||||
	font-family: sans-serif;
 | 
			
		||||
	color: #000;
 | 
			
		||||
	color: rgba(0, 0, 0, 0);
 | 
			
		||||
	white-space: nowrap;
 | 
			
		||||
}
 | 
			
		||||
.visibleTextPage span {
 | 
			
		||||
	display: inline-block;
 | 
			
		||||
	position: relative;
 | 
			
		||||
 | 
			
		||||
	top: 50%;
 | 
			
		||||
	transform: translateY(-50%);
 | 
			
		||||
	-webkit-transform: translateY(-50%);
 | 
			
		||||
	-ms-transform: translateY(-50%);
 | 
			
		||||
	/* border: 1px solid red; /* for easy debug */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.buttonZoomIn {
 | 
			
		||||
	background-position: 25% 0;
 | 
			
		||||
}
 | 
			
		||||
.buttonZoomIn:hover {
 | 
			
		||||
	background-position: 25% 50%;
 | 
			
		||||
}
 | 
			
		||||
.buttonZoomIn:disabled {
 | 
			
		||||
	background-position: 25% 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.buttonZoomOut {
 | 
			
		||||
	background-position: 0 0;
 | 
			
		||||
}
 | 
			
		||||
.buttonZoomOut:hover {
 | 
			
		||||
	background-position: 0 50%;
 | 
			
		||||
}
 | 
			
		||||
.buttonZoomOut:disabled {
 | 
			
		||||
	background-position: 0 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.buttonPagePrev {
 | 
			
		||||
	background-position: 50% 0;
 | 
			
		||||
}
 | 
			
		||||
.buttonPagePrev:hover {
 | 
			
		||||
	background-position: 50% 50%;
 | 
			
		||||
}
 | 
			
		||||
.buttonPagePrev:disabled {
 | 
			
		||||
	background-position: 50% 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.buttonPageNext {
 | 
			
		||||
	background-position: 75% 0;
 | 
			
		||||
}
 | 
			
		||||
.buttonPageNext:hover {
 | 
			
		||||
	background-position: 75% 50%;
 | 
			
		||||
}
 | 
			
		||||
.buttonPageNext:disabled {
 | 
			
		||||
	background-position: 75% 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.toolbarItem {
 | 
			
		||||
	display: inline-block;
 | 
			
		||||
	margin: 0 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.comboBox {
 | 
			
		||||
	float: left;
 | 
			
		||||
	position: relative;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.comboBoxSelection {
 | 
			
		||||
	width: 8.25ex;
 | 
			
		||||
	margin: 10px 12px 0px 12px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.comboBoxText {
 | 
			
		||||
	width: 5ex;
 | 
			
		||||
	border: none;
 | 
			
		||||
	padding: 0px;
 | 
			
		||||
	outline: none;
 | 
			
		||||
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	margin: 10px 0px 0px 12px;
 | 
			
		||||
	top: 2px;
 | 
			
		||||
	left: 3px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.statusImage {
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	left: 50%;
 | 
			
		||||
	top: 50%;
 | 
			
		||||
	width: 128px;
 | 
			
		||||
	height: 128px;
 | 
			
		||||
	margin: -72px 0 0 -64px;
 | 
			
		||||
	background-image: url("img/status.png");
 | 
			
		||||
	background-repeat: no-repeat;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.blankImage {
 | 
			
		||||
	background-image: url("img/blank.jpg");
 | 
			
		||||
}
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								cps/static/js/libs/djvu_html5/djvu_html5/clear.cache.gif
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cps/static/js/libs/djvu_html5/djvu_html5/clear.cache.gif
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 43 B  | 
@@ -0,0 +1,16 @@
 | 
			
		||||
091ECB3AE852C68866FBC86AA8FCDB1F.cache.js
 | 
			
		||||
user.agent ie8
 | 
			
		||||
 | 
			
		||||
1A420474460884E73E3288F783AD7024.cache.js
 | 
			
		||||
user.agent ie10
 | 
			
		||||
 | 
			
		||||
3CFDA9D9AFA2798299BBAE243DB2E9B5.cache.js
 | 
			
		||||
user.agent safari
 | 
			
		||||
 | 
			
		||||
564CB406D925C79CCD67EB98CA5AD4EF.cache.js
 | 
			
		||||
user.agent gecko1_8
 | 
			
		||||
 | 
			
		||||
A8305F17E026239876FCBC730B035A55.cache.js
 | 
			
		||||
user.agent ie9
 | 
			
		||||
 | 
			
		||||
Devmode:devmode.js
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
function djvu_html5(){var O='bootstrap',P='begin',Q='gwt.codesvr.djvu_html5=',R='gwt.codesvr=',S='djvu_html5',T='startup',U='DUMMY',V=0,W=1,X='iframe',Y='javascript:""',Z='position:absolute; width:0; height:0; border:none; left: -1000px;',$=' top: -1000px;',_='CSS1Compat',ab='<!doctype html>',bb='',cb='<html><head><\/head><body><\/body><\/html>',db='undefined',eb='readystatechange',fb=10,gb='Chrome',hb='eval("',ib='");',jb='script',kb='javascript',lb='moduleStartup',mb='moduleRequested',nb='Failed to load ',ob='head',pb='meta',qb='name',rb='djvu_html5::',sb='::',tb='gwt:property',ub='content',vb='=',wb='gwt:onPropertyErrorFn',xb='Bad handler "',yb='" for "gwt:onPropertyErrorFn"',zb='gwt:onLoadErrorFn',Ab='" for "gwt:onLoadErrorFn"',Bb='#',Cb='?',Db='/',Eb='img',Fb='clear.cache.gif',Gb='baseUrl',Hb='djvu_html5.nocache.js',Ib='base',Jb='//',Kb='user.agent',Lb='webkit',Mb='safari',Nb='msie',Ob=11,Pb='ie10',Qb=9,Rb='ie9',Sb=8,Tb='ie8',Ub='gecko',Vb='gecko1_8',Wb=2,Xb=3,Yb=4,Zb='selectingPermutation',$b='djvu_html5.devmode.js',_b='091ECB3AE852C68866FBC86AA8FCDB1F',ac='1A420474460884E73E3288F783AD7024',bc='3CFDA9D9AFA2798299BBAE243DB2E9B5',cc='564CB406D925C79CCD67EB98CA5AD4EF',dc='A8305F17E026239876FCBC730B035A55',ec=':',fc='.cache.js',gc='loadExternalRefs',hc='end',ic='http:',jc='file:',kc='_gwt_dummy_',lc='__gwtDevModeHook:djvu_html5',mc='Ignoring non-whitelisted Dev Mode URL: ',nc=':moduleBase';var o=window;var p=document;r(O,P);function q(){var a=o.location.search;return a.indexOf(Q)!=-1||a.indexOf(R)!=-1}
 | 
			
		||||
function r(a,b){if(o.__gwtStatsEvent){o.__gwtStatsEvent({moduleName:S,sessionId:o.__gwtStatsSessionId,subSystem:T,evtGroup:a,millis:(new Date).getTime(),type:b})}}
 | 
			
		||||
djvu_html5.__sendStats=r;djvu_html5.__moduleName=S;djvu_html5.__errFn=null;djvu_html5.__moduleBase=U;djvu_html5.__softPermutationId=V;djvu_html5.__computePropValue=null;djvu_html5.__getPropMap=null;djvu_html5.__installRunAsyncCode=function(){};djvu_html5.__gwtStartLoadingFragment=function(){return null};djvu_html5.__gwt_isKnownPropertyValue=function(){return false};djvu_html5.__gwt_getMetaProperty=function(){return null};var s=null;var t=o.__gwt_activeModules=o.__gwt_activeModules||{};t[S]={moduleName:S};djvu_html5.__moduleStartupDone=function(e){var f=t[S].bindings;t[S].bindings=function(){var a=f?f():{};var b=e[djvu_html5.__softPermutationId];for(var c=V;c<b.length;c++){var d=b[c];a[d[V]]=d[W]}return a}};var u;function v(){w();return u}
 | 
			
		||||
function w(){if(u){return}var a=p.createElement(X);a.src=Y;a.id=S;a.style.cssText=Z+$;a.tabIndex=-1;p.body.appendChild(a);u=a.contentDocument;if(!u){u=a.contentWindow.document}u.open();var b=document.compatMode==_?ab:bb;u.write(b+cb);u.close()}
 | 
			
		||||
function A(k){function l(a){function b(){if(typeof p.readyState==db){return typeof p.body!=db&&p.body!=null}return /loaded|complete/.test(p.readyState)}
 | 
			
		||||
var c=b();if(c){a();return}function d(){if(!c){if(!b()){return}c=true;a();if(p.removeEventListener){p.removeEventListener(eb,d,false)}if(e){clearInterval(e)}}}
 | 
			
		||||
if(p.addEventListener){p.addEventListener(eb,d,false)}var e=setInterval(function(){d()},fb)}
 | 
			
		||||
function m(c){function d(a,b){a.removeChild(b)}
 | 
			
		||||
var e=v();var f=e.body;var g;if(navigator.userAgent.indexOf(gb)>-1&&window.JSON){var h=e.createDocumentFragment();h.appendChild(e.createTextNode(hb));for(var i=V;i<c.length;i++){var j=window.JSON.stringify(c[i]);h.appendChild(e.createTextNode(j.substring(W,j.length-W)))}h.appendChild(e.createTextNode(ib));g=e.createElement(jb);g.language=kb;g.appendChild(h);f.appendChild(g);d(f,g)}else{for(var i=V;i<c.length;i++){g=e.createElement(jb);g.language=kb;g.text=c[i];f.appendChild(g);d(f,g)}}}
 | 
			
		||||
djvu_html5.onScriptDownloaded=function(a){l(function(){m(a)})};r(lb,mb);var n=p.createElement(jb);n.src=k;if(djvu_html5.__errFn){n.onerror=function(){djvu_html5.__errFn(S,new Error(nb+code))}}p.getElementsByTagName(ob)[V].appendChild(n)}
 | 
			
		||||
djvu_html5.__startLoadingFragment=function(a){return D(a)};djvu_html5.__installRunAsyncCode=function(a){var b=v();var c=b.body;var d=b.createElement(jb);d.language=kb;d.text=a;c.appendChild(d);c.removeChild(d)};function B(){var c={};var d;var e;var f=p.getElementsByTagName(pb);for(var g=V,h=f.length;g<h;++g){var i=f[g],j=i.getAttribute(qb),k;if(j){j=j.replace(rb,bb);if(j.indexOf(sb)>=V){continue}if(j==tb){k=i.getAttribute(ub);if(k){var l,m=k.indexOf(vb);if(m>=V){j=k.substring(V,m);l=k.substring(m+W)}else{j=k;l=bb}c[j]=l}}else if(j==wb){k=i.getAttribute(ub);if(k){try{d=eval(k)}catch(a){alert(xb+k+yb)}}}else if(j==zb){k=i.getAttribute(ub);if(k){try{e=eval(k)}catch(a){alert(xb+k+Ab)}}}}}__gwt_getMetaProperty=function(a){var b=c[a];return b==null?null:b};s=d;djvu_html5.__errFn=e}
 | 
			
		||||
function C(){function e(a){var b=a.lastIndexOf(Bb);if(b==-1){b=a.length}var c=a.indexOf(Cb);if(c==-1){c=a.length}var d=a.lastIndexOf(Db,Math.min(c,b));return d>=V?a.substring(V,d+W):bb}
 | 
			
		||||
function f(a){if(a.match(/^\w+:\/\//)){}else{var b=p.createElement(Eb);b.src=a+Fb;a=e(b.src)}return a}
 | 
			
		||||
function g(){var a=__gwt_getMetaProperty(Gb);if(a!=null){return a}return bb}
 | 
			
		||||
function h(){var a=p.getElementsByTagName(jb);for(var b=V;b<a.length;++b){if(a[b].src.indexOf(Hb)!=-1){return e(a[b].src)}}return bb}
 | 
			
		||||
function i(){var a=p.getElementsByTagName(Ib);if(a.length>V){return a[a.length-W].href}return bb}
 | 
			
		||||
function j(){var a=p.location;return a.href==a.protocol+Jb+a.host+a.pathname+a.search+a.hash}
 | 
			
		||||
var k=g();if(k==bb){k=h()}if(k==bb){k=i()}if(k==bb&&j()){k=e(p.location.href)}k=f(k);return k}
 | 
			
		||||
function D(a){if(a.match(/^\//)){return a}if(a.match(/^[a-zA-Z]+:\/\//)){return a}return djvu_html5.__moduleBase+a}
 | 
			
		||||
function F(){var f=[];var g=V;function h(a,b){var c=f;for(var d=V,e=a.length-W;d<e;++d){c=c[a[d]]||(c[a[d]]=[])}c[a[e]]=b}
 | 
			
		||||
var i=[];var j=[];function k(a){var b=j[a](),c=i[a];if(b in c){return b}var d=[];for(var e in c){d[c[e]]=e}if(s){s(a,d,b)}throw null}
 | 
			
		||||
j[Kb]=function(){var a=navigator.userAgent.toLowerCase();var b=p.documentMode;if(function(){return a.indexOf(Lb)!=-1}())return Mb;if(function(){return a.indexOf(Nb)!=-1&&(b>=fb&&b<Ob)}())return Pb;if(function(){return a.indexOf(Nb)!=-1&&(b>=Qb&&b<Ob)}())return Rb;if(function(){return a.indexOf(Nb)!=-1&&(b>=Sb&&b<Ob)}())return Tb;if(function(){return a.indexOf(Ub)!=-1||b>=Ob}())return Vb;return bb};i[Kb]={'gecko1_8':V,'ie10':W,'ie8':Wb,'ie9':Xb,'safari':Yb};__gwt_isKnownPropertyValue=function(a,b){return b in i[a]};djvu_html5.__getPropMap=function(){var a={};for(var b in i){if(i.hasOwnProperty(b)){a[b]=k(b)}}return a};djvu_html5.__computePropValue=k;o.__gwt_activeModules[S].bindings=djvu_html5.__getPropMap;r(O,Zb);if(q()){return D($b)}var l;try{h([Tb],_b);h([Pb],ac);h([Mb],bc);h([Vb],cc);h([Rb],dc);l=f[k(Kb)];var m=l.indexOf(ec);if(m!=-1){g=parseInt(l.substring(m+W),fb);l=l.substring(V,m)}}catch(a){}djvu_html5.__softPermutationId=g;return D(l+fc)}
 | 
			
		||||
function G(){if(!o.__gwt_stylesLoaded){o.__gwt_stylesLoaded={}}r(gc,P);r(gc,hc)}
 | 
			
		||||
B();djvu_html5.__moduleBase=C();t[S].moduleBase=djvu_html5.__moduleBase;var H=F();if(o){var I=!!(o.location.protocol==ic||o.location.protocol==jc);o.__gwt_activeModules[S].canRedirect=I;function J(){var b=kc;try{o.sessionStorage.setItem(b,b);o.sessionStorage.removeItem(b);return true}catch(a){return false}}
 | 
			
		||||
if(I&&J()){var K=lc;var L=o.sessionStorage[K];if(!/^http:\/\/(localhost|127\.0\.0\.1)(:\d+)?\/.*$/.test(L)){if(L&&(window.console&&console.log)){console.log(mc+L)}L=bb}if(L&&!o[K]){o[K]=true;o[K+nc]=C();var M=p.createElement(jb);M.src=L;var N=p.getElementsByTagName(ob)[V];N.insertBefore(M,N.firstElementChild||N.children[V]);return false}}}G();r(O,hc);A(H);return true}
 | 
			
		||||
djvu_html5.succeeded=djvu_html5();
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								cps/static/js/libs/djvu_html5/djvu_worker/clear.cache.gif
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cps/static/js/libs/djvu_html5/djvu_worker/clear.cache.gif
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 43 B  | 
@@ -0,0 +1,2 @@
 | 
			
		||||
self.$wnd=self;self.$doc=self;function djvu_worker(){var c='81EB501BD7AB47786C30D3175CE1EA2B',d='.cache.js',e='djvu_worker',f='';var b;try{b=c}catch(a){return}importScripts(b+d);gwtOnLoad(undefined,e,f)}
 | 
			
		||||
djvu_worker();
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								cps/static/js/libs/djvu_html5/img/blank.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cps/static/js/libs/djvu_html5/img/blank.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 13 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								cps/static/js/libs/djvu_html5/img/status.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cps/static/js/libs/djvu_html5/img/status.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 16 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								cps/static/js/libs/djvu_html5/img/toolbar-buttons.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cps/static/js/libs/djvu_html5/img/toolbar-buttons.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 14 KiB  | 
		Reference in New Issue
	
	Block a user