1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8610],{1385:(e,t,a)=>{a.d(t,{Z:()=>o});var r=a(2784),s=a(8235),n=a(8579);const o={React:r,...r,FFmpeg:s.Cy,fetchFile:n.dc,toBlobURL:n.Wn}},2156:(e,t,a)=>{a.d(t,{Z:()=>o});var r=a(2784),s=a(1077),n=a(7066);function o(e){const{metadata:t}=e,{previousPage:a,nextPage:o}=t;return r.createElement("nav",{className:"pagination-nav","aria-label":(0,s.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"})},a&&r.createElement(n.Z,{permalink:a,title:r.createElement(s.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)"},"Newer Entries")}),o&&r.createElement(n.Z,{permalink:o,title:r.createElement(s.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)"},"Older Entries"),isNext:!0}))}},1852:(e,t,a)=>{a.d(t,{Z:()=>o});var r=a(2784),s=a(1375),n=a(4646);function o({items:e,component:t=n.Z}){return r.createElement(r.Fragment,null,e.map((({content:e})=>r.createElement(s.n,{key:e.metadata.permalink,content:e},r.createElement(t,null,r.createElement(e,null))))))}},242:(e,t,a)=>{a.r(t),a.d(t,{default:()=>f});var r=a(2784),s=a(6277),n=a(1077),o=a(7239),l=a(328),i=a(211),c=a(9817),d=a(3485),E=a(2156),g=a(4390),p=a(1852);function h(e){const t=function(){const{selectMessage:e}=(0,o.c)();return t=>e(t,(0,n.I)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}();return(0,n.I)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function u({tag:e}){const t=h(e);return r.createElement(r.Fragment,null,r.createElement(l.d,{title:t}),r.createElement(g.Z,{tag:"blog_tags_posts"}))}function m({tag:e,items:t,sidebar:a,listMetadata:s}){const o=h(e);return r.createElement(d.Z,{sidebar:a},r.createElement("header",{className:"margin-bottom--xl"},r.createElement("h1",null,o),r.createElement(c.Z,{href:e.allTagsPath},r.createElement(n.Z,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page"},"View All Tags"))),r.createElement(p.Z,{items:t}),r.createElement(E.Z,{metadata:s}))}function f(e){return r.createElement(l.FG,{className:(0,s.Z)(i.k.wrapper.blogPages,i.k.page.blogTagPostListPage)},r.createElement(u,e),r.createElement(m,e))}},8235:(e,t,a)=>{a.d(t,{Cy:()=>l});var r;!function(e){e.LOAD="LOAD",e.EXEC="EXEC",e.FFPROBE="FFPROBE",e.WRITE_FILE="WRITE_FILE",e.READ_FILE="READ_FILE",e.DELETE_FILE="DELETE_FILE",e.RENAME="RENAME",e.CREATE_DIR="CREATE_DIR",e.LIST_DIR="LIST_DIR",e.DELETE_DIR="DELETE_DIR",e.ERROR="ERROR",e.DOWNLOAD="DOWNLOAD",e.PROGRESS="PROGRESS",e.LOG="LOG",e.MOUNT="MOUNT",e.UNMOUNT="UNMOUNT"}(r||(r={}));const s=(()=>{let e=0;return()=>e++})(),n=(new Error("unknown message type"),new Error("ffmpeg is not loaded, call `await ffmpeg.load()` first")),o=new Error("called FFmpeg.terminate()");new Error("failed to import ffmpeg-core.js");class l{#e=null;#t={};#a={};#r=[];#s=[];loaded=!1;#n=()=>{this.#e&&(this.#e.onmessage=({data:{id:e,type:t,data:a}})=>{switch(t){case r.LOAD:this.loaded=!0,this.#t[e](a);break;case r.MOUNT:case r.UNMOUNT:case r.EXEC:case r.FFPROBE:case r.WRITE_FILE:case r.READ_FILE:case r.DELET
1E_FILE:case r.RENAME:case r.CREATE_DIR:case r.LIST_DIR:case r.DELETE_DIR:this.#t[e](a);break;case r.LOG:this.#r.forEach((e=>e(a)));break;case r.PROGRESS:this.#s.forEach((e=>e(a)));break;case r.ERROR:this.#a[e](a)}delete this.#t[e],delete this.#a[e]})};#o=({type:e,data:t},a=[],r)=>this.#e?new Promise(((n,o)=>{const l=s();this.#e&&this.#e.postMessage({id:l,type:e,data:t},a),this.#t[l]=n,this.#a[l]=o,r?.addEventListener("abort",(()=>{o(new DOMException(`Message # ${l} was aborted`,"AbortError"))}),{once:!0})})):Promise.reject(n);on(e,t){"log"===e?this.#r.push(t):"progress"===e&&this.#s.push(t)}off(e,t){"log"===e?this.#r=this.#r.filter((e=>e!==t)):"progress"===e&&(this.#s=this.#s.filter((e=>e!==t)))}load=({classWorkerURL:e,...t}={},{signal:s}={})=>(this.#e||(this.#e=e?new Worker(new URL(e,"file:///opt/build/repo/packages/ffmpeg/dist/esm/classes.js"),{type:"module"}):new Worker(new URL(a.p+a.u(7639),a.b),{type:void 0}),this.#n()),this.#o({type:r.LOAD,data:t},void 0,s));exec=(e,t=-1,{signal:a}={})=>this.#o({type:r.EXEC,data:{args:e,timeout:t}},void 0,a);ffprobe=(e,t=-1,{signal:a}={})=>this.#o({type:r.FFPROBE,data:{args:e,timeout:t}},void 0,a);terminate=()=>{const e=Object.keys(this.#a);for(const t of e)this.#a[t](o),delete this.#a[t],delete this.#t[t];this.#e&&(this.#e.terminate(),this.#e=null,this.loaded=!1)};writeFile=(e,t,{signal:a}={})=>{const s=[];return t instanceof Uint8Array&&s.push(t.buffer),this.#o({type:r.WRITE_FILE,data:{path:e,data:t}},s,a)};mount=(e,t,a)=>this.#o({type:r.MOUNT,data:{fsType:e,options:t,mountPoint:a}},[]);unmount=e=>this.#o({type:r.UNMOUNT,data:{mountPoint:e}},[]);readFile=(e,t="binary",{signal:a}={})=>this.#o({type:r.READ_FILE,data:{path:e,encoding:t}},void 0,a);deleteFile=(e,{signal:t}={})=>this.#o({type:r.DELETE_FILE,data:{path:e}},void 0,t);rename=(e,t,{signal:a}={})=>this.#o({type:r.RENAME,data:{oldPath:e,newPath:t}},void 0,a);createDir=(e,{signal:t}={})=>this.#o({type:r.CREATE_DIR,data:{path:e}},void 0,t);listDir=(e,{signal:t}={})=>this.#o({type:r.LIST_DIR,data:{path:e}},void 0,t);deleteDir=(e,{signal:t}={})=>this.#o({type:r.DELETE_DIR,data:{path:e}},void 0,t)}var i;!function(e){e.MEMFS="MEMFS",e.NODEFS="NODEFS",e.NODERAWFS="NODERAWFS",e.IDBFS="IDBFS",e.WORKERFS="WORKERFS",e.PROXYFS="PROXYFS"}(i||(i={}))},8579:(e,t,a)=>{a.d(t,{dc:()=>n,Wn:()=>o});const r=new Error("failed to get response body reader"),s=new Error("failed to complete download"),n=async e=>{let t;if("string"==typeof e)t=/data:_data\/([a-zA-Z]*);base64,([^"]*)/.test(e)?atob(e.split(",")[1]).split("").map((e=>e.charCodeAt(0))):await(await fetch(e)).arrayBuffer();else if(e instanceof URL)t=await(await fetch(e)).arrayBuffer();else{if(!(e instanceof File||e instanceof Blob))return new Uint8Array;t=await(a=e,new Promise(((e,t)=>{const r=new FileReader;r.onload=()=>{const{result:t}=r;t instanceof ArrayBuffer?e(new Uint8Array(t)):e(new Uint8Array)},r.onerror=e=>{t(Error(`File could not be read! Code=${e?.target?.error?.code||-1}`))},r.readAsArrayBuffer(a)})))}var a;return new Uint8Array(t)},o=async(e,t,a=!1,n)=>{const o=a?await(async(e,t)=>{const a=await fetch(e),n=a.clone();let o;try{const n=parseInt(a.headers.get("Content-Length")||"-1"),l=a.body?.getReader();if(!l)throw r;const i=[];let c=0;for(;;){const{done:a,value:r}=await l.read(),o=r?r.length:0;if(a){if(-1!=n&&n!==c)throw s;t&&t({url:e,total:n,received:c,delta:o,done:a});break}i.push(r),c+=o,t&&t({url:e,total:n,received:c,delta:o,done:a})}const d=new Uint8Array(c);let E=0;for(const e of i)d.set(e,E),E+=e.length;o=d.buffer}catch(l){console.log("failed to send download progress event: ",l),o=await n.arrayBuffer(),t&&t({url:e,total:o.byteLength,received:o.byteLength,delta:0,done:!0})}return o})(e,n):await(await fetch(e)).arrayBuffer(),l=new Blob([o],{type:t});return URL.createObjectURL(l)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.