PageSourceSearch

https://vidow.io/build/assets/MergeVideos-BGa__PhJ.js

js vidow.io collected 2026-10-01 16:11:12 UTC 19,261 bytes, 3 lines download raw bytes

1import{u as be,r as M,g as K,A as Pe,av as Se,d as Fe,E as Ie,p as qe,ar as N,c as I,o as _,b as n,a as s,w as C,t as l,e,h as $e,j as ne,i as V,F as ae,f as O,l as Te}from"./app-RsKea8o5.js";import{_ as b}from"./HugeiconsIcon.vue_vue_type_script_setup_true_lang-D36_Is65.js";import{_ as R}from"./index-BmOTFpO0.js";import{_ as he}from"./index-Djm_wzqU.js";import{d as ie}from"./utils-Cq45lf33.js";import{_ as Le}from"./LandingLayout.vue_vue_type_script_setup_true_lang-0zOGT4pF.js";import{u as ze,_ as Ve,a as Oe,b as Re,c as De,d as je,e as Ue,f as Be}from"./ToolUpgradeModal.vue_vue_type_script_setup_true_lang-DDZThVnh.js";import{_ as Ne}from"./FileDropZone.vue_vue_type_script_setup_true_lang-YVKfwl1W.js";import{W as We,_ as Ge}from"./ProcessingProgress.vue_vue_type_script_setup_true_lang-BYmL7o5J.js";import{_ as He}from"./HowItWorksSection.vue_vue_type_script_setup_true_lang-BfsTQhwS.js";import{_ as Xe}from"./CanonicalLink.vue_vue_type_script_setup_true_lang-BeYc7yu1.js";import{S as Ke}from"./Shield01Icon-CKvIlKQn.js";import{F as Ze}from"./FlashIcon-CqVHkz1P.js";import{L as we}from"./LockIcon-DHdaZzKS.js";import{A as Je}from"./Add01Icon-B2YTduHY.js";import{G as Qe}from"./AppNavbar.vue_vue_type_script_setup_true_lang-CTOJA9U3.js";import{C as Ye}from"./CheckmarkCircle02Icon-D-PTcbNP.js";import{A as et}from"./ArrowDataTransferHorizontalIcon-CRPQqiN_.js";import{D as tt}from"./Download01Icon-DWP7rFug.js";import{A as ot}from"./ArrowUp01Icon-BskfEfJa.js";import{A as st}from"./ArrowDown01Icon-DJ3rel_9.js";import{C as rt}from"./Cancel01Icon-DGojgfc9.js";import"./LandingFooter.vue_vue_type_script_setup_true_lang-DmJkehx-.js";import"./AppLogoIcon.vue_vue_type_script_setup_true_lang-Cgx8zpHc.js";import"./RovingFocusGroup-D3QouwLK.js";import"./useForwardExpose-DXi0eF_E.js";import"./Teleport-CpnQCY9y.js";import"./index-B_siYGUE.js";import"./DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-DqLmnnaC.js";import"./useLocaleSwitcher-DjLXDJUg.js";import"./Tick01Icon-CMS0_aRT.js";import"./Sonner.vue_vue_type_style_index_0_lang-VAYwp5ry.js";import"./useFlashToasts-50RPs8wm.js";import"./useAnalytics-Bxkp3130.js";import"./useBrowserDetect-U22uqA7C.js";import"./ArrowRight01Icon-D04wg_Dq.js";import"./DialogTitle.vue_vue_type_script_setup_true_lang-Dp74P03s.js";import"./DialogDescription-DZJI7Kf4.js";import"./DialogTitle-CmvgSLDH.js";import"./TabsTrigger.vue_vue_type_script_setup_true_lang-CEuQ2lZj.js";import"./RovingFocusItem-OppQ6H3F.js";import"./TabsContent.vue_vue_type_script_setup_true_lang-D9VN7BO2.js";import"./Input.vue_vue_type_script_setup_true_lang-D1HhNgzQ.js";import"./index-Z30Umu-o.js";import"./Label.vue_vue_type_script_setup_true_lang-CySY6CII.js";import"./index-ww_ZSx8X.js";import"./AlertCircleIcon-B85MyTNx.js";import"./InformationCircleIcon-CUKxAkIj.js";import"./Alert01Icon-fSMjLWdw.js";import"./CrownIcon-CLp08jGR.js";import"./DialogFooter.vue_vue_type_script_setup_true_lang-BSky3GSp.js";import"./Upload01Icon-C5fhFoE5.js";import"./Progress.vue_vue_type_script_setup_true_lang-D7UVyZyZ.js";import"./isValueEqualOrExist-BirkS3uf.js";import"./ohash.D__AXeF1-C-E83dC9.js";import"./CollapsibleTrigger-BkolMn4l.js";import"./VisuallyHidden-Gnp4jwIA.js";import"./DialogTrigger-Cd5Ui6Ea.js";import"./index-vmwrf4-U.js";import"./Mail01Icon-BnQa5Zt3.js";import"./NewsIcon-CRzk0O48.js";import"./WorkHistoryIcon-DyTXomyg.js";import"./FileVideoIcon-CctcsyeR.js";import"./PlayCircleIcon-BtdLi83T.js";const nt=[["path",{d:"M20.964 4H16.9719M20.964 4C20.964 4.56018 19.4727 5.60678 18.9679 6M20.964 4C20.964 3.43982 19.4727 2.39322 18.9679 2",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"0"}],["path",{d:"M2.99921 4H6.99136M2.99921 4C2.99921 3.43982 4.49058 2.39322 4.99529 2M2.99921 4C2.99921 4.56018 4.49058 5.60678 4.99529 6",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"1"}],["path",{d:"M9.81505 22.0006V21.0595C9.81505 20.4116 9.60526 19.781 9.21707 19.2622L5.39435 14.1534C5.07668 13.7288 4.83978 13.2141 4.98565 12.7043C5.34585 11.4454 6.76792 10.3261 8.35901 12.2974L9.95917 14.0049V3.59381C10.0573 1.76459 13.1325 1.18685 13.4504 3.59381V9.52698C14.933 9.33608 21.9162 10.378 20.9003 14.7917C20.8517 15.0026 20.8032 15.2167 20.7557 15.4279C20.5493 16.346 19.9407 17.98 19.2696 18.9355C18.5705 19.9309 18.897 21.5353 18.8172 22.0019",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"2"}]],at={mp4:"MP4",m4v:"MP4",webm:"WebM",mkv:"MKV",mov:"MOV"},ke=".mp4,.m4v,.webm,.mkv,.mov,video/mp4,video/webm,video/x-matroska,video/quicktime",it=2*1024*1024*1024;function lt(p){const t=p.name.split(".").pop()?.toLowerCase();return at[t??""]??null}function ct(){return Math.random().toString(36).slice(2,10)}function dt(){const{__:p}=be(),t=M([]),f=M(null),v=M(null),o=M(!1),i=M(0),h=M(null),g=M(null);let w=!1;const Z=K(()=>ie(t.value.reduce((c,a)=>c+a.size,0))),J=K(()=>f.value?ie(f.value.size):""),Q=K(()=>f.value!==null),Y=K(()=>t.value.length>=2&&!o.value);function y(c){h.value=null;for(const a of Array.from(c)){const m=lt(a);if(!m){h.value=p("tools.merge.error.unsupported_file",{name:a.name});continue}if(a.size>it){h.value=p("tools.merge.error.file_too_large",{name:a.name});continue}t.value.push({id:ct(),file:a,name:a.name,size:a.size,format:m,duration:null})}}function r(c){t.value=t.value.filter(a=>a.id!==c)}function u(c,a){const m=t.value.findIndex(te=>te.id===c);if(m===-1)return;const A=a==="up"?m-1:m+1;if(A<0||A>=t.value.length)return;const q=[...t.value];[q[m],q[A]]=[q[A],q[m]],t.value=q}function D(c,a){const m=t.value.find(A=>A.id===c);m&&(m.duration=a)}async function W(){if(t.value.length<2)return!1;h.value=null,i.value=0,w=!1,ee(),f.value=null;
1let c=null;try{o.value=!0,g.value=p("tools.shared.engine.loading");const{Input:a,Output:m,BlobSource:A,BufferTarget:q,Mp4OutputFormat:te,EncodedPacketSink:ce,EncodedVideoPacketSource:Ce,EncodedAudioPacketSource:Me,ALL_FORMATS:Ae}=await Se(async()=>{const{Input:d,Output:P,BlobSource:x,BufferTarget:S,Mp4OutputFormat:F,EncodedPacketSink:k,EncodedVideoPacketSource:L,EncodedAudioPacketSource:z,ALL_FORMATS:$}=await import("./index-mb-LiRt0.js");return{Input:d,Output:P,BlobSource:x,BufferTarget:S,Mp4OutputFormat:F,EncodedPacketSink:k,EncodedVideoPacketSource:L,EncodedAudioPacketSource:z,ALL_FORMATS:$}},[]);if(w)return!1;g.value=p("tools.shared.engine.analyzing");const E=[];c=()=>E.forEach(d=>d.dispose());let G=null,H=null,oe=30,se=!1;for(const d of t.value){const P=new a({source:new A(d.file),formats:Ae});E.push(P);const x=await P.getPrimaryVideoTrack(),S=await P.getPrimaryAudioTrack();if(!x)throw new Error(p("tools.merge.error.no_video_track",{name:d.name}));if(!G&&x.codec){G=x.codec;const F=await x.computePacketStats(30);oe=Math.round(F.averagePacketRate)}S?.codec&&!H?(H=S.codec,se=!0):S&&(se=!0)}if(!G)throw new Error(p("tools.merge.error.no_supported_codec"));if(w)return E.forEach(d=>d.dispose()),!1;g.value=p("tools.merge.status.merging");const de=new q,T=new m({format:new te({fastStart:"in-memory"}),target:de}),re=new Ce(G);T.addVideoTrack(re,{frameRate:oe});let j=null;se&&H&&(j=new Me(H),T.addAudioTrack(j)),await T.start();let ue=0,me=0,pe=!1;const X=E.length;for(let d=0;d<X;
1d++){if(w)return await T.cancel(),E.forEach(k=>k.dispose()),!1;const P=E[d],x=d/X*100,S=100/X;g.value=p("tools.merge.status.merging_file",{current:d+1,total:X});const F=await P.getPrimaryVideoTrack();if(F){const k=new ce(F),L=await F.computeDuration();let z=0;const $=Math.ceil(L*oe);let U=!0;for await(const B of k.packets()){if(w)break;const _e=B.clone({timestamp:B.timestamp+ue});if(U){const ve=await F.getDecoderConfig();await re.add(_e,ve?{decoderConfig:ve}:void 0),U=!1}else await re.add(_e);z++;const Ee=$>0?Math.min(z/$*100,99):50;i.value=Math.round(x+Ee/100*S*.8)}ue+=L}if(j){const k=await P.getPrimaryAudioTrack();if(k){const L=new ce(k),z=await k.computeDuration();for await(const $ of L.packets()){if(w)break;const U=$.clone({timestamp:$.timestamp+me});if(pe)await j.add(U);else{const B=await k.getDecoderConfig();await j.add(U,B?{decoderConfig:B}:void 0),pe=!0}}me+=z}}i.value=Math.round(x+S)}if(w)return await T.cancel(),E.forEach(d=>d.dispose()),!1;g.value=p("tools.shared.engine.finishing"),await T.finalize();const fe=de.buffer;if(!fe)throw new Error(p("tools.shared.engine.error_empty_output"));const ge=new File([fe],"merged-video.mp4",{type:"video/mp4"});return f.value=ge,v.value=URL.createObjectURL(ge),i.value=100,g.value=null,o.value=!1,E.forEach(d=>d.dispose()),!0}catch(a){const m=a instanceof Error?a.message:p("tools.merge.error.merge_failed");return console.error("Video merge error:",a),c?.(),h.value=m,g.value=null,o.value=!1,!1}}function le(){w=!0,o.value=!1,i.value=0,g.value=null}function ye(){if(!v.value||!f.value)return;const c=document.createElement("a");c.href=v.value,c.download=f.value.name,document.body.appendChild(c),c.click(),document.body.removeChild(c)}function ee(){v.value&&(URL.revokeObjectURL(v.value),v.value=null)}function xe(){le(),ee(),t.value=[],f.value=null,h.value=null}return Pe(()=>{ee()}),{files:t,outputFile:f,outputFileSize:J,downloadUrl:v,isComplete:Q,totalInputSize:Z,isProcessing:o,progress:i,error:h,status:g,canMerge:Y,addFiles:y,removeFile:r,moveFile:u,setFileDuration:D,startMerge:W,cancelMerge:le,downloadOutput:ye,reset:xe}}const ut=["content"],mt=["content"],pt=["content"],ft=["content"],gt=["content"],_t=["content"],vt={id:"merger",class:"border-b py-16 lg:py-24"},ht={class:"container mx-auto px-4 sm:px-6 lg:px-8"},wt={class:"mx-auto max-w-2xl"},kt={key:0,class:"flex h-80 items-center justify-center rounded-2xl border border-dashed border-border/50 bg-muted/20"},bt={class:"text-muted-foreground"},yt={key:1,class:"space-y-6"},xt={class:"space-y-2"},Ct={class:"flex items-center justify-between"},Mt={class:"text-sm font-medium text-foreground"},At={class:"flex shrink-0 flex-col gap-0.5 text-muted-foreground"},Et={class:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-rose-500/10 text-xs font-bold text-rose-600 dar
1k:text-rose-400"},Pt={class:"min-w-0 flex-1"},St={class:"truncate text-sm font-semibold text-foreground"},Ft={class:"flex items-center gap-2 text-xs text-muted-foreground"},It={class:"flex shrink-0 items-center gap-1"},qt={class:"sr-only"},$t={class:"sr-only"},Tt={class:"sr-only"},Lt=["disabled"],zt=["accept"],Vt={key:2,class:"space-y-4 rounded-xl border border-rose-200/50 bg-rose-50/50 p-5 dark:border-rose-800/30 dark:bg-rose-900/10"},Ot={class:"flex items-center gap-3"},Rt={class:"text-sm font-semibold text-foreground"},Dt={class:"flex items-center gap-3 text-sm text-muted-foreground"},jt={class:"font-medium text-foreground"},Ut={class:"flex gap-3"},Bt={key:3,class:"rounded-lg border border-destructive/30 bg-destructive/5 px-4 py-3 text-sm text-destructive"},Nt={class:"flex items-center justify-center gap-2 text-xs text-muted-foreground"},os=Fe({layout:Le,__name:"MergeVideos",setup(p){const{__:t,transChoice:f}=be(),v=M(!1);Ie(()=>{v.value=!0});const o=dt(),i=ze("merge_videos");qe(()=>o.isComplete.value,y=>{y&&i.recordUsage()});const h=M(null),g=y=>{y.length&&o.addFiles(y)},w=y=>{const r=y.target;r.files?.length&&o.addFiles(r.files),r.value=""};function Z(){o.reset()}const J=[{num:"01",title:t("tools.merge.step.s1_title"),description:t("tools.merge.step.s1_desc")},{num:"02",title:t("tools.merge.step.s2_title"),description:t("tools.merge.step.s2_desc")},{num:"03",title:t("tools.merge.step.s3_title"),description:t("tools.merge.step.s3_desc")}],Q=[{icon:Ke,title:t("tools.shared.benefit.no_upload_title"),description:t("tools.merge.benefit.no_upload_desc")},{icon:Ze,title:t("tools.shared.benefit.hardware_accelerated_title"),description:t("tools.merge.benefit.hardware_desc")},{icon:we,title:t("tools.shared.benefit.private_title"),description:t("tools.merge.benefit.private_desc")},{icon:We,title:t("tools.shared.benefit.works_offline_title"),description:t("tools.merge.benefit.works_offline_desc")}],Y=[{question:t("tools.merge.faq.q1"),answer:t("tools.merge.faq.a1")},{question:t("tools.merge.faq.q2"),answer:t("tools.merge.faq.a2")},{question:t("tools.merge.faq.q3"),answer:t("tools.merge.faq.a3")},{question:t("tools.merge.faq.q4"),answer:t("tools.merge.faq.a4")},{question:t("tools.merge.faq.q5",{app_name:N}),answer:t("tools.merge.faq.a5",{app_name:N})},{question:t("tools.merge.faq.q6"),answer:t("tools.merge.faq.a6")}];return(y,r)=>(_(),I(ae,null,[n(e($e),null,{default:C(()=>[s("title",null,`
2            `+l(e(t)("tools.merge.meta.title",{app_name:e(N)}))+`
3        `,1),s("meta",{name:"description",content:e(t)("tools.merge.meta.description")},null,8,ut),s("meta",{name:"keywords",content:e(t)("tools.merge.meta.keywords")},null,8,mt),r[8]||(r[8]=s("meta",{property:"og:type",content:"website"},null,-1)),r[9]||(r[9]=s("meta",{property:"og:url",content:"https://vidow.io/tools/merge-videos"},null,-1)),s("meta",{property:"og:title",content:e(t)("tools.merge.meta.og_title",{app_name:e(N)})},null,8,pt),s("meta",{property:"og:description",content:e(t)("tools.merge.meta.og_description")},null,8,ft),r[10]||(r[10]=s("meta",{property:"og:image",content:"https://vidow.io/images/og-merge-videos.png"},null,-1)),r[11]||(r[11]=s("meta",{property:"twitter:card",content:"summary_large_image"},null,-1)),r[12]||(r[12]=s("meta",{property:"twitter:url",content:"https://vidow.io/tools/merge-videos"},null,-1)),s("meta",{property:"twitter:title",content:e(t)("tools.merge.meta.twitter_title",{app_name:e(N)})},null,8,gt),s("meta",{property:"twitter:description",content:e(t)("tools.merge.meta.twitter_description")},null,8,_t),r[13]||(r[13]=s("meta",{property:"twitter:image",content:"https://vidow.io/images/og-merge-videos.png"},null,-1))]),_:1}),n(Xe),n(Ve,{title:e(t)("tools.merge.hero.title"),subtitle:e(t)("tools.merge.hero.subtitle"),"badge-class":"border-rose-200/50 bg-rose-100 text-rose-700 dark:border-rose-800/30 dark:bg-rose-900/30 dark:text-rose-300","anchor-id":"merger","anchor-label":e(t)("tools.merge.hero.anchor_label")},null,8,["title","subtitle","anchor-label"]),s("section",vt,[s("div",ht,[s("div",wt,[n(Oe,{remaining:e(i).remaining.value,limit:e(i).limit.value,"access-mode":e(i).accessMode.value,"trial-enabled":e(i).trialEnabled.value,tool:"merge_videos"},null,8,["remaining","limit","access-mode","trial-enabled"]),v.value?(_(),I("div",yt,[e(o).files.value.length===0&&!e(o).isComplete.value?(_(),ne(Ne,{key:0,accept:e(ke),multiple:!0,title:e(t)("tools.shared.drop_videos_here"),subtitle:e(t)("tools.shared.click_to_browse_multi"),onFilesSelected:g},null,8,["accept","title","subtitle"])):V("",!0),e(o).files.value.length>0&&!e(o).isComplete.value?(_(),I(ae,{key:1},[s("div",xt,[s("div",Ct,[s("label",Mt,l(e(f)("tools.merge.files_selected",e
3(o).files.value.length,{count:e(o).files.value.length})),1),n(e(he),{variant:"secondary",class:"text-xs"},{default:C(()=>[O(l(e(t)("tools.merge.total_label",{size:e(o).totalInputSize.value})),1)]),_:1})]),(_(!0),I(ae,null,Te(e(o).files.value,(u,D)=>(_(),I("div",{key:u.id,class:"flex items-center gap-3 rounded-xl border bg-card p-3"},[s("div",At,[n(b,{icon:e(nt),class:"h-4 w-4"},null,8,["icon"])]),s("div",Et,l(D+1),1),s("div",Pt,[s("p",St,l(u.name),1),s("div",Ft,[n(e(he),{variant:"secondary",class:"text-[10px] uppercase"},{default:C(()=>[O(l(u.format),1)]),_:2},1024),s("span",null,l(e(ie)(u.size)),1)])]),s("div",It,[n(e(R),{variant:"ghost",size:"icon",class:"h-7 w-7",disabled:D===0||e(o).isProcessing.value,onClick:W=>e(o).moveFile(u.id,"up")},{default:C(()=>[n(b,{icon:e(ot),class:"h-3.5 w-3.5"},null,8,["icon"]),s("span",qt,l(e(t)("tools.shared.move_up")),1)]),_:2},1032,["disabled","onClick"]),n(e(R),{variant:"ghost",size:"icon",class:"h-7 w-7",disabled:D===e(o).files.value.length-1||e(o).isProcessing.value,onClick:W=>e(o).moveFile(u.id,"down")},{default:C(()=>[n(b,{icon:e(st),class:"h-3.5 w-3.5"},null,8,["icon"]),s("span",$t,l(e(t)("tools.shared.move_down")),1)]),_:2},1032,["disabled","onClick"]),n(e(R),{variant:"ghost",size:"icon",class:"h-7 w-7",disabled:e(o).isProcessing.value,onClick:W=>e(o).removeFile(u.id)},{default:C(()=>[n(b,{icon:e(rt),class:"h-3.5 w-3.5"},null,8,["icon"]),s("span",Tt,l(e(t)("tools.shared.remove")),1)]),_:2},1032,["disabled","onClick"])])]))),128)),s("button",{class:"flex w-full items-center justify-center gap-2 rounded-xl border-2 border-dashed border-border/60 py-3 text-sm font-medium text-muted-foreground transition-colors hover:border-rose-400/40 hover:text-foreground",disabled:e(o).isProcessing.value,onClick:r[0]||(r[0]=u=>h.value?.click())},[n(b,{icon:e(Je),class:"h-4 w-4"},null,8,["icon"]),O(" "+l(e(t)("tools.merge.add_more_videos")),1)],8,Lt),s("input",{ref_key:"addMoreInputRef",ref:h,type:"file",accept:e(ke),multiple:"",class:"hidden",onChange:w},null,40,zt)]),e(o).isProcessing.value?(_(),ne(Ge,{key:0,progress:e(o).progress.value,status:e(o).status.value,onCancel:r[1]||(r[1]=u=>e(o).cancelMerge())},null,8,["progress","status"])):V("",!0),!e(o).isProcessing.value&&!e(o).isComplete.value?(_(),ne(e(R),{key:1,class:"h-12 w-full text-base",disabled:!e(o).canMerge.value,onClick:r[2]||(r[2]=u=>e(i).checkAndProcess(()=>e(o).startMerge()))},{default:C(()=>[n(b,{icon:e(Qe),class:"me-2 h-4 w-4"},null,8,["icon"]),O(" "+l(e(t)("tools.merge.merge_button")),1)]),_:1},8,["disabled"])):V("",!0)],64)):V("",!0),e(o).isComplete.value?(_(),I("div",Vt,[s("div",Ot,[n(b,{icon:e(Ye),class:"h-5 w-5 text-rose-600 dar
3k:text-rose-400"},null,8,["icon"]),s("span",Rt,l(e(t)("tools.merge.merge_complete")),1)]),s("div",Dt,[s("span",null,l(e(f)("tools.merge.files_total",e(o).files.value.length,{count:e(o).files.value.length,size:e(o).totalInputSize.value})),1),n(b,{icon:e(et),class:"h-3.5 w-3.5"},null,8,["icon"]),s("span",jt,l(e(o).outputFileSize.value),1)]),s("div",Ut,[n(e(R),{class:"flex-1",onClick:r[3]||(r[3]=u=>e(o).downloadOutput())},{default:C(()=>[n(b,{icon:e(tt),class:"me-2 h-4 w-4"},null,8,["icon"]),O(" "+l(e(t)("tools.merge.download_mp4")),1)]),_:1}),n(e(R),{variant:"outline",onClick:r[4]||(r[4]=u=>Z())},{default:C(()=>[O(l(e(t)("tools.merge.merge_more")),1)]),_:1})])])):V("",!0),e(o).error.value?(_(),I("div",Bt,l(e(o).error.value),1)):V("",!0),s("div",Nt,[n(b,{icon:e(we),class:"h-3 w-3"},null,8,["icon"]),s("span",null,l(e(t)("tools.shared.privacy_note")),1)])])):(_(),I("div",kt,[s("p",bt,l(e(t)("tools.merge.loading")),1)]))])])]),n(He,{steps:J}),n(Re,{title:e(t)("tools.merge.why.title"),subtitle:e(t)("tools.shared.why_in_browser_subtitle"),features:Q},null,8,["title","subtitle"]),n(De,{faqs:Y}),n(je,{title:e(t)("tools.merge.cta.title"),description:e(t)("tools.merge.cta.description"),"primary-link":{label:e(t)("tools.merge.cta.primary_label"),href:"/tools/trim"},"secondary-link":{label:e(t)("tools.merge.cta.secondary_label"),href:"/tools/compress"}},null,8,["title","description","primary-link","secondary-link"]),n(Ue,{open:e(i).showAuthModal.value,onClose:r[5]||(r[5]=u=>e(i).showAuthModal.value=!1),onAuthenticated:r[6]||(r[6]=u=>e(i).onAuthenticated())},null,8,["open"]),n(Be,{open:e(i).showUpgradeModal.value,"trial-enabled":e(i).trialEnabled.value,tool:"merge_videos","access-mode":e(i).accessMode.value,onClose:r[7]||(r[7]=u=>e(i).showUpgradeModal.value=!1)},null,8,["open","trial-enabled","access-mode"])],64))}});export{os as default};

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.