(()=>{"use strict";var e={29:function(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s{const e=[10,5,2,1,.5,.2,"fit"].map(e=>({label:this.zoomLabel(e),scale:e})),t=await a.window.showQuickPick(e,{placeHolder:a.l10n.t("Select zoom level")});t&&this._onDidChangeScale.fire({scale:t.scale})})),this.entry.command=u}show(e,t){this.showItem(e,this.zoomLabel(t))}zoomLabel(e){return"fit"===e?a.l10n.t("Whole Image"):`${Math.round(100*e)}%`}}t.ZoomStatusBarEntry=h},125:function(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s{this.updateState()})),this._register(r.onDidDispose(()=>{this.previewState=0,this.dispose()}));const n=this._register(a.workspace.createFileSystemWatcher(new a.RelativePattern(t,"*")));this._register(n.onDidChange(e=>{e.toString()===this._resource.toString()&&(this.updateBinarySize(),this.render())})),this._register(n.onDidDelete(e=>{e.toString()===this._resource.toString()&&this._webviewEditor.dispose()}))}dispose(){super.dispose(),this._binarySizeStatusBarEntry.hide(this)}get resource(){return this._resource}updateBinarySize(){a.workspace.fs.stat(this._resource).then(({size:e})=>{this._binarySize=e,this.updateState()})}async render(){if(0===this.previewState)return;const e=await this.getWebviewContents();0!==this.previewState&&(this._webviewEditor.webview.html=e)}updateState(){0!==this.previewState&&(this._webviewEditor.active?(this.previewState=2,this._binarySizeStatusBarEntry.show(this,this._binarySize)):(this._binarySizeStatusBarEntry.hide(this),this.previewState=1))}}t.MediaPreview=h},289:function(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s{o.activePreview?.zoomIn()})),r.push(a.commands.registerCommand("imagePreview.zoomOut",()=>{o.activePreview?.zoomOut()})),r.push(a.commands.registerCommand("imagePreview.copyImage",()=>{o.activePreview?.copyImage()})),r.push(a.commands.registerCommand("imagePreview.reopenAsText",async()=>o.activePreview?.reopenAsText())),r.push(a.commands.registerCommand("imagePreview.reopenAsPreview",async()=>{await a.commands.executeCommand("reopenActiveEditorWith",p.viewType)})),a.Disposable.from(...r)};const a=s(r(398)),c=r(125),u=r(522),h=r(995),l=r(29),d=r(31);class p{extensionRoot;sizeStatusBarEntry;binarySizeStatusBarEntry;zoomStatusBarEntry;static viewType="imagePreview.previewEditor";_previews=new Set;_activePreview;constructor(e,t,r,i){this.extensionRoot=e,this.sizeStatusBarEntry=t,this.binarySizeStatusBarEntry=r,this.zoomStatusBarEntry=i}async openCustomDocument(e){return{uri:e,dispose:()=>{}}}async resolveCustomEditor(e,t){const r=new f(this.extensionRoot,e.uri,t,this.sizeStatusBarEntry,this.binarySizeStatusBarEntry,this.zoomStatusBarEntry);this._previews.add(r),this.setActivePreview(r),t.onDidDispose(()=>{this._previews.delete(r)}),t.onDidChangeViewState(()=>{t.active?this.setActivePreview(r):this._activePreview!==r||t.active||this.setActivePreview(void 0)})}get activePreview(){return this._activePreview}getPreviewFor(e,t){for(const r of this._previews)if(r.resource.toString()===e.toString()&&(!t||r.viewColumn===t))return r}setActivePreview(e){this._activePreview=e}}t.ImagePreviewManager=p;class f extends c.MediaPreview{extensionRoot;sizeStatusBarEntry;zoomStatusBarEntry;_imageSize;_imageZoom;emptyPngDataUri="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAEElEQVR42gEFAPr/AP///wAI/AL+Sr4t6gAAAABJRU5ErkJggg==";constructor(e,t,r,i,n,o){super(e,t,r,n),this.extensionRoot=e,this.sizeStatusBarEntry=i,this.zoomStatusBarEntry=o,this._register(r.webview.onDidReceiveMessage(e=>{switch(e.type){case"size":this._imageSize=e.value,this.updateState();break;case"zoom":this._imageZoom=e.value,this.updateState();break;case"reopen-as-text":(0,c.reopenAsText)(t,r.viewColumn)}})),this._register(o.onDidChangeScale(e=>{2===this.previewState&&this._webviewEditor.webview.postMessage({type:"setScale",scale:e.scale})})),this._register(r.onDidChangeViewState(()=>{this._webviewEditor.webview.postMessage({type:"setActive",value:this._webviewEditor.active})})),this._register(r.onDidDispose(()=>{2===this.previewState&&(this.sizeStatusBarEntry.hide(this),this.zoomStatusBarEntry.hide(this)),this.previewState=0})),this.updateBinarySize(),this.render(),this.updateState()}dispose(){super.dispose(),this.sizeStatusBarEntry.hide(this),this.zoomStatusBarEntry.hide(this)}get viewColumn(){return this._webviewEditor.viewColumn}zoomIn(){2===this.previewState&&this._webviewEditor.webview.postMessage({type:"zoomIn"})}zoomOut(){2===this.previewState&&this._webviewEditor.webview.postMessage({type:"zoomOut"})}copyImage(){2===this.previewState&&(this._webviewEditor.reveal(),this._webviewEditor.webview.postMessage({type:"copyImage"}))}updateState(){super.updateState(),0!==this.previewState&&(this._webviewEditor.active?(this.sizeStatusBarEntry.show(this,this._imageSize||""),this.zoomStatusBarEntry.show(this,this._imageZoom||"fit")):(this.sizeStatusBarEntry.hide(this),this.zoomStatusBarEntry.hide(this)))}async render(){await super.render(),this._webviewEditor.webview.postMessage({type:"setActive",value:this._webviewEditor.active})}async getWebviewContents(){const e=Date.now().toString(),t={src:await this.getResourcePath(this._webviewEditor,this._resource,e)},r=(0,h.generateUuid)(),i=this._webviewEditor.webview.cspSource;return`\n\n\n\t\n\n\t\x3c!-- Disable pinch zooming --\x3e\n\t\n\n\tImage Preview\n\n\t\n\n\t\n\t\n\n\n\t
\n\t
\n\t\t

${a.l10n.t("An error occurred while loading the image.")}

\n\t\t${a.l10n.t("Open file using VS Code's standard text/binary editor?")}\n\t
\n\t