diff --git a/index.html b/index.html index d4b1bd7..779802b 100644 --- a/index.html +++ b/index.html @@ -10,8 +10,8 @@ - - + +
diff --git a/static/index-5fJ5DpTd.js b/static/index-5fJ5DpTd.js deleted file mode 100644 index dd4d895..0000000 --- a/static/index-5fJ5DpTd.js +++ /dev/null @@ -1,818 +0,0 @@ -(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))l(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&l(o)}).observe(document,{childList:!0,subtree:!0});function s(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function l(i){if(i.ep)return;i.ep=!0;const r=s(i);fetch(i.href,r)}})();/** -* @vue/shared v3.5.5 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function el(t){const e=Object.create(null);for(const s of t.split(","))e[s]=1;return s=>s in e}const H={},ce=[],Ft=()=>{},Tr=()=>!1,ps=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),sl=t=>t.startsWith("onUpdate:"),nt=Object.assign,ll=(t,e)=>{const s=t.indexOf(e);s>-1&&t.splice(s,1)},Ar=Object.prototype.hasOwnProperty,L=(t,e)=>Ar.call(t,e),k=Array.isArray,he=t=>Ue(t)==="[object Map]",Te=t=>Ue(t)==="[object Set]",Sl=t=>Ue(t)==="[object Date]",N=t=>typeof t=="function",Y=t=>typeof t=="string",Lt=t=>typeof t=="symbol",B=t=>t!==null&&typeof t=="object",_i=t=>(B(t)||N(t))&&N(t.then)&&N(t.catch),xi=Object.prototype.toString,Ue=t=>xi.call(t),Cr=t=>Ue(t).slice(8,-1),ci=t=>Ue(t)==="[object Object]",il=t=>Y(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Pe=el(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),bs=t=>{const e=Object.create(null);return s=>e[s]||(e[s]=t(s))},Sr=/-(\w)/g,Rt=bs(t=>t.replace(Sr,(e,s)=>s?s.toUpperCase():"")),kr=/\B([A-Z])/g,fe=bs(t=>t.replace(kr,"-$1").toLowerCase()),vs=bs(t=>t.charAt(0).toUpperCase()+t.slice(1)),Ps=bs(t=>t?`on${vs(t)}`:""),de=(t,e)=>!Object.is(t,e),ns=(t,...e)=>{for(let s=0;s{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:l,value:s})},fs=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let kl;const pi=()=>kl||(kl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ys(t){if(k(t)){const e={};for(let s=0;s{if(s){const l=s.split(Rr);l.length>1&&(e[l[0].trim()]=l[1].trim())}}),e}function Ct(t){let e="";if(Y(t))e=t;else if(k(t))for(let s=0;sGe(s,e))}const vi=t=>!!(t&&t.__v_isRef===!0),ct=t=>Y(t)?t:t==null?"":k(t)||B(t)&&(t.toString===xi||!N(t.toString))?vi(t)?ct(t.value):JSON.stringify(t,yi,2):String(t),yi=(t,e)=>vi(e)?yi(t,e.value):he(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((s,[l,i],r)=>(s[Ns(l,r)+" =>"]=i,s),{})}:Te(e)?{[`Set(${e.size})`]:[...e.values()].map(s=>Ns(s))}:Lt(e)?Ns(e):B(e)&&!k(e)&&!ci(e)?String(e):e,Ns=(t,e="")=>{var s;return Lt(t)?`Symbol(${(s=t.description)!=null?s:e})`:t};/** -* @vue/reactivity v3.5.5 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let yt;class qr{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=yt,!e&&yt&&(this.index=(yt.scopes||(yt.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,s;if(this.scopes)for(e=0,s=this.scopes.length;e0)return;let t;for(;Ne;){let e=Ne;for(Ne=void 0;e;){const s=e.nextEffect;if(e.nextEffect=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(l){t||(t=l)}e=s}}if(t)throw t}function Ti(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function Ai(t){let e,s=t.depsTail,l=s;for(;l;){const i=l.prevDep;l.version===-1?(l===s&&(s=i),ul(l),Fr(l)):e=l,l.dep.activeLink=l.prevActiveLink,l.prevActiveLink=void 0,l=i}t.deps=e,t.depsTail=s}function Hs(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&Ci(e.dep.computed)||e.dep.version!==e.version)return!0;return!!t._dirty}function Ci(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===Ie))return;t.globalVersion=Ie;const e=t.dep;if(t.flags|=2,e.version>0&&!t.isSSR&&!Hs(t)){t.flags&=-3;return}const s=z,l=kt;z=t,kt=!0;try{Ti(t);const i=t.fn(t._value);(e.version===0||de(i,t._value))&&(t._value=i,e.version++)}catch(i){throw e.version++,i}finally{z=s,kt=l,Ai(t),t.flags&=-3}}function ul(t){const{dep:e,prevSub:s,nextSub:l}=t;if(s&&(s.nextSub=l,t.prevSub=void 0),l&&(l.prevSub=s,t.nextSub=void 0),e.subs===t&&(e.subs=s),!e.subs&&e.computed){e.computed.flags&=-5;for(let i=e.computed.deps;i;i=i.nextDep)ul(i)}}function Fr(t){const{prevDep:e,nextDep:s}=t;e&&(e.nextDep=s,t.prevDep=void 0),s&&(s.prevDep=e,t.nextDep=void 0)}let kt=!0;const Si=[];function te(){Si.push(kt),kt=!1}function ee(){const t=Si.pop();kt=t===void 0?!0:t}function Ol(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const s=z;z=void 0;try{e()}finally{z=s}}}let Ie=0;class Lr{constructor(e,s){this.sub=e,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ki{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0}track(e){if(!z||!kt||z===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==z)s=this.activeLink=new Lr(z,this),z.deps?(s.prevDep=z.depsTail,z.depsTail.nextDep=s,z.depsTail=s):z.deps=z.depsTail=s,z.flags&4&&Oi(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const l=s.nextDep;l.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=l),s.prevDep=z.depsTail,s.nextDep=void 0,z.depsTail.nextDep=s,z.depsTail=s,z.deps===s&&(z.deps=l)}return s}trigger(e){this.version++,Ie++,this.notify(e)}notify(e){ol();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()}finally{nl()}}}function Oi(t){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let l=e.deps;l;l=l.nextDep)Oi(l)}const s=t.dep.subs;s!==t&&(t.prevSub=s,s&&(s.nextSub=t)),t.dep.subs=t}const Us=new WeakMap,ue=Symbol(""),Gs=Symbol(""),Fe=Symbol("");function ut(t,e,s){if(kt&&z){let l=Us.get(t);l||Us.set(t,l=new Map);let i=l.get(s);i||l.set(s,i=new ki),i.track()}}function Ut(t,e,s,l,i,r){const o=Us.get(t);if(!o){Ie++;return}const n=u=>{u&&u.trigger()};if(ol(),e==="clear")o.forEach(n);else{const u=k(t),g=u&&il(s);if(u&&s==="length"){const m=Number(l);o.forEach((x,v)=>{(v==="length"||v===Fe||!Lt(v)&&v>=m)&&n(x)})}else switch(s!==void 0&&n(o.get(s)),g&&n(o.get(Fe)),e){case"add":u?g&&n(o.get("length")):(n(o.get(ue)),he(t)&&n(o.get(Gs)));break;case"delete":u||(n(o.get(ue)),he(t)&&n(o.get(Gs)));break;case"set":he(t)&&n(o.get(ue));break}}nl()}function _e(t){const e=V(t);return e===t?e:(ut(e,"iterate",Fe),Ot(t)?e:e.map(xt))}function ws(t){return ut(t=V(t),"iterate",Fe),t}const Mr={__proto__:null,[Symbol.iterator](){return $s(this,Symbol.iterator,xt)},concat(...t){return _e(this).concat(...t.map(e=>k(e)?_e(e):e))},entries(){return $s(this,"entries",t=>(t[1]=xt(t[1]),t))},every(t,e){return Vt(this,"every",t,e,void 0,arguments)},filter(t,e){return Vt(this,"filter",t,e,s=>s.map(xt),arguments)},find(t,e){return Vt(this,"find",t,e,xt,arguments)},findIndex(t,e){return Vt(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Vt(this,"findLast",t,e,xt,arguments)},findLastIndex(t,e){return Vt(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Vt(this,"forEach",t,e,void 0,arguments)},includes(...t){return qs(this,"includes",t)},indexOf(...t){return qs(this,"indexOf",t)},join(t){return _e(this).join(t)},lastIndexOf(...t){return qs(this,"lastIndexOf",t)},map(t,e){return Vt(this,"map",t,e,void 0,arguments)},pop(){return Oe(this,"pop")},push(...t){return Oe(this,"push",t)},reduce(t,...e){return Rl(this,"reduce",t,e)},reduceRight(t,...e){return Rl(this,"reduceRight",t,e)},shift(){return Oe(this,"shift")},some(t,e){return Vt(this,"some",t,e,void 0,arguments)},splice(...t){return Oe(this,"splice",t)},toReversed(){return _e(this).toReversed()},toSorted(t){return _e(this).toSorted(t)},toSpliced(...t){return _e(this).toSpliced(...t)},unshift(...t){return Oe(this,"unshift",t)},values(){return $s(this,"values",xt)}};function $s(t,e,s){const l=ws(t),i=l[e]();return l!==t&&!Ot(t)&&(i._next=i.next,i.next=()=>{const r=i._next();return r.value&&(r.value=s(r.value)),r}),i}const Vr=Array.prototype;function Vt(t,e,s,l,i,r){const o=ws(t),n=o!==t&&!Ot(t),u=o[e];if(u!==Vr[e]){const x=u.apply(t,r);return n?xt(x):x}let g=s;o!==t&&(n?g=function(x,v){return s.call(this,xt(x),v,t)}:s.length>2&&(g=function(x,v){return s.call(this,x,v,t)}));const m=u.call(o,g,l);return n&&i?i(m):m}function Rl(t,e,s,l){const i=ws(t);let r=s;return i!==t&&(Ot(t)?s.length>3&&(r=function(o,n,u){return s.call(this,o,n,u,t)}):r=function(o,n,u){return s.call(this,o,xt(n),u,t)}),i[e](r,...l)}function qs(t,e,s){const l=V(t);ut(l,"iterate",Fe);const i=l[e](...s);return(i===-1||i===!1)&&gl(s[0])?(s[0]=V(s[0]),l[e](...s)):i}function Oe(t,e,s=[]){te(),ol();const l=V(t)[e].apply(t,s);return nl(),ee(),l}const zr=el("__proto__,__v_isRef,__isVue"),Ri=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Lt));function Hr(t){Lt(t)||(t=String(t));const e=V(this);return ut(e,"has",t),e.hasOwnProperty(t)}class ji{constructor(e=!1,s=!1){this._isReadonly=e,this._isShallow=s}get(e,s,l){const i=this._isReadonly,r=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return r;if(s==="__v_raw")return l===(i?r?so:$i:r?Di:Ni).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(l)?e:void 0;const o=k(e);if(!i){let u;if(o&&(u=Mr[s]))return u;if(s==="hasOwnProperty")return Hr}const n=Reflect.get(e,s,gt(e)?e:l);return(Lt(s)?Ri.has(s):zr(s))||(i||ut(e,"get",s),r)?n:gt(n)?o&&il(s)?n:n.value:B(n)?i?qi(n):Be(n):n}}class Pi extends ji{constructor(e=!1){super(!1,e)}set(e,s,l,i){let r=e[s];if(!this._isShallow){const u=ye(r);if(!Ot(l)&&!ye(l)&&(r=V(r),l=V(l)),!k(e)&>(r)&&!gt(l))return u?!1:(r.value=l,!0)}const o=k(e)&&il(s)?Number(s)t,Es=t=>Reflect.getPrototypeOf(t);function ts(t,e,s=!1,l=!1){t=t.__v_raw;const i=V(t),r=V(e);s||(de(e,r)&&ut(i,"get",e),ut(i,"get",r));const{has:o}=Es(i),n=l?al:s?fl:xt;if(o.call(i,e))return n(t.get(e));if(o.call(i,r))return n(t.get(r));t!==i&&t.get(e)}function es(t,e=!1){const s=this.__v_raw,l=V(s),i=V(t);return e||(de(t,i)&&ut(l,"has",t),ut(l,"has",i)),t===i?s.has(t):s.has(t)||s.has(i)}function ss(t,e=!1){return t=t.__v_raw,!e&&ut(V(t),"iterate",ue),Reflect.get(t,"size",t)}function jl(t,e=!1){!e&&!Ot(t)&&!ye(t)&&(t=V(t));const s=V(this);return Es(s).has.call(s,t)||(s.add(t),Ut(s,"add",t,t)),this}function Pl(t,e,s=!1){!s&&!Ot(e)&&!ye(e)&&(e=V(e));const l=V(this),{has:i,get:r}=Es(l);let o=i.call(l,t);o||(t=V(t),o=i.call(l,t));const n=r.call(l,t);return l.set(t,e),o?de(e,n)&&Ut(l,"set",t,e):Ut(l,"add",t,e),this}function Nl(t){const e=V(this),{has:s,get:l}=Es(e);let i=s.call(e,t);i||(t=V(t),i=s.call(e,t)),l&&l.call(e,t);const r=e.delete(t);return i&&Ut(e,"delete",t,void 0),r}function Dl(){const t=V(this),e=t.size!==0,s=t.clear();return e&&Ut(t,"clear",void 0,void 0),s}function ls(t,e){return function(l,i){const r=this,o=r.__v_raw,n=V(o),u=e?al:t?fl:xt;return!t&&ut(n,"iterate",ue),o.forEach((g,m)=>l.call(i,u(g),u(m),r))}}function is(t,e,s){return function(...l){const i=this.__v_raw,r=V(i),o=he(r),n=t==="entries"||t===Symbol.iterator&&o,u=t==="keys"&&o,g=i[t](...l),m=s?al:e?fl:xt;return!e&&ut(r,"iterate",u?Gs:ue),{next(){const{value:x,done:v}=g.next();return v?{value:x,done:v}:{value:n?[m(x[0]),m(x[1])]:m(x),done:v}},[Symbol.iterator](){return this}}}}function Jt(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function Kr(){const t={get(r){return ts(this,r)},get size(){return ss(this)},has:es,add:jl,set:Pl,delete:Nl,clear:Dl,forEach:ls(!1,!1)},e={get(r){return ts(this,r,!1,!0)},get size(){return ss(this)},has:es,add(r){return jl.call(this,r,!0)},set(r,o){return Pl.call(this,r,o,!0)},delete:Nl,clear:Dl,forEach:ls(!1,!0)},s={get(r){return ts(this,r,!0)},get size(){return ss(this,!0)},has(r){return es.call(this,r,!0)},add:Jt("add"),set:Jt("set"),delete:Jt("delete"),clear:Jt("clear"),forEach:ls(!0,!1)},l={get(r){return ts(this,r,!0,!0)},get size(){return ss(this,!0)},has(r){return es.call(this,r,!0)},add:Jt("add"),set:Jt("set"),delete:Jt("delete"),clear:Jt("clear"),forEach:ls(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{t[r]=is(r,!1,!1),s[r]=is(r,!0,!1),e[r]=is(r,!1,!0),l[r]=is(r,!0,!0)}),[t,s,e,l]}const[Jr,Qr,Yr,Xr]=Kr();function dl(t,e){const s=e?t?Xr:Yr:t?Qr:Jr;return(l,i,r)=>i==="__v_isReactive"?!t:i==="__v_isReadonly"?t:i==="__v_raw"?l:Reflect.get(L(s,i)&&i in l?s:l,i,r)}const Zr={get:dl(!1,!1)},to={get:dl(!1,!0)},eo={get:dl(!0,!1)};const Ni=new WeakMap,Di=new WeakMap,$i=new WeakMap,so=new WeakMap;function lo(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function io(t){return t.__v_skip||!Object.isExtensible(t)?0:lo(Cr(t))}function Be(t){return ye(t)?t:ml(t,!1,Gr,Zr,Ni)}function ro(t){return ml(t,!1,Wr,to,Di)}function qi(t){return ml(t,!0,Br,eo,$i)}function ml(t,e,s,l,i){if(!B(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const r=i.get(t);if(r)return r;const o=io(t);if(o===0)return t;const n=new Proxy(t,o===2?l:s);return i.set(t,n),n}function pe(t){return ye(t)?pe(t.__v_raw):!!(t&&t.__v_isReactive)}function ye(t){return!!(t&&t.__v_isReadonly)}function Ot(t){return!!(t&&t.__v_isShallow)}function gl(t){return t?!!t.__v_raw:!1}function V(t){const e=t&&t.__v_raw;return e?V(e):t}function oo(t){return!L(t,"__v_skip")&&Object.isExtensible(t)&&hi(t,"__v_skip",!0),t}const xt=t=>B(t)?Be(t):t,fl=t=>B(t)?qi(t):t;function gt(t){return t?t.__v_isRef===!0:!1}function no(t){return gt(t)?t.value:t}const uo={get:(t,e,s)=>e==="__v_raw"?t:no(Reflect.get(t,e,s)),set:(t,e,s,l)=>{const i=t[e];return gt(i)&&!gt(s)?(i.value=s,!0):Reflect.set(t,e,s,l)}};function Ii(t){return pe(t)?t:new Proxy(t,uo)}class ao{constructor(e,s,l){this.fn=e,this.setter=s,this._value=void 0,this.dep=new ki(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ie-1,this.effect=this,this.__v_isReadonly=!s,this.isSSR=l}notify(){this.flags|=16,z!==this&&this.dep.notify()}get value(){const e=this.dep.track();return Ci(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function mo(t,e,s=!1){let l,i;return N(t)?l=t:(l=t.get,i=t.set),new ao(l,i,s)}const rs={},_s=new WeakMap;let ne;function go(t,e=!1,s=ne){if(s){let l=_s.get(s);l||_s.set(s,l=[]),l.push(t)}}function fo(t,e,s=H){const{immediate:l,deep:i,once:r,scheduler:o,augmentJob:n,call:u}=s,g=R=>i?R:Ot(R)||i===!1||i===0?Ht(R,1):Ht(R);let m,x,v,O,$=!1,P=!1;if(gt(t)?(x=()=>t.value,$=Ot(t)):pe(t)?(x=()=>g(t),$=!0):k(t)?(P=!0,$=t.some(R=>pe(R)||Ot(R)),x=()=>t.map(R=>{if(gt(R))return R.value;if(pe(R))return g(R);if(N(R))return u?u(R,2):R()})):N(t)?e?x=u?()=>u(t,2):t:x=()=>{if(v){te();try{v()}finally{ee()}}const R=ne;ne=m;try{return u?u(t,3,[O]):t(O)}finally{ne=R}}:x=Ft,e&&i){const R=x,Z=i===!0?1/0:i;x=()=>Ht(R(),Z)}const X=Ir(),F=()=>{m.stop(),X&&ll(X.effects,m)};if(r)if(e){const R=e;e=(...Z)=>{R(...Z),F()}}else{const R=x;x=()=>{R(),F()}}let J=P?new Array(t.length).fill(rs):rs;const Q=R=>{if(!(!(m.flags&1)||!m.dirty&&!R))if(e){const Z=m.run();if(i||$||(P?Z.some((Wt,jt)=>de(Wt,J[jt])):de(Z,J))){v&&v();const Wt=ne;ne=m;try{const jt=[Z,J===rs?void 0:P&&J[0]===rs?[]:J,O];u?u(e,3,jt):e(...jt),J=Z}finally{ne=Wt}}}else m.run()};return n&&n(Q),m=new wi(x),m.scheduler=o?()=>o(Q,!1):Q,O=R=>go(R,!1,m),v=m.onStop=()=>{const R=_s.get(m);if(R){if(u)u(R,4);else for(const Z of R)Z();_s.delete(m)}},e?l?Q(!0):J=m.run():o?o(Q.bind(null,!0),!0):m.run(),F.pause=m.pause.bind(m),F.resume=m.resume.bind(m),F.stop=F,F}function Ht(t,e=1/0,s){if(e<=0||!B(t)||t.__v_skip||(s=s||new Set,s.has(t)))return t;if(s.add(t),e--,gt(t))Ht(t.value,e,s);else if(k(t))for(let l=0;l{Ht(l,e,s)});else if(ci(t)){for(const l in t)Ht(t[l],e,s);for(const l of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,l)&&Ht(t[l],e,s)}return t}/** -* @vue/runtime-core v3.5.5 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function We(t,e,s,l){try{return l?t(...l):t()}catch(i){Ts(i,e,s)}}function Mt(t,e,s,l){if(N(t)){const i=We(t,e,s,l);return i&&_i(i)&&i.catch(r=>{Ts(r,e,s)}),i}if(k(t)){const i=[];for(let r=0;r>>1,i=mt[l],r=Me(i);r=Me(s)?mt.push(t):mt.splice(xo(e),0,t),t.flags|=1,Mi()}}function Mi(){!Le&&!Bs&&(Bs=!0,_l=Fi.then(zi))}function co(t){k(t)?be.push(...t):Yt&&t.id===-1?Yt.splice(xe+1,0,t):t.flags&1||(be.push(t),t.flags|=1),Mi()}function $l(t,e,s=Le?$t+1:0){for(;sMe(s)-Me(l));if(be.length=0,Yt){Yt.push(...e);return}for(Yt=e,xe=0;xet.id==null?t.flags&2?-1:1/0:t.id;function zi(t){Bs=!1,Le=!0;try{for($t=0;$t{l._d&&Ul(-1);const r=xs(e);let o;try{o=t(...i)}finally{xs(r),l._d&&Ul(1)}return o};return l._n=!0,l._c=!0,l._d=!0,l}function it(t,e){if(wt===null)return t;const s=Os(wt),l=t.dirs||(t.dirs=[]);for(let i=0;it.__isTeleport;function cl(t,e){t.shapeFlag&6&&t.component?(t.transition=e,cl(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function Ui(t){t.ids=[t.ids[0]+t.ids[2]+++"-",0,0]}function Ws(t,e,s,l,i=!1){if(k(t)){t.forEach(($,P)=>Ws($,e&&(k(e)?e[P]:e),s,l,i));return}if(De(l)&&!i)return;const r=l.shapeFlag&4?Os(l.component):l.el,o=i?null:r,{i:n,r:u}=t,g=e&&e.r,m=n.refs===H?n.refs={}:n.refs,x=n.setupState,v=V(x),O=x===H?()=>!1:$=>L(v,$);if(g!=null&&g!==u&&(Y(g)?(m[g]=null,O(g)&&(x[g]=null)):gt(g)&&(g.value=null)),N(u))We(u,n,12,[o,m]);else{const $=Y(u),P=gt(u);if($||P){const X=()=>{if(t.f){const F=$?O(u)?x[u]:m[u]:u.value;i?k(F)&&ll(F,r):k(F)?F.includes(r)||F.push(r):$?(m[u]=[r],O(u)&&(x[u]=m[u])):(u.value=[r],t.k&&(m[t.k]=u.value))}else $?(m[u]=o,O(u)&&(x[u]=o)):P&&(u.value=o,t.k&&(m[t.k]=o))};o?(X.id=-1,vt(X,s)):X()}}}const De=t=>!!t.type.__asyncLoader,Gi=t=>t.type.__isKeepAlive;function vo(t,e){Bi(t,"a",e)}function yo(t,e){Bi(t,"da",e)}function Bi(t,e,s=rt){const l=t.__wdc||(t.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return t()});if(As(e,l,s),s){let i=s.parent;for(;i&&i.parent;)Gi(i.parent.vnode)&&wo(l,e,s,i),i=i.parent}}function wo(t,e,s,l){const i=As(e,t,l,!0);Wi(()=>{ll(l[e],i)},s)}function As(t,e,s=rt,l=!1){if(s){const i=s[t]||(s[t]=[]),r=e.__weh||(e.__weh=(...o)=>{te();const n=Ke(s),u=Mt(e,s,t,o);return n(),ee(),u});return l?i.unshift(r):i.push(r),r}}const Bt=t=>(e,s=rt)=>{(!ks||t==="sp")&&As(t,(...l)=>e(...l),s)},Eo=Bt("bm"),To=Bt("m"),Ao=Bt("bu"),Co=Bt("u"),So=Bt("bum"),Wi=Bt("um"),ko=Bt("sp"),Oo=Bt("rtg"),Ro=Bt("rtc");function jo(t,e=rt){As("ec",t,e)}const Ki="components";function _t(t,e){return No(Ki,t,!0,e)||t}const Po=Symbol.for("v-ndc");function No(t,e,s=!0,l=!1){const i=wt||rt;if(i){const r=i.type;if(t===Ki){const n=En(r,!1);if(n&&(n===e||n===Rt(e)||n===vs(Rt(e))))return r}const o=ql(i[t]||r[t],e)||ql(i.appContext[t],e);return!o&&l?r:o}}function ql(t,e){return t&&(t[e]||t[Rt(e)]||t[vs(Rt(e))])}function ae(t,e,s,l){let i;const r=s,o=k(t);if(o||Y(t)){const n=o&&pe(t);let u=!1;n&&(u=!Ot(t),t=ws(t)),i=new Array(t.length);for(let g=0,m=t.length;ge(n,u,void 0,r));else{const n=Object.keys(t);i=new Array(n.length);for(let u=0,g=n.length;ut?_r(t)?Os(t):Ks(t.parent):null,$e=nt(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Ks(t.parent),$root:t=>Ks(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>hl(t),$forceUpdate:t=>t.f||(t.f=()=>{xl(t.update)}),$nextTick:t=>t.n||(t.n=Li.bind(t.proxy)),$watch:t=>en.bind(t)}),Is=(t,e)=>t!==H&&!t.__isScriptSetup&&L(t,e),Do={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:s,setupState:l,data:i,props:r,accessCache:o,type:n,appContext:u}=t;let g;if(e[0]!=="$"){const O=o[e];if(O!==void 0)switch(O){case 1:return l[e];case 2:return i[e];case 4:return s[e];case 3:return r[e]}else{if(Is(l,e))return o[e]=1,l[e];if(i!==H&&L(i,e))return o[e]=2,i[e];if((g=t.propsOptions[0])&&L(g,e))return o[e]=3,r[e];if(s!==H&&L(s,e))return o[e]=4,s[e];Js&&(o[e]=0)}}const m=$e[e];let x,v;if(m)return e==="$attrs"&&ut(t.attrs,"get",""),m(t);if((x=n.__cssModules)&&(x=x[e]))return x;if(s!==H&&L(s,e))return o[e]=4,s[e];if(v=u.config.globalProperties,L(v,e))return v[e]},set({_:t},e,s){const{data:l,setupState:i,ctx:r}=t;return Is(i,e)?(i[e]=s,!0):l!==H&&L(l,e)?(l[e]=s,!0):L(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(r[e]=s,!0)},has({_:{data:t,setupState:e,accessCache:s,ctx:l,appContext:i,propsOptions:r}},o){let n;return!!s[o]||t!==H&&L(t,o)||Is(e,o)||(n=r[0])&&L(n,o)||L(l,o)||L($e,o)||L(i.config.globalProperties,o)},defineProperty(t,e,s){return s.get!=null?t._.accessCache[e]=0:L(s,"value")&&this.set(t,e,s.value,null),Reflect.defineProperty(t,e,s)}};function Il(t){return k(t)?t.reduce((e,s)=>(e[s]=null,e),{}):t}let Js=!0;function $o(t){const e=hl(t),s=t.proxy,l=t.ctx;Js=!1,e.beforeCreate&&Fl(e.beforeCreate,t,"bc");const{data:i,computed:r,methods:o,watch:n,provide:u,inject:g,created:m,beforeMount:x,mounted:v,beforeUpdate:O,updated:$,activated:P,deactivated:X,beforeDestroy:F,beforeUnmount:J,destroyed:Q,unmounted:R,render:Z,renderTracked:Wt,renderTriggered:jt,errorCaptured:Kt,serverPrefetch:Je,expose:se,inheritAttrs:Ae,components:Qe,directives:Ye,filters:Rs}=e;if(g&&qo(g,l,null),o)for(const W in o){const U=o[W];N(U)&&(l[W]=U.bind(s))}if(i){const W=i.call(s,s);B(W)&&(t.data=Be(W))}if(Js=!0,r)for(const W in r){const U=r[W],le=N(U)?U.bind(s,s):N(U.get)?U.get.bind(s,s):Ft,Xe=!N(U)&&N(U.set)?U.set.bind(s):Ft,ie=An({get:le,set:Xe});Object.defineProperty(l,W,{enumerable:!0,configurable:!0,get:()=>ie.value,set:Pt=>ie.value=Pt})}if(n)for(const W in n)Ji(n[W],l,s,W);if(u){const W=N(u)?u.call(s):u;Reflect.ownKeys(W).forEach(U=>{zo(U,W[U])})}m&&Fl(m,t,"c");function at(W,U){k(U)?U.forEach(le=>W(le.bind(s))):U&&W(U.bind(s))}if(at(Eo,x),at(To,v),at(Ao,O),at(Co,$),at(vo,P),at(yo,X),at(jo,Kt),at(Ro,Wt),at(Oo,jt),at(So,J),at(Wi,R),at(ko,Je),k(se))if(se.length){const W=t.exposed||(t.exposed={});se.forEach(U=>{Object.defineProperty(W,U,{get:()=>s[U],set:le=>s[U]=le})})}else t.exposed||(t.exposed={});Z&&t.render===Ft&&(t.render=Z),Ae!=null&&(t.inheritAttrs=Ae),Qe&&(t.components=Qe),Ye&&(t.directives=Ye),Je&&Ui(t)}function qo(t,e,s=Ft){k(t)&&(t=Qs(t));for(const l in t){const i=t[l];let r;B(i)?"default"in i?r=us(i.from||l,i.default,!0):r=us(i.from||l):r=us(i),gt(r)?Object.defineProperty(e,l,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):e[l]=r}}function Fl(t,e,s){Mt(k(t)?t.map(l=>l.bind(e.proxy)):t.bind(e.proxy),e,s)}function Ji(t,e,s,l){let i=l.includes(".")?ar(s,l):()=>s[l];if(Y(t)){const r=e[t];N(r)&&as(i,r)}else if(N(t))as(i,t.bind(s));else if(B(t))if(k(t))t.forEach(r=>Ji(r,e,s,l));else{const r=N(t.handler)?t.handler.bind(s):e[t.handler];N(r)&&as(i,r,t)}}function hl(t){const e=t.type,{mixins:s,extends:l}=e,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=t.appContext,n=r.get(e);let u;return n?u=n:!i.length&&!s&&!l?u=e:(u={},i.length&&i.forEach(g=>cs(u,g,o,!0)),cs(u,e,o)),B(e)&&r.set(e,u),u}function cs(t,e,s,l=!1){const{mixins:i,extends:r}=e;r&&cs(t,r,s,!0),i&&i.forEach(o=>cs(t,o,s,!0));for(const o in e)if(!(l&&o==="expose")){const n=Io[o]||s&&s[o];t[o]=n?n(t[o],e[o]):e[o]}return t}const Io={data:Ll,props:Ml,emits:Ml,methods:je,computed:je,beforeCreate:dt,created:dt,beforeMount:dt,mounted:dt,beforeUpdate:dt,updated:dt,beforeDestroy:dt,beforeUnmount:dt,destroyed:dt,unmounted:dt,activated:dt,deactivated:dt,errorCaptured:dt,serverPrefetch:dt,components:je,directives:je,watch:Lo,provide:Ll,inject:Fo};function Ll(t,e){return e?t?function(){return nt(N(t)?t.call(this,this):t,N(e)?e.call(this,this):e)}:e:t}function Fo(t,e){return je(Qs(t),Qs(e))}function Qs(t){if(k(t)){const e={};for(let s=0;s1)return s&&N(e)?e.call(l&&l.proxy):e}}const Yi={},Xi=()=>Object.create(Yi),Zi=t=>Object.getPrototypeOf(t)===Yi;function Ho(t,e,s,l=!1){const i={},r=Xi();t.propsDefaults=Object.create(null),tr(t,e,i,r);for(const o in t.propsOptions[0])o in i||(i[o]=void 0);s?t.props=l?i:ro(i):t.type.props?t.props=i:t.props=r,t.attrs=r}function Uo(t,e,s,l){const{props:i,attrs:r,vnode:{patchFlag:o}}=t,n=V(i),[u]=t.propsOptions;let g=!1;if((l||o>0)&&!(o&16)){if(o&8){const m=t.vnode.dynamicProps;for(let x=0;x{u=!0;const[v,O]=er(x,e,!0);nt(o,v),O&&n.push(...O)};!s&&e.mixins.length&&e.mixins.forEach(m),t.extends&&m(t.extends),t.mixins&&t.mixins.forEach(m)}if(!r&&!u)return B(t)&&l.set(t,ce),ce;if(k(r))for(let m=0;mt[0]==="_"||t==="$stable",pl=t=>k(t)?t.map(qt):[qt(t)],Bo=(t,e,s)=>{if(e._n)return e;const l=ho((...i)=>pl(e(...i)),s);return l._c=!1,l},lr=(t,e,s)=>{const l=t._ctx;for(const i in t){if(sr(i))continue;const r=t[i];if(N(r))e[i]=Bo(i,r,l);else if(r!=null){const o=pl(r);e[i]=()=>o}}},ir=(t,e)=>{const s=pl(e);t.slots.default=()=>s},rr=(t,e,s)=>{for(const l in e)(s||l!=="_")&&(t[l]=e[l])},Wo=(t,e,s)=>{const l=t.slots=Xi();if(t.vnode.shapeFlag&32){const i=e._;i?(rr(l,e,s),s&&hi(l,"_",i,!0)):lr(e,l)}else e&&ir(t,e)},Ko=(t,e,s)=>{const{vnode:l,slots:i}=t;let r=!0,o=H;if(l.shapeFlag&32){const n=e._;n?s&&n===1?r=!1:rr(i,e,s):(r=!e.$stable,lr(e,i)),o=e}else e&&(ir(t,e),o={default:1});if(r)for(const n in i)!sr(n)&&o[n]==null&&delete i[n]},vt=an;function Jo(t){return Qo(t)}function Qo(t,e){const s=pi();s.__VUE__=!0;const{insert:l,remove:i,patchProp:r,createElement:o,createText:n,createComment:u,setText:g,setElementText:m,parentNode:x,nextSibling:v,setScopeId:O=Ft,insertStaticContent:$}=t,P=(a,d,f,p=null,c=null,h=null,E=void 0,w=null,y=!!d.dynamicChildren)=>{if(a===d)return;a&&!Re(a,d)&&(p=Ze(a),Pt(a,c,h,!0),a=null),d.patchFlag===-2&&(y=!1,d.dynamicChildren=null);const{type:b,ref:S,shapeFlag:T}=d;switch(b){case Ss:X(a,d,f,p);break;case me:F(a,d,f,p);break;case ds:a==null&&J(d,f,p,E);break;case K:Qe(a,d,f,p,c,h,E,w,y);break;default:T&1?Z(a,d,f,p,c,h,E,w,y):T&6?Ye(a,d,f,p,c,h,E,w,y):(T&64||T&128)&&b.process(a,d,f,p,c,h,E,w,y,Se)}S!=null&&c&&Ws(S,a&&a.ref,h,d||a,!d)},X=(a,d,f,p)=>{if(a==null)l(d.el=n(d.children),f,p);else{const c=d.el=a.el;d.children!==a.children&&g(c,d.children)}},F=(a,d,f,p)=>{a==null?l(d.el=u(d.children||""),f,p):d.el=a.el},J=(a,d,f,p)=>{[a.el,a.anchor]=$(a.children,d,f,p,a.el,a.anchor)},Q=({el:a,anchor:d},f,p)=>{let c;for(;a&&a!==d;)c=v(a),l(a,f,p),a=c;l(d,f,p)},R=({el:a,anchor:d})=>{let f;for(;a&&a!==d;)f=v(a),i(a),a=f;i(d)},Z=(a,d,f,p,c,h,E,w,y)=>{d.type==="svg"?E="svg":d.type==="math"&&(E="mathml"),a==null?Wt(d,f,p,c,h,E,w,y):Je(a,d,c,h,E,w,y)},Wt=(a,d,f,p,c,h,E,w)=>{let y,b;const{props:S,shapeFlag:T,transition:C,dirs:j}=a;if(y=a.el=o(a.type,h,S&&S.is,S),T&8?m(y,a.children):T&16&&Kt(a.children,y,null,p,c,Fs(a,h),E,w),j&&re(a,null,p,"created"),jt(y,a,a.scopeId,E,p),S){for(const G in S)G!=="value"&&!Pe(G)&&r(y,G,null,S[G],h,p);"value"in S&&r(y,"value",null,S.value,h),(b=S.onVnodeBeforeMount)&&Dt(b,p,a)}j&&re(a,null,p,"beforeMount");const q=Yo(c,C);q&&C.beforeEnter(y),l(y,d,f),((b=S&&S.onVnodeMounted)||q||j)&&vt(()=>{b&&Dt(b,p,a),q&&C.enter(y),j&&re(a,null,p,"mounted")},c)},jt=(a,d,f,p,c)=>{if(f&&O(a,f),p)for(let h=0;h{for(let b=y;b{const w=d.el=a.el;let{patchFlag:y,dynamicChildren:b,dirs:S}=d;y|=a.patchFlag&16;const T=a.props||H,C=d.props||H;let j;if(f&&oe(f,!1),(j=C.onVnodeBeforeUpdate)&&Dt(j,f,d,a),S&&re(d,a,f,"beforeUpdate"),f&&oe(f,!0),(T.innerHTML&&C.innerHTML==null||T.textContent&&C.textContent==null)&&m(w,""),b?se(a.dynamicChildren,b,w,f,p,Fs(d,c),h):E||U(a,d,w,null,f,p,Fs(d,c),h,!1),y>0){if(y&16)Ae(w,T,C,f,c);else if(y&2&&T.class!==C.class&&r(w,"class",null,C.class,c),y&4&&r(w,"style",T.style,C.style,c),y&8){const q=d.dynamicProps;for(let G=0;G{j&&Dt(j,f,d,a),S&&re(d,a,f,"updated")},p)},se=(a,d,f,p,c,h,E)=>{for(let w=0;w{if(d!==f){if(d!==H)for(const h in d)!Pe(h)&&!(h in f)&&r(a,h,d[h],null,c,p);for(const h in f){if(Pe(h))continue;const E=f[h],w=d[h];E!==w&&h!=="value"&&r(a,h,w,E,c,p)}"value"in f&&r(a,"value",d.value,f.value,c)}},Qe=(a,d,f,p,c,h,E,w,y)=>{const b=d.el=a?a.el:n(""),S=d.anchor=a?a.anchor:n("");let{patchFlag:T,dynamicChildren:C,slotScopeIds:j}=d;j&&(w=w?w.concat(j):j),a==null?(l(b,f,p),l(S,f,p),Kt(d.children||[],f,S,c,h,E,w,y)):T>0&&T&64&&C&&a.dynamicChildren?(se(a.dynamicChildren,C,f,c,h,E,w),(d.key!=null||c&&d===c.subTree)&&or(a,d,!0)):U(a,d,f,S,c,h,E,w,y)},Ye=(a,d,f,p,c,h,E,w,y)=>{d.slotScopeIds=w,a==null?d.shapeFlag&512?c.ctx.activate(d,f,p,E,y):Rs(d,f,p,c,h,E,y):vl(a,d,y)},Rs=(a,d,f,p,c,h,E)=>{const w=a.component=pn(a,p,c);if(Gi(a)&&(w.ctx.renderer=Se),bn(w,!1,E),w.asyncDep){if(c&&c.registerDep(w,at,E),!a.el){const y=w.subTree=tt(me);F(null,y,d,f)}}else at(w,a,d,f,c,h,E)},vl=(a,d,f)=>{const p=d.component=a.component;if(nn(a,d,f))if(p.asyncDep&&!p.asyncResolved){W(p,d,f);return}else p.next=d,p.update();else d.el=a.el,p.vnode=d},at=(a,d,f,p,c,h,E)=>{const w=()=>{if(a.isMounted){let{next:T,bu:C,u:j,parent:q,vnode:G}=a;{const pt=nr(a);if(pt){T&&(T.el=G.el,W(a,T,E)),pt.asyncDep.then(()=>{a.isUnmounted||w()});return}}let M=T,ht;oe(a,!1),T?(T.el=G.el,W(a,T,E)):T=G,C&&ns(C),(ht=T.props&&T.props.onVnodeBeforeUpdate)&&Dt(ht,q,T,G),oe(a,!0);const lt=Ls(a),Tt=a.subTree;a.subTree=lt,P(Tt,lt,x(Tt.el),Ze(Tt),a,c,h),T.el=lt.el,M===null&&un(a,lt.el),j&&vt(j,c),(ht=T.props&&T.props.onVnodeUpdated)&&vt(()=>Dt(ht,q,T,G),c)}else{let T;const{el:C,props:j}=d,{bm:q,m:G,parent:M,root:ht,type:lt}=a,Tt=De(d);if(oe(a,!1),q&&ns(q),!Tt&&(T=j&&j.onVnodeBeforeMount)&&Dt(T,M,d),oe(a,!0),C&&Tl){const pt=()=>{a.subTree=Ls(a),Tl(C,a.subTree,a,c,null)};Tt&<.__asyncHydrate?lt.__asyncHydrate(C,a,pt):pt()}else{ht.ce&&ht.ce._injectChildStyle(lt);const pt=a.subTree=Ls(a);P(null,pt,f,p,a,c,h),d.el=pt.el}if(G&&vt(G,c),!Tt&&(T=j&&j.onVnodeMounted)){const pt=d;vt(()=>Dt(T,M,pt),c)}(d.shapeFlag&256||M&&De(M.vnode)&&M.vnode.shapeFlag&256)&&a.a&&vt(a.a,c),a.isMounted=!0,d=f=p=null}};a.scope.on();const y=a.effect=new wi(w);a.scope.off();const b=a.update=y.run.bind(y),S=a.job=y.runIfDirty.bind(y);S.i=a,S.id=a.uid,y.scheduler=()=>xl(S),oe(a,!0),b()},W=(a,d,f)=>{d.component=a;const p=a.vnode.props;a.vnode=d,a.next=null,Uo(a,d.props,p,f),Ko(a,d.children,f),te(),$l(a),ee()},U=(a,d,f,p,c,h,E,w,y=!1)=>{const b=a&&a.children,S=a?a.shapeFlag:0,T=d.children,{patchFlag:C,shapeFlag:j}=d;if(C>0){if(C&128){Xe(b,T,f,p,c,h,E,w,y);return}else if(C&256){le(b,T,f,p,c,h,E,w,y);return}}j&8?(S&16&&Ce(b,c,h),T!==b&&m(f,T)):S&16?j&16?Xe(b,T,f,p,c,h,E,w,y):Ce(b,c,h,!0):(S&8&&m(f,""),j&16&&Kt(T,f,p,c,h,E,w,y))},le=(a,d,f,p,c,h,E,w,y)=>{a=a||ce,d=d||ce;const b=a.length,S=d.length,T=Math.min(b,S);let C;for(C=0;CS?Ce(a,c,h,!0,!1,T):Kt(d,f,p,c,h,E,w,y,T)},Xe=(a,d,f,p,c,h,E,w,y)=>{let b=0;const S=d.length;let T=a.length-1,C=S-1;for(;b<=T&&b<=C;){const j=a[b],q=d[b]=y?Xt(d[b]):qt(d[b]);if(Re(j,q))P(j,q,f,null,c,h,E,w,y);else break;b++}for(;b<=T&&b<=C;){const j=a[T],q=d[C]=y?Xt(d[C]):qt(d[C]);if(Re(j,q))P(j,q,f,null,c,h,E,w,y);else break;T--,C--}if(b>T){if(b<=C){const j=C+1,q=jC)for(;b<=T;)Pt(a[b],c,h,!0),b++;else{const j=b,q=b,G=new Map;for(b=q;b<=C;b++){const bt=d[b]=y?Xt(d[b]):qt(d[b]);bt.key!=null&&G.set(bt.key,b)}let M,ht=0;const lt=C-q+1;let Tt=!1,pt=0;const ke=new Array(lt);for(b=0;b=lt){Pt(bt,c,h,!0);continue}let Nt;if(bt.key!=null)Nt=G.get(bt.key);else for(M=q;M<=C;M++)if(ke[M-q]===0&&Re(bt,d[M])){Nt=M;break}Nt===void 0?Pt(bt,c,h,!0):(ke[Nt-q]=b+1,Nt>=pt?pt=Nt:Tt=!0,P(bt,d[Nt],f,null,c,h,E,w,y),ht++)}const Al=Tt?Xo(ke):ce;for(M=Al.length-1,b=lt-1;b>=0;b--){const bt=q+b,Nt=d[bt],Cl=bt+1{const{el:h,type:E,transition:w,children:y,shapeFlag:b}=a;if(b&6){ie(a.component.subTree,d,f,p);return}if(b&128){a.suspense.move(d,f,p);return}if(b&64){E.move(a,d,f,Se);return}if(E===K){l(h,d,f);for(let T=0;Tw.enter(h),c);else{const{leave:T,delayLeave:C,afterLeave:j}=w,q=()=>l(h,d,f),G=()=>{T(h,()=>{q(),j&&j()})};C?C(h,q,G):G()}else l(h,d,f)},Pt=(a,d,f,p=!1,c=!1)=>{const{type:h,props:E,ref:w,children:y,dynamicChildren:b,shapeFlag:S,patchFlag:T,dirs:C,cacheIndex:j}=a;if(T===-2&&(c=!1),w!=null&&Ws(w,null,f,a,!0),j!=null&&(d.renderCache[j]=void 0),S&256){d.ctx.deactivate(a);return}const q=S&1&&C,G=!De(a);let M;if(G&&(M=E&&E.onVnodeBeforeUnmount)&&Dt(M,d,a),S&6)Er(a.component,f,p);else{if(S&128){a.suspense.unmount(f,p);return}q&&re(a,null,d,"beforeUnmount"),S&64?a.type.remove(a,d,f,Se,p):b&&!b.hasOnce&&(h!==K||T>0&&T&64)?Ce(b,d,f,!1,!0):(h===K&&T&384||!c&&S&16)&&Ce(y,d,f),p&&yl(a)}(G&&(M=E&&E.onVnodeUnmounted)||q)&&vt(()=>{M&&Dt(M,d,a),q&&re(a,null,d,"unmounted")},f)},yl=a=>{const{type:d,el:f,anchor:p,transition:c}=a;if(d===K){wr(f,p);return}if(d===ds){R(a);return}const h=()=>{i(f),c&&!c.persisted&&c.afterLeave&&c.afterLeave()};if(a.shapeFlag&1&&c&&!c.persisted){const{leave:E,delayLeave:w}=c,y=()=>E(f,h);w?w(a.el,h,y):y()}else h()},wr=(a,d)=>{let f;for(;a!==d;)f=v(a),i(a),a=f;i(d)},Er=(a,d,f)=>{const{bum:p,scope:c,job:h,subTree:E,um:w,m:y,a:b}=a;zl(y),zl(b),p&&ns(p),c.stop(),h&&(h.flags|=8,Pt(E,a,d,f)),w&&vt(w,d),vt(()=>{a.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},Ce=(a,d,f,p=!1,c=!1,h=0)=>{for(let E=h;E{if(a.shapeFlag&6)return Ze(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const d=v(a.anchor||a.el),f=d&&d[po];return f?v(f):d};let js=!1;const wl=(a,d,f)=>{a==null?d._vnode&&Pt(d._vnode,null,null,!0):P(d._vnode||null,a,d,null,null,null,f),d._vnode=a,js||(js=!0,$l(),Vi(),js=!1)},Se={p:P,um:Pt,m:ie,r:yl,mt:Rs,mc:Kt,pc:U,pbc:se,n:Ze,o:t};let El,Tl;return{render:wl,hydrate:El,createApp:Vo(wl,El)}}function Fs({type:t,props:e},s){return s==="svg"&&t==="foreignObject"||s==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:s}function oe({effect:t,job:e},s){s?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function Yo(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function or(t,e,s=!1){const l=t.children,i=e.children;if(k(l)&&k(i))for(let r=0;r>1,t[s[n]]0&&(e[l]=s[r-1]),s[r]=l)}}for(r=s.length,o=s[r-1];r-- >0;)s[r]=o,o=e[o];return s}function nr(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:nr(e)}function zl(t){if(t)for(let e=0;eus(Zo);function as(t,e,s){return ur(t,e,s)}function ur(t,e,s=H){const{immediate:l,deep:i,flush:r,once:o}=s,n=nt({},s);let u;if(ks)if(r==="sync"){const v=tn();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!e||l)n.once=!0;else return{stop:Ft,resume:Ft,pause:Ft};const g=rt;n.call=(v,O,$)=>Mt(v,g,O,$);let m=!1;r==="post"?n.scheduler=v=>{vt(v,g&&g.suspense)}:r!=="sync"&&(m=!0,n.scheduler=(v,O)=>{O?v():xl(v)}),n.augmentJob=v=>{e&&(v.flags|=4),m&&(v.flags|=2,g&&(v.id=g.uid,v.i=g))};const x=fo(t,e,n);return u&&u.push(x),x}function en(t,e,s){const l=this.proxy,i=Y(t)?t.includes(".")?ar(l,t):()=>l[t]:t.bind(l,l);let r;N(e)?r=e:(r=e.handler,s=e);const o=Ke(this),n=ur(i,r.bind(l),s);return o(),n}function ar(t,e){const s=e.split(".");return()=>{let l=t;for(let i=0;ie==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Rt(e)}Modifiers`]||t[`${fe(e)}Modifiers`];function ln(t,e,...s){if(t.isUnmounted)return;const l=t.vnode.props||H;let i=s;const r=e.startsWith("update:"),o=r&&sn(l,e.slice(7));o&&(o.trim&&(i=s.map(m=>Y(m)?m.trim():m)),o.number&&(i=s.map(fs)));let n,u=l[n=Ps(e)]||l[n=Ps(Rt(e))];!u&&r&&(u=l[n=Ps(fe(e))]),u&&Mt(u,t,6,i);const g=l[n+"Once"];if(g){if(!t.emitted)t.emitted={};else if(t.emitted[n])return;t.emitted[n]=!0,Mt(g,t,6,i)}}function dr(t,e,s=!1){const l=e.emitsCache,i=l.get(t);if(i!==void 0)return i;const r=t.emits;let o={},n=!1;if(!N(t)){const u=g=>{const m=dr(g,e,!0);m&&(n=!0,nt(o,m))};!s&&e.mixins.length&&e.mixins.forEach(u),t.extends&&u(t.extends),t.mixins&&t.mixins.forEach(u)}return!r&&!n?(B(t)&&l.set(t,null),null):(k(r)?r.forEach(u=>o[u]=null):nt(o,r),B(t)&&l.set(t,o),o)}function Cs(t,e){return!t||!ps(e)?!1:(e=e.slice(2).replace(/Once$/,""),L(t,e[0].toLowerCase()+e.slice(1))||L(t,fe(e))||L(t,e))}function Ls(t){const{type:e,vnode:s,proxy:l,withProxy:i,propsOptions:[r],slots:o,attrs:n,emit:u,render:g,renderCache:m,props:x,data:v,setupState:O,ctx:$,inheritAttrs:P}=t,X=xs(t);let F,J;try{if(s.shapeFlag&4){const R=i||l,Z=R;F=qt(g.call(Z,R,m,x,O,v,$)),J=n}else{const R=e;F=qt(R.length>1?R(x,{attrs:n,slots:o,emit:u}):R(x,null)),J=e.props?n:rn(n)}}catch(R){qe.length=0,Ts(R,t,1),F=tt(me)}let Q=F;if(J&&P!==!1){const R=Object.keys(J),{shapeFlag:Z}=Q;R.length&&Z&7&&(r&&R.some(sl)&&(J=on(J,r)),Q=we(Q,J,!1,!0))}return s.dirs&&(Q=we(Q,null,!1,!0),Q.dirs=Q.dirs?Q.dirs.concat(s.dirs):s.dirs),s.transition&&cl(Q,s.transition),F=Q,xs(X),F}const rn=t=>{let e;for(const s in t)(s==="class"||s==="style"||ps(s))&&((e||(e={}))[s]=t[s]);return e},on=(t,e)=>{const s={};for(const l in t)(!sl(l)||!(l.slice(9)in e))&&(s[l]=t[l]);return s};function nn(t,e,s){const{props:l,children:i,component:r}=t,{props:o,children:n,patchFlag:u}=e,g=r.emitsOptions;if(e.dirs||e.transition)return!0;if(s&&u>=0){if(u&1024)return!0;if(u&16)return l?Hl(l,o,g):!!o;if(u&8){const m=e.dynamicProps;for(let x=0;xt.__isSuspense;function an(t,e){e&&e.pendingBranch?k(t)?e.effects.push(...t):e.effects.push(t):co(t)}const K=Symbol.for("v-fgt"),Ss=Symbol.for("v-txt"),me=Symbol.for("v-cmt"),ds=Symbol.for("v-stc"),qe=[];let Et=null;function D(t=!1){qe.push(Et=t?null:[])}function dn(){qe.pop(),Et=qe[qe.length-1]||null}let Ve=1;function Ul(t){Ve+=t,t<0&&Et&&(Et.hasOnce=!0)}function gr(t){return t.dynamicChildren=Ve>0?Et||ce:null,dn(),Ve>0&&Et&&Et.push(t),t}function I(t,e,s,l,i,r){return gr(_(t,e,s,l,i,r,!0))}function ge(t,e,s,l,i){return gr(tt(t,e,s,l,i,!0))}function mn(t){return t?t.__v_isVNode===!0:!1}function Re(t,e){return t.type===e.type&&t.key===e.key}const fr=({key:t})=>t??null,ms=({ref:t,ref_key:e,ref_for:s})=>(typeof t=="number"&&(t=""+t),t!=null?Y(t)||gt(t)||N(t)?{i:wt,r:t,k:e,f:!!s}:t:null);function _(t,e=null,s=null,l=0,i=null,r=t===K?0:1,o=!1,n=!1){const u={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&fr(e),ref:e&&ms(e),scopeId:Hi,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:l,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:wt};return n?(bl(u,s),r&128&&t.normalize(u)):s&&(u.shapeFlag|=Y(s)?8:16),Ve>0&&!o&&Et&&(u.patchFlag>0||r&6)&&u.patchFlag!==32&&Et.push(u),u}const tt=gn;function gn(t,e=null,s=null,l=0,i=null,r=!1){if((!t||t===Po)&&(t=me),mn(t)){const n=we(t,e,!0);return s&&bl(n,s),Ve>0&&!r&&Et&&(n.shapeFlag&6?Et[Et.indexOf(t)]=n:Et.push(n)),n.patchFlag=-2,n}if(Tn(t)&&(t=t.__vccOpts),e){e=fn(e);let{class:n,style:u}=e;n&&!Y(n)&&(e.class=Ct(n)),B(u)&&(gl(u)&&!k(u)&&(u=nt({},u)),e.style=ys(u))}const o=Y(t)?1:mr(t)?128:bo(t)?64:B(t)?4:N(t)?2:0;return _(t,e,s,l,i,o,r,!0)}function fn(t){return t?gl(t)||Zi(t)?nt({},t):t:null}function we(t,e,s=!1,l=!1){const{props:i,ref:r,patchFlag:o,children:n,transition:u}=t,g=e?xn(i||{},e):i,m={__v_isVNode:!0,__v_skip:!0,type:t.type,props:g,key:g&&fr(g),ref:e&&e.ref?s&&r?k(r)?r.concat(ms(e)):[r,ms(e)]:ms(e):r,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:n,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==K?o===-1?16:o|16:o,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:u,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&we(t.ssContent),ssFallback:t.ssFallback&&we(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return u&&l&&cl(m,u.clone(m)),m}function ze(t=" ",e=0){return tt(Ss,null,t,e)}function _n(t,e){const s=tt(ds,null,t);return s.staticCount=e,s}function It(t="",e=!1){return e?(D(),ge(me,null,t)):tt(me,null,t)}function qt(t){return t==null||typeof t=="boolean"?tt(me):k(t)?tt(K,null,t.slice()):typeof t=="object"?Xt(t):tt(Ss,null,String(t))}function Xt(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:we(t)}function bl(t,e){let s=0;const{shapeFlag:l}=t;if(e==null)e=null;else if(k(e))s=16;else if(typeof e=="object")if(l&65){const i=e.default;i&&(i._c&&(i._d=!1),bl(t,i()),i._c&&(i._d=!0));return}else{s=32;const i=e._;!i&&!Zi(e)?e._ctx=wt:i===3&&wt&&(wt.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else N(e)?(e={default:e,_ctx:wt},s=32):(e=String(e),l&64?(s=16,e=[ze(e)]):s=8);t.children=e,t.shapeFlag|=s}function xn(...t){const e={};for(let s=0;s{let i;return(i=t[s])||(i=t[s]=[]),i.push(l),r=>{i.length>1?i.forEach(o=>o(r)):i[0](r)}};hs=e("__VUE_INSTANCE_SETTERS__",s=>rt=s),Xs=e("__VUE_SSR_SETTERS__",s=>ks=s)}const Ke=t=>{const e=rt;return hs(t),t.scope.on(),()=>{t.scope.off(),hs(e)}},Gl=()=>{rt&&rt.scope.off(),hs(null)};function _r(t){return t.vnode.shapeFlag&4}let ks=!1;function bn(t,e=!1,s=!1){e&&Xs(e);const{props:l,children:i}=t.vnode,r=_r(t);Ho(t,l,r,e),Wo(t,i,s);const o=r?vn(t,e):void 0;return e&&Xs(!1),o}function vn(t,e){const s=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,Do);const{setup:l}=s;if(l){const i=t.setupContext=l.length>1?wn(t):null,r=Ke(t);te();const o=We(l,t,0,[t.props,i]);if(ee(),r(),_i(o)){if(De(t)||Ui(t),o.then(Gl,Gl),e)return o.then(n=>{Bl(t,n,e)}).catch(n=>{Ts(n,t,0)});t.asyncDep=o}else Bl(t,o,e)}else xr(t,e)}function Bl(t,e,s){N(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:B(e)&&(t.setupState=Ii(e)),xr(t,s)}let Wl;function xr(t,e,s){const l=t.type;if(!t.render){if(!e&&Wl&&!l.render){const i=l.template||hl(t).template;if(i){const{isCustomElement:r,compilerOptions:o}=t.appContext.config,{delimiters:n,compilerOptions:u}=l,g=nt(nt({isCustomElement:r,delimiters:n},o),u);l.render=Wl(i,g)}}t.render=l.render||Ft}{const i=Ke(t);te();try{$o(t)}finally{ee(),i()}}}const yn={get(t,e){return ut(t,"get",""),t[e]}};function wn(t){const e=s=>{t.exposed=s||{}};return{attrs:new Proxy(t.attrs,yn),slots:t.slots,emit:t.emit,expose:e}}function Os(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(Ii(oo(t.exposed)),{get(e,s){if(s in e)return e[s];if(s in $e)return $e[s](t)},has(e,s){return s in e||s in $e}})):t.proxy}function En(t,e=!0){return N(t)?t.displayName||t.name:t.name||e&&t.__name}function Tn(t){return N(t)&&"__vccOpts"in t}const An=(t,e)=>mo(t,e,ks),Cn="3.5.5";/** -* @vue/runtime-dom v3.5.5 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Zs;const Kl=typeof window<"u"&&window.trustedTypes;if(Kl)try{Zs=Kl.createPolicy("vue",{createHTML:t=>t})}catch{}const cr=Zs?t=>Zs.createHTML(t):t=>t,Sn="http://www.w3.org/2000/svg",kn="http://www.w3.org/1998/Math/MathML",zt=typeof document<"u"?document:null,Jl=zt&&zt.createElement("template"),On={insert:(t,e,s)=>{e.insertBefore(t,s||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,s,l)=>{const i=e==="svg"?zt.createElementNS(Sn,t):e==="mathml"?zt.createElementNS(kn,t):s?zt.createElement(t,{is:s}):zt.createElement(t);return t==="select"&&l&&l.multiple!=null&&i.setAttribute("multiple",l.multiple),i},createText:t=>zt.createTextNode(t),createComment:t=>zt.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>zt.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,s,l,i,r){const o=s?s.previousSibling:e.lastChild;if(i&&(i===r||i.nextSibling))for(;e.insertBefore(i.cloneNode(!0),s),!(i===r||!(i=i.nextSibling)););else{Jl.innerHTML=cr(l==="svg"?`${t}`:l==="mathml"?`${t}`:t);const n=Jl.content;if(l==="svg"||l==="mathml"){const u=n.firstChild;for(;u.firstChild;)n.appendChild(u.firstChild);n.removeChild(u)}e.insertBefore(n,s)}return[o?o.nextSibling:e.firstChild,s?s.previousSibling:e.lastChild]}},Rn=Symbol("_vtc");function jn(t,e,s){const l=t[Rn];l&&(e=(e?[e,...l]:[...l]).join(" ")),e==null?t.removeAttribute("class"):s?t.setAttribute("class",e):t.className=e}const Ql=Symbol("_vod"),Pn=Symbol("_vsh"),Nn=Symbol(""),Dn=/(^|;)\s*display\s*:/;function $n(t,e,s){const l=t.style,i=Y(s);let r=!1;if(s&&!i){if(e)if(Y(e))for(const o of e.split(";")){const n=o.slice(0,o.indexOf(":")).trim();s[n]==null&&gs(l,n,"")}else for(const o in e)s[o]==null&&gs(l,o,"");for(const o in s)o==="display"&&(r=!0),gs(l,o,s[o])}else if(i){if(e!==s){const o=l[Nn];o&&(s+=";"+o),l.cssText=s,r=Dn.test(s)}}else e&&t.removeAttribute("style");Ql in t&&(t[Ql]=r?l.display:"",t[Pn]&&(l.display="none"))}const Yl=/\s*!important$/;function gs(t,e,s){if(k(s))s.forEach(l=>gs(t,e,l));else if(s==null&&(s=""),e.startsWith("--"))t.setProperty(e,s);else{const l=qn(t,e);Yl.test(s)?t.setProperty(fe(l),s.replace(Yl,""),"important"):t[l]=s}}const Xl=["Webkit","Moz","ms"],Ms={};function qn(t,e){const s=Ms[e];if(s)return s;let l=Rt(e);if(l!=="filter"&&l in t)return Ms[e]=l;l=vs(l);for(let i=0;iVs||(Vn.then(()=>Vs=0),Vs=Date.now());function Hn(t,e){const s=l=>{if(!l._vts)l._vts=Date.now();else if(l._vts<=s.attached)return;Mt(Un(l,s.value),e,5,[l])};return s.value=t,s.attached=zn(),s}function Un(t,e){if(k(e)){const s=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{s.call(t),t._stopped=!0},e.map(l=>i=>!i._stopped&&l&&l(i))}else return e}const li=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,Gn=(t,e,s,l,i,r)=>{const o=i==="svg";e==="class"?jn(t,l,o):e==="style"?$n(t,s,l):ps(e)?sl(e)||Ln(t,e,s,l,r):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Bn(t,e,l,o))?(In(t,e,l),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&ti(t,e,l,o,r,e!=="value")):(e==="true-value"?t._trueValue=l:e==="false-value"&&(t._falseValue=l),ti(t,e,l,o))};function Bn(t,e,s,l){if(l)return!!(e==="innerHTML"||e==="textContent"||e in t&&li(e)&&N(s));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const i=t.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return li(e)&&Y(s)?!1:!!(e in t||t._isVueCE&&(/[A-Z]/.test(e)||!Y(s)))}const Ee=t=>{const e=t.props["onUpdate:modelValue"]||!1;return k(e)?s=>ns(e,s):e};function Wn(t){t.target.composing=!0}function ii(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const Gt=Symbol("_assign"),St={created(t,{modifiers:{lazy:e,trim:s,number:l}},i){t[Gt]=Ee(i);const r=l||i.props&&i.props.type==="number";Zt(t,e?"change":"input",o=>{if(o.target.composing)return;let n=t.value;s&&(n=n.trim()),r&&(n=fs(n)),t[Gt](n)}),s&&Zt(t,"change",()=>{t.value=t.value.trim()}),e||(Zt(t,"compositionstart",Wn),Zt(t,"compositionend",ii),Zt(t,"change",ii))},mounted(t,{value:e}){t.value=e??""},beforeUpdate(t,{value:e,oldValue:s,modifiers:{lazy:l,trim:i,number:r}},o){if(t[Gt]=Ee(o),t.composing)return;const n=(r||t.type==="number")&&!/^0\d/.test(t.value)?fs(t.value):t.value,u=e??"";n!==u&&(document.activeElement===t&&t.type!=="range"&&(l&&e===s||i&&t.value.trim()===u)||(t.value=u))}},hr={deep:!0,created(t,e,s){t[Gt]=Ee(s),Zt(t,"change",()=>{const l=t._modelValue,i=He(t),r=t.checked,o=t[Gt];if(k(l)){const n=rl(l,i),u=n!==-1;if(r&&!u)o(l.concat(i));else if(!r&&u){const g=[...l];g.splice(n,1),o(g)}}else if(Te(l)){const n=new Set(l);r?n.add(i):n.delete(i),o(n)}else o(pr(t,r))})},mounted:ri,beforeUpdate(t,e,s){t[Gt]=Ee(s),ri(t,e,s)}};function ri(t,{value:e,oldValue:s},l){t._modelValue=e;let i;k(e)?i=rl(e,l.props.value)>-1:Te(e)?i=e.has(l.props.value):i=Ge(e,pr(t,!0)),t.checked!==i&&(t.checked=i)}const zs={deep:!0,created(t,{value:e,modifiers:{number:s}},l){const i=Te(e);Zt(t,"change",()=>{const r=Array.prototype.filter.call(t.options,o=>o.selected).map(o=>s?fs(He(o)):He(o));t[Gt](t.multiple?i?new Set(r):r:r[0]),t._assigning=!0,Li(()=>{t._assigning=!1})}),t[Gt]=Ee(l)},mounted(t,{value:e,modifiers:{number:s}}){oi(t,e)},beforeUpdate(t,e,s){t[Gt]=Ee(s)},updated(t,{value:e,modifiers:{number:s}}){t._assigning||oi(t,e)}};function oi(t,e,s){const l=t.multiple,i=k(e);if(!(l&&!i&&!Te(e))){for(let r=0,o=t.options.length;rString(m)===String(u)):n.selected=rl(e,u)>-1}else n.selected=e.has(u);else if(Ge(He(n),e)){t.selectedIndex!==r&&(t.selectedIndex=r);return}}!l&&t.selectedIndex!==-1&&(t.selectedIndex=-1)}}function He(t){return"_value"in t?t._value:t.value}function pr(t,e){const s=e?"_trueValue":"_falseValue";return s in t?t[s]:e}const Kn=nt({patchProp:Gn},On);let ni;function Jn(){return ni||(ni=Jo(Kn))}const Qn=(...t)=>{const e=Jn().createApp(...t),{mount:s}=e;return e.mount=l=>{const i=Xn(l);if(!i)return;const r=e._component;!N(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=s(i,!1,Yn(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},e};function Yn(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function Xn(t){return Y(t)?document.querySelector(t):t}const ft=(t,e)=>{const s=t.__vccOpts||t;for(const[l,i]of e)s[l]=i;return s},Zn={};function tu(t,e){return D(),I(K,null,[e[0]||(e[0]=_("h1",null,"GlossySnake",-1)),e[1]||(e[1]=_("p",null,[ze("INDEX PAGE | "),_("a",{href:"https://github.com/parkchamchi/GlossySnake"},"Repo")],-1))],64)}const eu=ft(Zn,[["render",tu],["__scopeId","data-v-0f95cfa1"]]),Qt=Be({}),st={on(t,e){Qt[t]||(Qt[t]=[]),Qt[t].push(e)},off(t,e){Qt[t]&&(Qt[t]=Qt[t].filter(s=>s!==e))},emit(t,e){Qt[t]&&Qt[t].forEach(s=>s(e))}};function ot(){}ot.prototype.host="";ot.prototype.api="/api/v4";ot.prototype.uri=function(t){return this.host+this.api+t};ot.prototype.jsonHelper=async function(t){try{return await t.json()}catch(e){return console.log(e),{error:JSON.parse(JSON.stringify(e,Object.getOwnPropertyNames(e)))}}};ot.prototype.submit=async function(t,e="GET",s=null,l=!0){const i=this.uri(t);let r={method:e,headers:{"Content-type":"application/json; charset=UTF-8"},credentials:"include"};e!="GET"&&(r.body=JSON.stringify(s)),l&&(r.headers.Authorization="Token "+ot._key);const o=await fetch(i,r);if(!o.ok){const n=await this.jsonHelper(o),u=i+": "+o.statusText+` -> `+JSON.stringify(n);throw st.emit("addAlert",{message:u,alertClass:"alert-warning"}),new Error(u)}return this.emitCorpusesUpdate(t),o};ot.prototype.emitCorpusesUpdate=async function(t){["/corpuses/","/tasks/","/user/check","/user/get-temp-user","/user/logout","/rest-auth/registration/","/rest-auth/login/","/rest-auth/logout/"].some(s=>t.endsWith(s))||(st.emit("updateCorpuses"),st.emit("updateTasks"))};const su={data(){return{api:new ot,loggedin:!1}},computed:{userinfo(){return this.loggedin?"Guest.":"Log in."}},methods:{meow(){console.log("meow")},async getTempUser(){const e=await(await this.api.submit("/user/get-temp-user","GET",null,!1)).json();return e.success?(ot._key=e.key,!0):(console.error("get-temp-user unsuccessful"),!1)},async updateUser(){if(!ot._key&&!await this.getTempUser()){console.error("could not get the temp user.");return}this.loggedin=!0,st.emit("updateCorpuses"),st.emit("updateTasks")},async logout(){this.api.submit("/user/logout").then(()=>{ot._key=null,this.loggedin=!1,this.updateUser()})}},async created(){await this.updateUser()}},lu={id:"frontend_auth_div"},iu={class:"userinfo_p"};function ru(t,e,s,l,i,r){return D(),I("div",lu,[_("p",iu,ct(r.userinfo),1),_("p",{onClick:e[0]||(e[0]=o=>r.logout()),class:"btn logout_button"}," Logout ")])}const ou=ft(su,[["render",ru],["__scopeId","data-v-72d1c363"]]),nu=JSON.parse(localStorage.getItem("sharedState"))||{},A=Be({annotator_name:"chatgpt_ft0",lang_from:"German",lang_to:"English",toRemote:!0,openaiApiKey:null,openaiModel:"gpt-4o-mini",outerRetry:2,innerRetry:3,maxGloss:80,fullPrompt:!0,currentOpenCorpus:"",psPerScreen:16,glossColor:"gray",txtSize:150,glossSize:90,...nu}),uu={data(){return A},watch:{annotator_name(){this.emitChange()},lang_from(){this.emitChange()},lang_to(){this.emitChange()},toRemote(){this.emitChange()}},methods:{emitChange(){A.annotator_name=this.annotator_name,A.lang_from=this.lang_from,A.lang_to=this.lang_to,A.toRemote=this.toRemote}}},au={class:"container mt-4"},du={class:"row"},mu={class:"col-md-4"},gu={class:"col-md-4"},fu={class:"col-md-4"};function _u(t,e,s,l,i,r){return D(),I(K,null,[_("div",au,[_("div",du,[_("div",mu,[e[5]||(e[5]=_("label",{for:"annotator_name"},"annotator_name:",-1)),it(_("select",{"onUpdate:modelValue":e[0]||(e[0]=o=>t.annotator_name=o),name:"annotator_name",id:"annotator_name_select",class:"form-control"},e[4]||(e[4]=[_n('',6)]),512),[[zs,t.annotator_name]])]),_("div",gu,[e[7]||(e[7]=_("label",{for:"lang_from"},"lang_from:",-1)),it(_("select",{"onUpdate:modelValue":e[1]||(e[1]=o=>t.lang_from=o),name:"lang_from",id:"lang_from_select",class:"form-control"},e[6]||(e[6]=[_("option",{value:"French"},"French",-1),_("option",{value:"German"},"German",-1),_("option",{value:"Latin"},"Latin",-1)]),512),[[zs,t.lang_from]])]),_("div",fu,[e[9]||(e[9]=_("label",{for:"lang_to"},"lang_to:",-1)),it(_("select",{"onUpdate:modelValue":e[2]||(e[2]=o=>t.lang_to=o),name:"lang_to",id:"lang_to_select",class:"form-control"},e[8]||(e[8]=[_("option",{value:"English"},"English",-1)]),512),[[zs,t.lang_to]])])])]),e[11]||(e[11]=_("br",null,null,-1)),_("div",null,[it(_("input",{"onUpdate:modelValue":e[3]||(e[3]=o=>t.toRemote=o),type:"checkbox",name:"toRemote",id:"toRemote_input",class:"form-check-input",checked:""},null,512),[[hr,t.toRemote]]),e[10]||(e[10]=_("label",{for:"toRemote_input",class:"form-check-label"},"To the remote server",-1))])],64)}const xu=ft(uu,[["render",_u]]),cu={data(){return A},watch:{openaiApiKey(){this.emitChange()},openaiModel(){this.emitChange()},outerRetry(){this.emitChange()},innerRetry(){this.emitChange()},maxGloss(){this.emitChange()},fullPrompt(){this.emitChange()}},computed:{visibility(){return!A.toRemote}},methods:{emitChange(){A.openaiApiKey=this.openaiApiKey,A.openaiModel=this.openaiModel,A.outerRetry=this.outerRetry,A.innerRetry=this.innerRetry,A.maxGloss=this.maxGloss,A.fullPrompt=this.fullPrompt}}},hu={key:0,class:"container mt-3"},pu={class:"row"},bu={class:"col-md-2"},vu={class:"col-md-2"},yu={class:"col-md-2"},wu={class:"col-md-2"},Eu={class:"col-md-2"},Tu={class:"col-md-2 d-flex align-items-center"};function Au(t,e,s,l,i,r){return D(),I(K,null,[e[13]||(e[13]=_("h4",null,"Local Annotator Options",-1)),r.visibility?(D(),I("div",hu,[_("div",pu,[_("div",bu,[e[6]||(e[6]=_("label",{for:"openaiApiKey"},"OpenAI API Key",-1)),it(_("input",{type:"password",class:"form-control",id:"openaiApiKey","onUpdate:modelValue":e[0]||(e[0]=o=>t.openaiApiKey=o)},null,512),[[St,t.openaiApiKey]])]),_("div",vu,[e[7]||(e[7]=_("label",{for:"openaiModel"},"OpenAI Model",-1)),it(_("input",{type:"text",class:"form-control",id:"openaiModel","onUpdate:modelValue":e[1]||(e[1]=o=>t.openaiModel=o)},null,512),[[St,t.openaiModel]])]),_("div",yu,[e[8]||(e[8]=_("label",{for:"outerRetry"},"Outer Retry",-1)),it(_("input",{type:"number",class:"form-control",id:"outerRetry","onUpdate:modelValue":e[2]||(e[2]=o=>t.outerRetry=o),min:"1"},null,512),[[St,t.outerRetry]])]),_("div",wu,[e[9]||(e[9]=_("label",{for:"innerRetry"},"Inner Retry",-1)),it(_("input",{type:"number",class:"form-control",id:"innerRetry","onUpdate:modelValue":e[3]||(e[3]=o=>t.innerRetry=o),min:"1"},null,512),[[St,t.innerRetry]])]),_("div",Eu,[e[10]||(e[10]=_("label",{for:"maxGloss"},"Max Gloss",-1)),it(_("input",{type:"number",class:"form-control",id:"maxGloss","onUpdate:modelValue":e[4]||(e[4]=o=>t.maxGloss=o),min:"40"},null,512),[[St,t.maxGloss]])]),_("div",Tu,[it(_("input",{type:"checkbox",class:"form-check-input",id:"fullPrompt","onUpdate:modelValue":e[5]||(e[5]=o=>t.fullPrompt=o)},null,512),[[hr,t.fullPrompt]]),e[11]||(e[11]=_("label",{class:"form-check-label",for:"fullPrompt"},"Full Prompt",-1))])]),e[12]||(e[12]=_("div",{class:"row"},[_("div",{class:"col-md-2 d-flex align-items-center"},[_("button",{class:"btn btn-link mt-3"},[_("a",{href:"https://github.com/parkchamchi/GlossySnake/blob/master/docs/design/local.md"},"Info")])])],-1))])):It("",!0)],64)}const Cu=ft(cu,[["render",Au]]),Su={data(){return A},watch:{psPerScreen(){this.emitChange()},glossColor(){this.emitChange()},txtSize(){this.emitChange()},glossSize(){this.emitChange()}},methods:{emitChange(){A.psPerScreen=this.psPerScreen,A.glossColor=this.glossColor,A.txtSize=this.txtSize,A.glossSize=this.glossSize},exportData(){console.log("Exporting");const t=JSON.stringify(A,null,2),e=new Blob([t],{type:"application/json"}),s=URL.createObjectURL(e),l=document.createElement("a");l.href=s,l.download="sharedState.json",l.click(),URL.revokeObjectURL(s)},async importData(t){const s=await t.target.files[0].text(),l=JSON.parse(s);Object.keys(l).forEach(i=>{A.hasOwnProperty(i)&&(A[i]=l[i])})}},mounted(){as(()=>A,t=>{localStorage.setItem("sharedState",JSON.stringify(t))},{deep:!0})}},ku={class:"container mt-3"},Ou={class:"row"},Ru={class:"col-md-2"},ju={class:"col-md-2"},Pu={class:"col-md-2"},Nu={class:"col-md-2"},Du={class:"col-md-2 d-flex align-items-center"},$u={class:"col-md-2 d-flex align-items-center"};function qu(t,e,s,l,i,r){return D(),I(K,null,[e[10]||(e[10]=_("h4",null,"Misc. Options",-1)),_("div",ku,[_("div",Ou,[_("div",Ru,[e[6]||(e[6]=_("label",{for:"psPerScreen"},[ze("Paragraphs per screen "),_("br"),_("em",null,"(0 for inf)")],-1)),it(_("input",{type:"number",class:"form-control",id:"psPerScreen","onUpdate:modelValue":e[0]||(e[0]=o=>t.psPerScreen=o),min:"0"},null,512),[[St,t.psPerScreen]])]),_("div",ju,[e[7]||(e[7]=_("label",{for:"glossColor"},"Gloss color",-1)),it(_("input",{type:"color",class:"form-control",id:"glossColor","onUpdate:modelValue":e[1]||(e[1]=o=>t.glossColor=o)},null,512),[[St,t.glossColor]])]),_("div",Pu,[e[8]||(e[8]=_("label",{for:"txtSize"},"Text Size",-1)),it(_("input",{type:"range",class:"form-control",id:"txtSize","onUpdate:modelValue":e[2]||(e[2]=o=>t.txtSize=o),min:"50",max:"150"},null,512),[[St,t.txtSize]])]),_("div",Nu,[e[9]||(e[9]=_("label",{for:"glossSize"},"Gloss Size",-1)),it(_("input",{type:"range",class:"form-control",id:"glossSize","onUpdate:modelValue":e[3]||(e[3]=o=>t.glossSize=o),min:"50",max:"150"},null,512),[[St,t.glossSize]])]),_("div",Du,[_("input",{type:"file",onChange:e[4]||(e[4]=(...o)=>r.importData&&r.importData(...o)),class:"form-control"},null,32)]),_("div",$u,[_("button",{class:"btn btn-link mt-3",onClick:e[5]||(e[5]=(...o)=>r.exportData&&r.exportData(...o))},"Export")])])])],64)}const Iu=ft(Su,[["render",qu]]),os=[{corpus_id:"Tristesse d'Olympio",corpuses_history:[{paragraphs:[{pstate:"ANNOTATED",tokens:[{txt:"Les",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"champs",is_delimiter:!1,gloss:"fields"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"n'étaient",is_delimiter:!1,gloss:"weren't"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"point",is_delimiter:!1,gloss:"quite"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"noirs,",is_delimiter:!1,gloss:"black,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"cieux",is_delimiter:!1,gloss:"heavens"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"n'étaient",is_delimiter:!1,gloss:"weren't"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pas",is_delimiter:!1,gloss:"not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"mornes.",is_delimiter:!1,gloss:"dull."},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Non,",is_delimiter:!1,gloss:"No,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"jour",is_delimiter:!1,gloss:"day"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rayonnait",is_delimiter:!1,gloss:"shone"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"un",is_delimiter:!1,gloss:"an"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"azur",is_delimiter:!1,gloss:"azure"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sans",is_delimiter:!1,gloss:"without"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bornes",is_delimiter:!1,gloss:"bounds"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Sur",is_delimiter:!1,gloss:"Upon"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"terre",is_delimiter:!1,gloss:"earth"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"étendu,",is_delimiter:!1,gloss:"extended,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"L'air",is_delimiter:!1,gloss:"The-air"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"était",is_delimiter:!1,gloss:"was"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"plein",is_delimiter:!1,gloss:"full"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"d'encens",is_delimiter:!1,gloss:"of-encense"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"prés",is_delimiter:!1,gloss:"meadows"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"verdures",is_delimiter:!1,gloss:"greennesses"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Quand",is_delimiter:!1,gloss:"When"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"il",is_delimiter:!1,gloss:"he"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"revit",is_delimiter:!1,gloss:"revived"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ces",is_delimiter:!1,gloss:"these"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"lieux",is_delimiter:!1,gloss:"places"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"par",is_delimiter:!1,gloss:"by"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tant",is_delimiter:!1,gloss:"so-many"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"blessures",is_delimiter:!1,gloss:"wounds"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Son",is_delimiter:!1,gloss:"His"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"coeur",is_delimiter:!1,gloss:"heart"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"s'est",is_delimiter:!1,gloss:"has"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"répandu!",is_delimiter:!1,gloss:"diffused!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Les champs n'étaient point noirs, les cieux n'étaient pas mornes. -Non, le jour rayonnait dans un azur sans bornes -Sur la terre étendu, -L'air était plein d'encens et les prés de verdures -Quand il revit ces lieux où par tant de blessures -Son coeur s'est répandu!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"L'automne",is_delimiter:!1,gloss:"The-autumn"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"souriait;",is_delimiter:!1,gloss:"smiled;"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"coteaux",is_delimiter:!1,gloss:"hills"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vers",is_delimiter:!1,gloss:"towards"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"plaine",is_delimiter:!1,gloss:"plain"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Penchaient",is_delimiter:!1,gloss:"Were-leaning"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"leurs",is_delimiter:!1,gloss:"their"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bois",is_delimiter:!1,gloss:"charming-woods"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"charmants",is_delimiter:!1,gloss:"which"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"who"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"jaunissaient",is_delimiter:!1,gloss:"were-beginning-to-yellow"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"peine;",is_delimiter:!1,gloss:"hardly;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Le",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ciel",is_delimiter:!1,gloss:"sky"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"était",is_delimiter:!1,gloss:"was"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"doré;",is_delimiter:!1,gloss:"gilded;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"oiseaux,",is_delimiter:!1,gloss:"birds,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tournés",is_delimiter:!1,gloss:"turned"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vers",is_delimiter:!1,gloss:"towards"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"celui",is_delimiter:!1,gloss:"him"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"que",is_delimiter:!1,gloss:"whom"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nomme,",is_delimiter:!1,gloss:"names,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Disant",is_delimiter:!1,gloss:"Saying"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"peut-être",is_delimiter:!1,gloss:"perhaps"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"Dieu",is_delimiter:!1,gloss:"God"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"quelque",is_delimiter:!1,gloss:"something"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chose",is_delimiter:!1,gloss:"thing"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'homme,",is_delimiter:!1,gloss:"man,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Chantaient",is_delimiter:!1,gloss:"Sang"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"leur",is_delimiter:!1,gloss:"their"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chant",is_delimiter:!1,gloss:"chant"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sacré!",is_delimiter:!1,gloss:"sacred!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`L'automne souriait; les coteaux vers la plaine -Penchaient leurs bois charmants qui jaunissaient à peine; -Le ciel était doré; -Et les oiseaux, tournés vers celui que tout nomme, -Disant peut-être à Dieu quelque chose de l'homme, -Chantaient leur chant sacré!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Il",is_delimiter:!1,gloss:"He"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"voulut",is_delimiter:!1,gloss:"wished"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"revoir,",is_delimiter:!1,gloss:"to-resee,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'étang",is_delimiter:!1,gloss:"the-pond"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"près",is_delimiter:!1,gloss:"near"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"source,",is_delimiter:!1,gloss:"spring,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"La",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"masure",is_delimiter:!1,gloss:"cottage"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'aumône",is_delimiter:!1,gloss:"charity"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"avait",is_delimiter:!1,gloss:"had"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vidé",is_delimiter:!1,gloss:"emptied"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"leur",is_delimiter:!1,gloss:"their"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bourse,",is_delimiter:!1,gloss:"purse,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Le",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vieux",is_delimiter:!1,gloss:"old"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"frêne",is_delimiter:!1,gloss:"ash"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"plié,",is_delimiter:!1,gloss:"bent,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Les",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"retraites",is_delimiter:!1,gloss:"retreats"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"d'amour",is_delimiter:!1,gloss:"of-love"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"au",is_delimiter:!1,gloss:"at-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fond",is_delimiter:!1,gloss:"bottom"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"des",is_delimiter:!1,gloss:"of-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bois",is_delimiter:!1,gloss:"woods"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"perdues,",is_delimiter:!1,gloss:"lost,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"L'arbre",is_delimiter:!1,gloss:"The-tree"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"baisers",is_delimiter:!1,gloss:"kisses"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"leurs",is_delimiter:!1,gloss:"their"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"âmes",is_delimiter:!1,gloss:"souls"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"confondues",is_delimiter:!1,gloss:"mixed"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Avaient",is_delimiter:!1,gloss:"Had"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"oublié!",is_delimiter:!1,gloss:"forgotten!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Il voulut tout revoir, l'étang près de la source, -La masure où l'aumône avait vidé leur bourse, -Le vieux frêne plié, -Les retraites d'amour au fond des bois perdues, -L'arbre où dans les baisers leurs âmes confondues -Avaient tout oublié!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Il",is_delimiter:!1,gloss:"He"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chercha",is_delimiter:!1,gloss:"sought"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"jardin,",is_delimiter:!1,gloss:"garden,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"maison",is_delimiter:!1,gloss:"detached-house,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"isolée,",is_delimiter:!1,gloss:"isolated,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"La",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"grille",is_delimiter:!1,gloss:"gate"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"d'où",is_delimiter:!1,gloss:"whence"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'oeil",is_delimiter:!1,gloss:"the-eye"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"plonge",is_delimiter:!1,gloss:"plunges"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"une",is_delimiter:!1,gloss:"a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"oblique",is_delimiter:!1,gloss:"oblique"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"allée,",is_delimiter:!1,gloss:"alley,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Les",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vergers",is_delimiter:!1,gloss:"orchards"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"talus.",is_delimiter:!1,gloss:"slope."},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Pâle,",is_delimiter:!1,gloss:"Pale,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"il",is_delimiter:!1,gloss:"he"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"marchait.",is_delimiter:!1,gloss:"walked."},{txt:" ",is_delimiter:!0,gloss:null},{txt:"-",is_delimiter:!1,gloss:"-"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"Au",is_delimiter:!1,gloss:"At-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bruit",is_delimiter:!1,gloss:"sound"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"son",is_delimiter:!1,gloss:"his"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pas",is_delimiter:!1,gloss:"step"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"grave",is_delimiter:!1,gloss:"grave"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sombre,",is_delimiter:!1,gloss:"solemn,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Il",is_delimiter:!1,gloss:"He"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"voyait",is_delimiter:!1,gloss:"saw"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"at"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chaque",is_delimiter:!1,gloss:"every"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"arbre,",is_delimiter:!1,gloss:"tree,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"hélas!",is_delimiter:!1,gloss:"alas!"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"se",is_delimiter:!1,gloss:"himself"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dresser",is_delimiter:!1,gloss:"raise"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'ombre",is_delimiter:!1,gloss:"the-shade"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Des",is_delimiter:!1,gloss:"Of-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"jours",is_delimiter:!1,gloss:"days"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"that"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ne",is_delimiter:!1,gloss:"not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sont",is_delimiter:!1,gloss:"are"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"plus!",is_delimiter:!1,gloss:"more!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Il chercha le jardin, la maison isolée, -La grille d'où l'oeil plonge en une oblique allée, -Les vergers en talus. -Pâle, il marchait. - Au bruit de son pas grave et sombre, -Il voyait à chaque arbre, hélas! se dresser l'ombre -Des jours qui ne sont plus!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Il",is_delimiter:!1,gloss:"He"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"entendait",is_delimiter:!1,gloss:"did hear"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"frémir",is_delimiter:!1,gloss:"to-shiver"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"forêt",is_delimiter:!1,gloss:"forest"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qu'il",is_delimiter:!1,gloss:"which-he"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"aime",is_delimiter:!1,gloss:"loves"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Ce",is_delimiter:!1,gloss:"This"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"doux",is_delimiter:!1,gloss:"sweet"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vent",is_delimiter:!1,gloss:"wind"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui,",is_delimiter:!1,gloss:"which,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"faisant",is_delimiter:!1,gloss:"making"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vibrer",is_delimiter:!1,gloss:"to-vibrate"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous-même,",is_delimiter:!1,gloss:"ourselves,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Y",is_delimiter:!1,gloss:"it"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"réveille",is_delimiter:!1,gloss:"revives"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'amour,",is_delimiter:!1,gloss:"love,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et,",is_delimiter:!1,gloss:"And,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"remuant",is_delimiter:!1,gloss:"moving"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chêne",is_delimiter:!1,gloss:"oak"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ou",is_delimiter:!1,gloss:"or"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"balançant",is_delimiter:!1,gloss:"waving"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rose,",is_delimiter:!1,gloss:"rose,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Semble",is_delimiter:!1,gloss:"Seems"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'âme",is_delimiter:!1,gloss:"the-soul"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"that"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"va",is_delimiter:!1,gloss:"goes"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sur",is_delimiter:!1,gloss:"upon"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chaque",is_delimiter:!1,gloss:"each"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chose",is_delimiter:!1,gloss:"thing"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Se",is_delimiter:!1,gloss:"Itself"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"poser",is_delimiter:!1,gloss:"to-repose"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tour",is_delimiter:!1,gloss:"turn"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"at"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tour!",is_delimiter:!1,gloss:"a-turn!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Il entendait frémir dans la forêt qu'il aime -Ce doux vent qui, faisant tout vibrer en nous-même, -Y réveille l'amour, -Et, remuant le chêne ou balançant la rose, -Semble l'âme de tout qui va sur chaque chose -Se poser tour à tour!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Les",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"feuilles",is_delimiter:!1,gloss:"leaves"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"which"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"gisaient",is_delimiter:!1,gloss:"lay"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bois",is_delimiter:!1,gloss:"wood"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"solitaire,",is_delimiter:!1,gloss:"solitary,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"S'efforçant",is_delimiter:!1,gloss:"Endeavouring"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sous",is_delimiter:!1,gloss:"under"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ses",is_delimiter:!1,gloss:"its"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pas",is_delimiter:!1,gloss:"steps"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"s'élever",is_delimiter:!1,gloss:"rise"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"from"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"terre,",is_delimiter:!1,gloss:"earth,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Couraient",is_delimiter:!1,gloss:"ran"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"jardin;",is_delimiter:!1,gloss:"garden;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Ainsi,",is_delimiter:!1,gloss:"Thus,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"parfois,",is_delimiter:!1,gloss:"sometimes,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"quand",is_delimiter:!1,gloss:"when"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'âme",is_delimiter:!1,gloss:"the-soul"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"est",is_delimiter:!1,gloss:"is"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"triste,",is_delimiter:!1,gloss:"sad,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pensées",is_delimiter:!1,gloss:"thoughts"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"S'envolent",is_delimiter:!1,gloss:"Soar-away"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"un",is_delimiter:!1,gloss:"a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"moment",is_delimiter:!1,gloss:"moment"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sur",is_delimiter:!1,gloss:"on"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"leurs",is_delimiter:!1,gloss:"their"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ailes",is_delimiter:!1,gloss:"wings"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"blessées,",is_delimiter:!1,gloss:"wounded,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Puis",is_delimiter:!1,gloss:"Then"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"retombent",is_delimiter:!1,gloss:"fall-back"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"soudain.",is_delimiter:!1,gloss:"suddenly."}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Les feuilles qui gisaient dans le bois solitaire, -S'efforçant sous ses pas de s'élever de terre, -Couraient dans le jardin; -Ainsi, parfois, quand l'âme est triste, nos pensées -S'envolent un moment sur leurs ailes blessées, -Puis retombent soudain.`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Il",is_delimiter:!1,gloss:"He"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"contempla",is_delimiter:!1,gloss:"contemplates"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"longtemps",is_delimiter:!1,gloss:"long-time"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"formes",is_delimiter:!1,gloss:"forms"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"magnifiques",is_delimiter:!1,gloss:"magnificent"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Que",is_delimiter:!1,gloss:"Which"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"nature"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nature",is_delimiter:!1,gloss:"takes"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"prend",is_delimiter:!1,gloss:"takes"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"champs",is_delimiter:!1,gloss:"peaceful-fields;"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pacifiques;",is_delimiter:!1,gloss:"peaceful;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Il",is_delimiter:!1,gloss:"He"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rêva",is_delimiter:!1,gloss:"dreamt"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"jusqu'au",is_delimiter:!1,gloss:"until-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"soir;",is_delimiter:!1,gloss:"evening;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Tout",is_delimiter:!1,gloss:"Every"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"jour",is_delimiter:!1,gloss:"day"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"il",is_delimiter:!1,gloss:"he"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"erra",is_delimiter:!1,gloss:"wandered"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"long",is_delimiter:!1,gloss:"along"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ravine,",is_delimiter:!1,gloss:"ravine,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Admirant",is_delimiter:!1,gloss:"Admiring"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tour",is_delimiter:!1,gloss:"turn"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tour",is_delimiter:!1,gloss:"turn"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ciel,",is_delimiter:!1,gloss:"sky,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"face",is_delimiter:!1,gloss:"divine"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"divine,",is_delimiter:!1,gloss:"divine,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Le",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"lac,",is_delimiter:!1,gloss:"lake,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"divin",is_delimiter:!1,gloss:"divine"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"miroir!",is_delimiter:!1,gloss:"mirror!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Il contempla longtemps les formes magnifiques -Que la nature prend dans les champs pacifiques; -Il rêva jusqu'au soir; -Tout le jour il erra le long de la ravine, -Admirant tour à tour le ciel, face divine, -Le lac, divin miroir!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Hélas!",is_delimiter:!1,gloss:"Alas!"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"se",is_delimiter:!1,gloss:"himself"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rappelant",is_delimiter:!1,gloss:"recalling"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ses",is_delimiter:!1,gloss:"his"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"douces",is_delimiter:!1,gloss:"pleasant"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"aventures,",is_delimiter:!1,gloss:"adventures,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Regardant,",is_delimiter:!1,gloss:"Looking,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sans",is_delimiter:!1,gloss:"without"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"entrer,",is_delimiter:!1,gloss:"entering,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"par-dessus",is_delimiter:!1,gloss:"over"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"clôtures,",is_delimiter:!1,gloss:"fences,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Ainsi",is_delimiter:!1,gloss:"Thus"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qu'un",is_delimiter:!1,gloss:"as"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"paria,",is_delimiter:!1,gloss:"pariah,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Il",is_delimiter:!1,gloss:"He"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"erra",is_delimiter:!1,gloss:"wandered"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"jour,",is_delimiter:!1,gloss:"day,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vers",is_delimiter:!1,gloss:"towards"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'heure",is_delimiter:!1,gloss:"the hour"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nuit",is_delimiter:!1,gloss:"night"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tombe,",is_delimiter:!1,gloss:"falls,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Il",is_delimiter:!1,gloss:"He"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"se",is_delimiter:!1,gloss:"himself"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sentit",is_delimiter:!1,gloss:"felt"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"coeur",is_delimiter:!1,gloss:"heart"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"triste",is_delimiter:!1,gloss:"sad"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"comme",is_delimiter:!1,gloss:"as"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"une",is_delimiter:!1,gloss:"a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tombe,",is_delimiter:!1,gloss:"tomb,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Alors",is_delimiter:!1,gloss:"Then"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"il",is_delimiter:!1,gloss:"he"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"s'écria:",is_delimiter:!1,gloss:"exclaimed:"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Hélas! se rappelant ses douces aventures, -Regardant, sans entrer, par-dessus les clôtures, -Ainsi qu'un paria, -Il erra tout le jour, vers l'heure où la nuit tombe, -Il se sentit le coeur triste comme une tombe, -Alors il s'écria:`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:'"',is_delimiter:!1,gloss:"!UNKNOWN"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"O",is_delimiter:!1,gloss:"O"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"douleur!",is_delimiter:!1,gloss:"pain!"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"j'ai",is_delimiter:!1,gloss:"I have"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"voulu,",is_delimiter:!1,gloss:"wished,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"moi",is_delimiter:!1,gloss:"I"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dont",is_delimiter:!1,gloss:"of whom"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'âme",is_delimiter:!1,gloss:"the-soul"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"est",is_delimiter:!1,gloss:"is"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"troublée,",is_delimiter:!1,gloss:"troubled,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Savoir",is_delimiter:!1,gloss:"To-know"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"si",is_delimiter:!1,gloss:"if"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'urne",is_delimiter:!1,gloss:"the-urn"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"encor",is_delimiter:!1,gloss:"still"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"conservait",is_delimiter:!1,gloss:"preserved"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"liqueur,",is_delimiter:!1,gloss:"liquid,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"voir",is_delimiter:!1,gloss:"to-see"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ce",is_delimiter:!1,gloss:"what"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qu'avait",is_delimiter:!1,gloss:"had"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fait",is_delimiter:!1,gloss:"made"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"cette",is_delimiter:!1,gloss:"this"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"heureuse",is_delimiter:!1,gloss:"happy"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vallée",is_delimiter:!1,gloss:"valley"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"De",is_delimiter:!1,gloss:"Of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ce",is_delimiter:!1,gloss:"that"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"que",is_delimiter:!1,gloss:"which"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"j'avais",is_delimiter:!1,gloss:"I-had"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"laissé",is_delimiter:!1,gloss:"left"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"là",is_delimiter:!1,gloss:"there"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"mon",is_delimiter:!1,gloss:"my"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"coeur!",is_delimiter:!1,gloss:"heart!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`" O douleur! j'ai voulu, moi dont l'âme est troublée, -Savoir si l'urne encor conservait la liqueur, -Et voir ce qu'avait fait cette heureuse vallée -De tout ce que j'avais laissé là de mon coeur!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Que",is_delimiter:!1,gloss:"What"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"peu",is_delimiter:!1,gloss:"little"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"temps",is_delimiter:!1,gloss:"time"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"suffit",is_delimiter:!1,gloss:"suffices"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pour",is_delimiter:!1,gloss:"for"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"changer",is_delimiter:!1,gloss:"to-change"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"toutes",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"choses!",is_delimiter:!1,gloss:"things!"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Nature",is_delimiter:!1,gloss:"Nature"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"au",is_delimiter:!1,gloss:"with-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"front",is_delimiter:!1,gloss:"forehead"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"serein,",is_delimiter:!1,gloss:"serene,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"comme",is_delimiter:!1,gloss:"how"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vous",is_delimiter:!1,gloss:"you"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"oubliez!",is_delimiter:!1,gloss:"forget!"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"comme",is_delimiter:!1,gloss:"how"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vous",is_delimiter:!1,gloss:"you"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"brisez",is_delimiter:!1,gloss:"break"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vos",is_delimiter:!1,gloss:"your"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"métamorphoses",is_delimiter:!1,gloss:"metamorphoses"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Les",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fils",is_delimiter:!1,gloss:"threads"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"mystérieux",is_delimiter:!1,gloss:"mysterious"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"coeurs",is_delimiter:!1,gloss:"hearts"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sont",is_delimiter:!1,gloss:"are"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"liés!",is_delimiter:!1,gloss:"tied!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Que peu de temps suffit pour changer toutes choses! -Nature au front serein, comme vous oubliez! -Et comme vous brisez dans vos métamorphoses -Les fils mystérieux où nos coeurs sont liés!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Nos",is_delimiter:!1,gloss:"Our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chambres",is_delimiter:!1,gloss:"rooms"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"feuillage",is_delimiter:!1,gloss:"foliage"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"halliers",is_delimiter:!1,gloss:"cops"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sont",is_delimiter:!1,gloss:"are"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"changées!",is_delimiter:!1,gloss:"changed!"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"L'arbre",is_delimiter:!1,gloss:"The-tree"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fut",is_delimiter:!1,gloss:"was"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"notre",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chiffre",is_delimiter:!1,gloss:"monogram"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"est",is_delimiter:!1,gloss:"is"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"mort",is_delimiter:!1,gloss:"dead"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ou",is_delimiter:!1,gloss:"or"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"renversé;",is_delimiter:!1,gloss:"overturned;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Nos",is_delimiter:!1,gloss:"Our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"roses",is_delimiter:!1,gloss:"roses"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'enclos",is_delimiter:!1,gloss:"the-hedge"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ont",is_delimiter:!1,gloss:"have"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"été",is_delimiter:!1,gloss:"been"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ravagées",is_delimiter:!1,gloss:"ravaged"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Par",is_delimiter:!1,gloss:"By"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"petits",is_delimiter:!1,gloss:"little"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"enfants",is_delimiter:!1,gloss:"children"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"who"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sautent",is_delimiter:!1,gloss:"leap"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fossé.",is_delimiter:!1,gloss:"ditch."}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Nos chambres de feuillage en halliers sont changées! -L'arbre où fut notre chiffre est mort ou renversé; -Nos roses dans l'enclos ont été ravagées -Par les petits enfants qui sautent le fossé.`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Un",is_delimiter:!1,gloss:"A"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"mur",is_delimiter:!1,gloss:"wall"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"clôt",is_delimiter:!1,gloss:"inclosed"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fontaine",is_delimiter:!1,gloss:"fountain"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où,",is_delimiter:!1,gloss:"where,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"par",is_delimiter:!1,gloss:"by"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'heure",is_delimiter:!1,gloss:"the hour"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"échauffée,",is_delimiter:!1,gloss:"warmed,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Folâtre,",is_delimiter:!1,gloss:"Sportif,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"elle",is_delimiter:!1,gloss:"she"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"buvait",is_delimiter:!1,gloss:"drank"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"descendant",is_delimiter:!1,gloss:"descending"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"des",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bois;",is_delimiter:!1,gloss:"woods;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Elle",is_delimiter:!1,gloss:"She"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"prenait",is_delimiter:!1,gloss:"took"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'eau",is_delimiter:!1,gloss:"the-water"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sa",is_delimiter:!1,gloss:"her"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"main,",is_delimiter:!1,gloss:"hand,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"douce",is_delimiter:!1,gloss:"sweet"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fée,",is_delimiter:!1,gloss:"fairy,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"laissait",is_delimiter:!1,gloss:"let"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"retomber",is_delimiter:!1,gloss:"fall-back"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"des",is_delimiter:!1,gloss:"some"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"perles",is_delimiter:!1,gloss:"pearls"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"from"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ses",is_delimiter:!1,gloss:"her"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"doigts!",is_delimiter:!1,gloss:"fingers!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Un mur clôt la fontaine où, par l'heure échauffée, -Folâtre, elle buvait en descendant des bois; -Elle prenait de l'eau dans sa main, douce fée, -Et laissait retomber des perles de ses doigts!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"On",is_delimiter:!1,gloss:"On"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"a",is_delimiter:!1,gloss:"has"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pavé",is_delimiter:!1,gloss:"paved"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"route",is_delimiter:!1,gloss:"road"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"âpre",is_delimiter:!1,gloss:"rough"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"mal",is_delimiter:!1,gloss:"badly"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"aplanie,",is_delimiter:!1,gloss:"levelled,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Où,",is_delimiter:!1,gloss:"Where,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sable",is_delimiter:!1,gloss:"sand"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pur",is_delimiter:!1,gloss:"pure"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"se",is_delimiter:!1,gloss:"itself"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dessinant",is_delimiter:!1,gloss:"tracing"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"si",is_delimiter:!1,gloss:"so"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bien,",is_delimiter:!1,gloss:"well,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sa",is_delimiter:!1,gloss:"its"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"petitesse",is_delimiter:!1,gloss:"smallness"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"étalant",is_delimiter:!1,gloss:"displaying"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'ironie,",is_delimiter:!1,gloss:"the-irony,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Son",is_delimiter:!1,gloss:"His"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pied",is_delimiter:!1,gloss:"foot"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"charmant",is_delimiter:!1,gloss:"charming"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"semblait",is_delimiter:!1,gloss:"seemed"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rire",is_delimiter:!1,gloss:"to-laugh"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"at"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"côté",is_delimiter:!1,gloss:"side"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"du",is_delimiter:!1,gloss:"of-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"mien!",is_delimiter:!1,gloss:"mine!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`On a pavé la route âpre et mal aplanie, -Où, dans le sable pur se dessinant si bien, -Et de sa petitesse étalant l'ironie, -Son pied charmant semblait rire à côté du mien!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"La",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"borne",is_delimiter:!1,gloss:"landmark"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"du",is_delimiter:!1,gloss:"of-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chemin,",is_delimiter:!1,gloss:"road,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"which"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vit",is_delimiter:!1,gloss:"saw"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"des",is_delimiter:!1,gloss:"of-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"jours",is_delimiter:!1,gloss:"days"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sans",is_delimiter:!1,gloss:"without"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nombre,",is_delimiter:!1,gloss:"number,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Où",is_delimiter:!1,gloss:"Where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"jadis",is_delimiter:!1,gloss:"formerly"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pour",is_delimiter:!1,gloss:"for"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"m'attendre",is_delimiter:!1,gloss:"me-to-wait"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"elle",is_delimiter:!1,gloss:"she"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"aimait",is_delimiter:!1,gloss:"loved"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"s'asseoir,",is_delimiter:!1,gloss:"sit,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"S'est",is_delimiter:!1,gloss:"Has"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"usée",is_delimiter:!1,gloss:"wasted"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"heurtant,",is_delimiter:!1,gloss:"-hitting,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"lorsque",is_delimiter:!1,gloss:"when"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"route",is_delimiter:!1,gloss:"road"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"est",is_delimiter:!1,gloss:"is"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sombre,",is_delimiter:!1,gloss:"dark,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Les",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"grands",is_delimiter:!1,gloss:"great"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chars",is_delimiter:!1,gloss:"wagons"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"gémissants",is_delimiter:!1,gloss:"groaning"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"which"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"reviennent",is_delimiter:!1,gloss:"return"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"soir.",is_delimiter:!1,gloss:"evening."}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`La borne du chemin, qui vit des jours sans nombre, -Où jadis pour m'attendre elle aimait à s'asseoir, -S'est usée en heurtant, lorsque la route est sombre, -Les grands chars gémissants qui reviennent le soir.`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"La",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"forêt",is_delimiter:!1,gloss:"forest"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ici",is_delimiter:!1,gloss:"here"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"manque",is_delimiter:!1,gloss:"wants"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"là",is_delimiter:!1,gloss:"there"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"s'est",is_delimiter:!1,gloss:"has"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"agrandie.",is_delimiter:!1,gloss:"enlarged."},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"De",is_delimiter:!1,gloss:"Of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ce",is_delimiter:!1,gloss:"this"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"who"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fut",is_delimiter:!1,gloss:"was"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"we"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"presque",is_delimiter:!1,gloss:"almost"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rien",is_delimiter:!1,gloss:"nothing"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"n'est",is_delimiter:!1,gloss:"is"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vivant;",is_delimiter:!1,gloss:"living;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et,",is_delimiter:!1,gloss:"And,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"comme",is_delimiter:!1,gloss:"like"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"un",is_delimiter:!1,gloss:"a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tas",is_delimiter:!1,gloss:"heap"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"cendre",is_delimiter:!1,gloss:"ashes"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"éteinte",is_delimiter:!1,gloss:"extinguished"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"refroidie,",is_delimiter:!1,gloss:"cooled,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"L'amas",is_delimiter:!1,gloss:"The-heap"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"des",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"souvenirs",is_delimiter:!1,gloss:"recollections"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"se",is_delimiter:!1,gloss:"itself"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"disperse",is_delimiter:!1,gloss:"disperses"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"every"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vent!",is_delimiter:!1,gloss:"wind!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`La forêt ici manque et là s'est agrandie. -De tout ce qui fut nous presque rien n'est vivant; -Et, comme un tas de cendre éteinte et refroidie, -L'amas des souvenirs se disperse à tout vent!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"N'existons-nous",is_delimiter:!1,gloss:"Do-we not-exist"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"donc",is_delimiter:!1,gloss:"then"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"plus?",is_delimiter:!1,gloss:"more?"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"Avons-nous",is_delimiter:!1,gloss:"Have-we"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"eu",is_delimiter:!1,gloss:"had"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"notre",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"heure",is_delimiter:!1,gloss:"hour"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"?",is_delimiter:!1,gloss:"?"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Rien",is_delimiter:!1,gloss:"Nothing"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ne",is_delimiter:!1,gloss:"not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"it"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rendra-t-il",is_delimiter:!1,gloss:"will-he-render"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"cris",is_delimiter:!1,gloss:"cries"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"superflus?",is_delimiter:!1,gloss:"superfluous?"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"L'air",is_delimiter:!1,gloss:"The-air"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"joue",is_delimiter:!1,gloss:"plays"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"avec",is_delimiter:!1,gloss:"with"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"branche",is_delimiter:!1,gloss:"branch"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"au",is_delimiter:!1,gloss:"at-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"moment",is_delimiter:!1,gloss:"moment"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"je",is_delimiter:!1,gloss:"I"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pleure;",is_delimiter:!1,gloss:"weep;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Ma",is_delimiter:!1,gloss:"My"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"maison",is_delimiter:!1,gloss:"house"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"me",is_delimiter:!1,gloss:"me"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"regarde",is_delimiter:!1,gloss:"regards"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ne",is_delimiter:!1,gloss:"not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"me",is_delimiter:!1,gloss:"me"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"connaît",is_delimiter:!1,gloss:"knows"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"plus.",is_delimiter:!1,gloss:"more"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`N'existons-nous donc plus? Avons-nous eu notre heure ? -Rien ne la rendra-t-il à nos cris superflus? -L'air joue avec la branche au moment où je pleure; -Ma maison me regarde et ne me connaît plus.`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"D'autres",is_delimiter:!1,gloss:"Others"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vont",is_delimiter:!1,gloss:"go"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"maintenant",is_delimiter:!1,gloss:"now"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"passer",is_delimiter:!1,gloss:"to-pass"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"we"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"passâmes.",is_delimiter:!1,gloss:"passed."},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Nous",is_delimiter:!1,gloss:"We"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"y",is_delimiter:!1,gloss:"there"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sommes",is_delimiter:!1,gloss:"are"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"venus,",is_delimiter:!1,gloss:"come,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"d'autres",is_delimiter:!1,gloss:"others"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vont",is_delimiter:!1,gloss:"go"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"y",is_delimiter:!1,gloss:"there"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"venir;",is_delimiter:!1,gloss:"to-come;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"songe",is_delimiter:!1,gloss:"dream"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qu'avaient",is_delimiter:!1,gloss:"which-had"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ébauché",is_delimiter:!1,gloss:"sketched"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"deux",is_delimiter:!1,gloss:"two"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"âmes,",is_delimiter:!1,gloss:"souls,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Ils",is_delimiter:!1,gloss:"They"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"it"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"continueront",is_delimiter:!1,gloss:"will-continue"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sans",is_delimiter:!1,gloss:"without"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pouvoir",is_delimiter:!1,gloss:"being-able"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"it"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"finir!",is_delimiter:!1,gloss:"to-finish!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`D'autres vont maintenant passer où nous passâmes. -Nous y sommes venus, d'autres vont y venir; -Et le songe qu'avaient ébauché nos deux âmes, -Ils le continueront sans pouvoir le finir!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Car",is_delimiter:!1,gloss:"For"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"personne",is_delimiter:!1,gloss:"nobody"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ici-bas",is_delimiter:!1,gloss:"here-below"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ne",is_delimiter:!1,gloss:"ne"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"termine",is_delimiter:!1,gloss:"finishes"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"n'achève;",is_delimiter:!1,gloss:"n'ends;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Les",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pires",is_delimiter:!1,gloss:"worst"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"des",is_delimiter:!1,gloss:"of-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"humains",is_delimiter:!1,gloss:"humans"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sont",is_delimiter:!1,gloss:"are"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"comme",is_delimiter:!1,gloss:"like"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"meilleurs;",is_delimiter:!1,gloss:"best;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Nous",is_delimiter:!1,gloss:"We"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"ourselves"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"réveillons",is_delimiter:!1,gloss:"awaken"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tous",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"au",is_delimiter:!1,gloss:"at-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"même",is_delimiter:!1,gloss:"same"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"endroit",is_delimiter:!1,gloss:"spot"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"du",is_delimiter:!1,gloss:"of-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rêve.",is_delimiter:!1,gloss:"dream."},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Tout",is_delimiter:!1,gloss:"All"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"commence",is_delimiter:!1,gloss:"begins"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ce",is_delimiter:!1,gloss:"this"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"monde",is_delimiter:!1,gloss:"world"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"finit",is_delimiter:!1,gloss:"finishes"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ailleurs.",is_delimiter:!1,gloss:"elsewhere."}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Car personne ici-bas ne termine et n'achève; -Les pires des humains sont comme les meilleurs; -Nous nous réveillons tous au même endroit du rêve. -Tout commence en ce monde et tout finit ailleurs.`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Oui,",is_delimiter:!1,gloss:"Yes,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"d'autres",is_delimiter:!1,gloss:"others"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"at"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"leur",is_delimiter:!1,gloss:"their"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tour",is_delimiter:!1,gloss:"turn"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"viendront,",is_delimiter:!1,gloss:"will-come,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"couples",is_delimiter:!1,gloss:"couples"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sans",is_delimiter:!1,gloss:"without"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tache,",is_delimiter:!1,gloss:"spot,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Puiser",is_delimiter:!1,gloss:"To-draw"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"cet",is_delimiter:!1,gloss:"this"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"asile",is_delimiter:!1,gloss:"asylum"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"heureux,",is_delimiter:!1,gloss:"happy,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"calme,",is_delimiter:!1,gloss:"calm,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"enchanté,",is_delimiter:!1,gloss:"enchanted,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Tout",is_delimiter:!1,gloss:"All"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ce",is_delimiter:!1,gloss:"this"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"que",is_delimiter:!1,gloss:"which"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nature",is_delimiter:!1,gloss:"nature"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'amour",is_delimiter:!1,gloss:"love"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"which"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"se",is_delimiter:!1,gloss:"(it) hides"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"cache",is_delimiter:!1,gloss:"conceals"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Mêle",is_delimiter:!1,gloss:"Blends"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rêverie",is_delimiter:!1,gloss:"reverie"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"solennité!",is_delimiter:!1,gloss:"solemnity!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Oui, d'autres à leur tour viendront, couples sans tache, -Puiser dans cet asile heureux, calme, enchanté, -Tout ce que la nature à l'amour qui se cache -Mêle de rêverie et de solennité!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"D'autres",is_delimiter:!1,gloss:"Others"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"auront",is_delimiter:!1,gloss:"shall have"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"champs,",is_delimiter:!1,gloss:"fields,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sentiers,",is_delimiter:!1,gloss:"paths,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"retraites;",is_delimiter:!1,gloss:"retreats;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Ton",is_delimiter:!1,gloss:"Thy"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bois,",is_delimiter:!1,gloss:"wood,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ma",is_delimiter:!1,gloss:"my"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bien-aimée,",is_delimiter:!1,gloss:"beloved,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"est",is_delimiter:!1,gloss:"is"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"des",is_delimiter:!1,gloss:"(the)"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"inconnus.",is_delimiter:!1,gloss:"unknowns."},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"D'autres",is_delimiter:!1,gloss:"Other"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"femmes",is_delimiter:!1,gloss:"women"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"viendront,",is_delimiter:!1,gloss:"will come,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"baigneuses",is_delimiter:!1,gloss:"bathers"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"indiscrètes,",is_delimiter:!1,gloss:"indiscreet,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Troubler",is_delimiter:!1,gloss:"To disturb"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"flot",is_delimiter:!1,gloss:"wave"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sacré",is_delimiter:!1,gloss:"sacred"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qu'ont",is_delimiter:!1,gloss:"that-have"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"touché",is_delimiter:!1,gloss:"touched"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tes",is_delimiter:!1,gloss:"thy"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pieds",is_delimiter:!1,gloss:"feet"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nus!",is_delimiter:!1,gloss:"bare!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`D'autres auront nos champs, nos sentiers, nos retraites; -Ton bois, ma bien-aimée, est à des inconnus. -D'autres femmes viendront, baigneuses indiscrètes, -Troubler le flot sacré qu'ont touché tes pieds nus!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Quoi",is_delimiter:!1,gloss:"What"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"donc!",is_delimiter:!1,gloss:"then!"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"c'est",is_delimiter:!1,gloss:"is"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vainement",is_delimiter:!1,gloss:"in-vain"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qu'ici",is_delimiter:!1,gloss:"that-here"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"we"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"us"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"aimâmes",is_delimiter:!1,gloss:"loved"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"!",is_delimiter:!1,gloss:"!"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Rien",is_delimiter:!1,gloss:"Nothing"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ne",is_delimiter:!1,gloss:"not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"to-us"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"restera",is_delimiter:!1,gloss:"will-remain"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ces",is_delimiter:!1,gloss:"these"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"coteaux",is_delimiter:!1,gloss:"hills"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fleuris",is_delimiter:!1,gloss:"flowery"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Où",is_delimiter:!1,gloss:"Where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"we"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fondions",is_delimiter:!1,gloss:"did-fond"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"notre",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"être",is_delimiter:!1,gloss:"being"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"y",is_delimiter:!1,gloss:"there"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"mêlant",is_delimiter:!1,gloss:"mingling"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"flammes!",is_delimiter:!1,gloss:"flames!"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"L'impassible",is_delimiter:!1,gloss:"The-impassible"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nature",is_delimiter:!1,gloss:"nature"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"a",is_delimiter:!1,gloss:"has"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"déjà",is_delimiter:!1,gloss:"already"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"repris.",is_delimiter:!1,gloss:"reclaimed."}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Quoi donc! c'est vainement qu'ici nous nous aimâmes ! -Rien ne nous restera de ces coteaux fleuris -Où nous fondions notre être en y mêlant nos flammes! -L'impassible nature a déjà tout repris.`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Oh!",is_delimiter:!1,gloss:"Oh!"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dites-moi,",is_delimiter:!1,gloss:"tell-me,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ravins,",is_delimiter:!1,gloss:"ravines,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"frais",is_delimiter:!1,gloss:"cool"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ruisseaux,",is_delimiter:!1,gloss:"brooks,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"treilles",is_delimiter:!1,gloss:"vines"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"mûres,",is_delimiter:!1,gloss:"ripe,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Rameaux",is_delimiter:!1,gloss:"Branches"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chargés",is_delimiter:!1,gloss:"loaded"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nids,",is_delimiter:!1,gloss:"nests,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"grottes,",is_delimiter:!1,gloss:"caverns,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"forêts,",is_delimiter:!1,gloss:"woods,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"buissons.",is_delimiter:!1,gloss:"bushes."},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Est-ce",is_delimiter:!1,gloss:"Is-it"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"que",is_delimiter:!1,gloss:"that"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vous",is_delimiter:!1,gloss:"you"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ferez",is_delimiter:!1,gloss:"will-do"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pour",is_delimiter:!1,gloss:"for"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"d'autres",is_delimiter:!1,gloss:"others"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vos",is_delimiter:!1,gloss:"your"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"murmures?",is_delimiter:!1,gloss:"murmurs?"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Est-ce",is_delimiter:!1,gloss:"Is-it"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"que",is_delimiter:!1,gloss:"that"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vous",is_delimiter:!1,gloss:"you"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"direz",is_delimiter:!1,gloss:"will-say"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"d'autres",is_delimiter:!1,gloss:"others"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vos",is_delimiter:!1,gloss:"your"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chansons?",is_delimiter:!1,gloss:"songs?"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Oh! dites-moi, ravins, frais ruisseaux, treilles mûres, -Rameaux chargés de nids, grottes, forêts, buissons. -Est-ce que vous ferez pour d'autres vos murmures? -Est-ce que vous direz à d'autres vos chansons?`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Nous",is_delimiter:!1,gloss:"We"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vous",is_delimiter:!1,gloss:"you"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"comprenions",is_delimiter:!1,gloss:"understood"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tant!",is_delimiter:!1,gloss:"so much!"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"doux,",is_delimiter:!1,gloss:"sweet,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"attentifs,",is_delimiter:!1,gloss:"attentive,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"austères,",is_delimiter:!1,gloss:"austere,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Tous",is_delimiter:!1,gloss:"All"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"échos",is_delimiter:!1,gloss:"echoes"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"s'ouvraient",is_delimiter:!1,gloss:"did open"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"si",is_delimiter:!1,gloss:"so"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bien",is_delimiter:!1,gloss:"well"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"votre",is_delimiter:!1,gloss:"your"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"voix!",is_delimiter:!1,gloss:"voice!"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"we"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"prêtions",is_delimiter:!1,gloss:"lent"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"si",is_delimiter:!1,gloss:"so"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bien,",is_delimiter:!1,gloss:"well,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sans",is_delimiter:!1,gloss:"without"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"troubler",is_delimiter:!1,gloss:"troubling"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vos",is_delimiter:!1,gloss:"your"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"mystères,",is_delimiter:!1,gloss:"mysteries,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"L'oreille",is_delimiter:!1,gloss:"The-ear"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"aux",is_delimiter:!1,gloss:"to-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"mots",is_delimiter:!1,gloss:"words"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"profonds",is_delimiter:!1,gloss:"profound"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"que",is_delimiter:!1,gloss:"which"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vous",is_delimiter:!1,gloss:"you"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dites",is_delimiter:!1,gloss:"say"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"parfois!",is_delimiter:!1,gloss:"sometimes!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Nous vous comprenions tant! doux, attentifs, austères, -Tous nos échos s'ouvraient si bien à votre voix! -Et nous prêtions si bien, sans troubler vos mystères, -L'oreille aux mots profonds que vous dites parfois!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Répondez,",is_delimiter:!1,gloss:"Answer,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vallon",is_delimiter:!1,gloss:"valley"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pur,",is_delimiter:!1,gloss:"pure,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"répondez,",is_delimiter:!1,gloss:"answer,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"solitude,",is_delimiter:!1,gloss:"solitary,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"O",is_delimiter:!1,gloss:"O"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nature",is_delimiter:!1,gloss:"nature"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"abritée",is_delimiter:!1,gloss:"sheltered"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ce",is_delimiter:!1,gloss:"this"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"désert",is_delimiter:!1,gloss:"desert"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"si",is_delimiter:!1,gloss:"so"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"beau,",is_delimiter:!1,gloss:"beautiful,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Lorsque",is_delimiter:!1,gloss:"When"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"we"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dormirons",is_delimiter:!1,gloss:"shall sleep"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tous",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"deux",is_delimiter:!1,gloss:"two"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'attitude",is_delimiter:!1,gloss:"the attitude"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Que",is_delimiter:!1,gloss:"Which"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"donne",is_delimiter:!1,gloss:"gives"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"aux",is_delimiter:!1,gloss:"to (it)"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"morts",is_delimiter:!1,gloss:"dead"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pensifs",is_delimiter:!1,gloss:"pensive"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"forme",is_delimiter:!1,gloss:"form"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"du",is_delimiter:!1,gloss:"of-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tombeau,",is_delimiter:!1,gloss:"tomb."}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Répondez, vallon pur, répondez, solitude, -O nature abritée en ce désert si beau, -Lorsque nous dormirons tous deux dans l'attitude -Que donne aux morts pensifs la forme du tombeau,`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Est-ce",is_delimiter:!1,gloss:"Is-it"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"que",is_delimiter:!1,gloss:"that"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vous",is_delimiter:!1,gloss:"you"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"serez",is_delimiter:!1,gloss:"will-be"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ce",is_delimiter:!1,gloss:"this"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"point",is_delimiter:!1,gloss:"point"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"insensible",is_delimiter:!1,gloss:"insensible"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"De",is_delimiter:!1,gloss:"To"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"us"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"savoir",is_delimiter:!1,gloss:"to-know"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"couchés,",is_delimiter:!1,gloss:"couched,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"morts",is_delimiter:!1,gloss:"dead"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"avec",is_delimiter:!1,gloss:"with"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"amours,",is_delimiter:!1,gloss:"loves,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"continuer",is_delimiter:!1,gloss:"continue"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"votre",is_delimiter:!1,gloss:"your"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fête",is_delimiter:!1,gloss:"festival"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"paisible,",is_delimiter:!1,gloss:"peaceful,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"toujours",is_delimiter:!1,gloss:"always"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sourire",is_delimiter:!1,gloss:"smile"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chanter",is_delimiter:!1,gloss:"sing"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"toujours?",is_delimiter:!1,gloss:"always?"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Est-ce que vous serez à ce point insensible -De nous savoir couchés, morts avec nos amours, -Et de continuer votre fête paisible, -Et de toujours sourire et de chanter toujours?`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Est-ce",is_delimiter:!1,gloss:"Is-it"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"que,",is_delimiter:!1,gloss:"that,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"we"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sentant",is_delimiter:!1,gloss:"feeling"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"errer",is_delimiter:!1,gloss:"to-err"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vos",is_delimiter:!1,gloss:"your"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"retraites,",is_delimiter:!1,gloss:"retreats,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Fantômes",is_delimiter:!1,gloss:"Ghosts"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"reconnus",is_delimiter:!1,gloss:"recognized"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"par",is_delimiter:!1,gloss:"by"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vos",is_delimiter:!1,gloss:"your"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"monts",is_delimiter:!1,gloss:"mountains"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vos",is_delimiter:!1,gloss:"your"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bois,",is_delimiter:!1,gloss:"woods,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Vous",is_delimiter:!1,gloss:"You"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ne",is_delimiter:!1,gloss:"not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"to-us"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"direz",is_delimiter:!1,gloss:"will-say"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pas",is_delimiter:!1,gloss:"not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ces",is_delimiter:!1,gloss:"these"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"choses",is_delimiter:!1,gloss:"things"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"secrètes",is_delimiter:!1,gloss:"secret"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Qu'on",is_delimiter:!1,gloss:"Which-are"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dit",is_delimiter:!1,gloss:"said"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"revoyant",is_delimiter:!1,gloss:"seeing-again"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"des",is_delimiter:!1,gloss:"(by)-some"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"amis",is_delimiter:!1,gloss:"friends"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"d'autrefois?",is_delimiter:!1,gloss:"of-former-times?"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Est-ce que, nous sentant errer dans vos retraites, -Fantômes reconnus par vos monts et vos bois, -Vous ne nous direz pas de ces choses secrètes -Qu'on dit en revoyant des amis d'autrefois?`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Est-ce",is_delimiter:!1,gloss:"Is-it"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"que",is_delimiter:!1,gloss:"that"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vous",is_delimiter:!1,gloss:"you"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pourrez,",is_delimiter:!1,gloss:"will-be-able,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sans",is_delimiter:!1,gloss:"without"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tristesse",is_delimiter:!1,gloss:"sadness"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sans",is_delimiter:!1,gloss:"without"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"plainte,",is_delimiter:!1,gloss:"complaint,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Voir",is_delimiter:!1,gloss:"To-see"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ombres",is_delimiter:!1,gloss:"shades"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"flotter",is_delimiter:!1,gloss:"to-float"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"marchèrent",is_delimiter:!1,gloss:"marched"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pas,",is_delimiter:!1,gloss:"steps,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"her"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"voir",is_delimiter:!1,gloss:"to-see"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"m'entraîner,",is_delimiter:!1,gloss:"me-drag,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"une",is_delimiter:!1,gloss:"a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"morne",is_delimiter:!1,gloss:"dull"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"étreinte,",is_delimiter:!1,gloss:"embrace,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Vers",is_delimiter:!1,gloss:"Toward"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"quelque",is_delimiter:!1,gloss:"some"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"source",is_delimiter:!1,gloss:"fountain"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pleurs",is_delimiter:!1,gloss:"tears"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"which"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sanglote",is_delimiter:!1,gloss:"sobs"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bas?",is_delimiter:!1,gloss:"low?"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Est-ce que vous pourrez, sans tristesse et sans plainte, -Voir nos ombres flotter où marchèrent nos pas, -Et la voir m'entraîner, dans une morne étreinte, -Vers quelque source en pleurs qui sanglote tout bas?`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"s'il",is_delimiter:!1,gloss:"if he"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"est",is_delimiter:!1,gloss:"is"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"quelque",is_delimiter:!1,gloss:"somewhere"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"part,",is_delimiter:!1,gloss:"part,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'ombre",is_delimiter:!1,gloss:"the-shade"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rien",is_delimiter:!1,gloss:"nothing"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ne",is_delimiter:!1,gloss:"not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"veille,",is_delimiter:!1,gloss:"watches,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Deux",is_delimiter:!1,gloss:"Two"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"amants",is_delimiter:!1,gloss:"lovers"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sous",is_delimiter:!1,gloss:"under"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vos",is_delimiter:!1,gloss:"your"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fleurs",is_delimiter:!1,gloss:"flowers"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"abritant",is_delimiter:!1,gloss:"sheltering"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"leurs",is_delimiter:!1,gloss:"their"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"transports,",is_delimiter:!1,gloss:"raptures,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Ne",is_delimiter:!1,gloss:"Not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"leur",is_delimiter:!1,gloss:"to-them"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"irez-vous",is_delimiter:!1,gloss:"will-you-go"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pas",is_delimiter:!1,gloss:"not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"murmurer",is_delimiter:!1,gloss:"to-murmur"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'oreille:",is_delimiter:!1,gloss:"ear:"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"-",is_delimiter:!1,gloss:"-"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"Vous",is_delimiter:!1,gloss:"You"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"who"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vivez,",is_delimiter:!1,gloss:"live,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"donnez",is_delimiter:!1,gloss:"give"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"une",is_delimiter:!1,gloss:"a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pensée",is_delimiter:!1,gloss:"thought"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"aux",is_delimiter:!1,gloss:"to-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"morts!",is_delimiter:!1,gloss:"dead!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Et s'il est quelque part, dans l'ombre où rien ne veille, -Deux amants sous vos fleurs abritant leurs transports, -Ne leur irez-vous pas murmurer à l'oreille: -- Vous qui vivez, donnez une pensée aux morts!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Dieu",is_delimiter:!1,gloss:"God"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"to-us"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"prête",is_delimiter:!1,gloss:"lend"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"un",is_delimiter:!1,gloss:"a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"moment",is_delimiter:!1,gloss:"moment"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"prés",is_delimiter:!1,gloss:"meadows,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fontaines,",is_delimiter:!1,gloss:"fountains,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Les",is_delimiter:!1,gloss:"The"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"grands",is_delimiter:!1,gloss:"great"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bois",is_delimiter:!1,gloss:"woods"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"frissonnants,",is_delimiter:!1,gloss:"trembling,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rocs",is_delimiter:!1,gloss:"rocks"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"profonds",is_delimiter:!1,gloss:"profound"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sourds",is_delimiter:!1,gloss:"dull"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"cieux",is_delimiter:!1,gloss:"heavens"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"azurés",is_delimiter:!1,gloss:"azured"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"lacs",is_delimiter:!1,gloss:"lakes"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"plaines,",is_delimiter:!1,gloss:"plains,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Pour",is_delimiter:!1,gloss:"In-order"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"y",is_delimiter:!1,gloss:"there"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"mettre",is_delimiter:!1,gloss:"to-put"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"coeurs,",is_delimiter:!1,gloss:"hearts,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rêves,",is_delimiter:!1,gloss:"dreams,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"amours;",is_delimiter:!1,gloss:"loves;"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Dieu nous prête un moment les prés et les fontaines, -Les grands bois frissonnants, les rocs profonds et sourds -Et les cieux azurés et les lacs et les plaines, -Pour y mettre nos coeurs, nos rêves, nos amours;`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Puis",is_delimiter:!1,gloss:"Then"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"il",is_delimiter:!1,gloss:"he"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"us"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"retire.",is_delimiter:!1,gloss:"withdraws."},{txt:" ",is_delimiter:!0,gloss:null},{txt:"Il",is_delimiter:!1,gloss:"He"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"souffle",is_delimiter:!1,gloss:"blows"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"notre",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"flamme;",is_delimiter:!1,gloss:"flame;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Il",is_delimiter:!1,gloss:"He"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"plonge",is_delimiter:!1,gloss:"plunges"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"into"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nuit",is_delimiter:!1,gloss:"night"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'antre",is_delimiter:!1,gloss:"the-cave"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"we"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rayonnons;",is_delimiter:!1,gloss:"shone;"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dit",is_delimiter:!1,gloss:"says"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vallée,",is_delimiter:!1,gloss:"valley,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"s'imprima",is_delimiter:!1,gloss:"was-impressed"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"notre",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"âme,",is_delimiter:!1,gloss:"soul,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"D'effacer",is_delimiter:!1,gloss:"To-efface"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"notre",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"trace",is_delimiter:!1,gloss:"trace"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"d'oublier",is_delimiter:!1,gloss:"to-forget"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"noms.",is_delimiter:!1,gloss:"names."}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Puis il nous les retire. Il souffle notre flamme; -Il plonge dans la nuit l'antre où nous rayonnons; -Et dit à la vallée, où s'imprima notre âme, -D'effacer notre trace et d'oublier nos noms.`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Eh",is_delimiter:!1,gloss:"Eh"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"bien!",is_delimiter:!1,gloss:"well!"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"oubliez-nous,",is_delimiter:!1,gloss:"forget-us,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"maison,",is_delimiter:!1,gloss:"house,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"jardin,",is_delimiter:!1,gloss:"garden,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ombrages",is_delimiter:!1,gloss:"shades"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"!",is_delimiter:!1,gloss:"!"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Herbe,",is_delimiter:!1,gloss:"Grass,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"use",is_delimiter:!1,gloss:"use"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"notre",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"seuil!",is_delimiter:!1,gloss:"threshold!"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ronce,",is_delimiter:!1,gloss:"bramble,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"cache",is_delimiter:!1,gloss:"hide"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pas",is_delimiter:!1,gloss:"steps"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"!",is_delimiter:!1,gloss:"!"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Chantez,",is_delimiter:!1,gloss:"Sing,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"oiseaux!",is_delimiter:!1,gloss:"birds!"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ruisseaux,",is_delimiter:!1,gloss:"streams,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"coulez",is_delimiter:!1,gloss:"flow"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"!",is_delimiter:!1,gloss:"!"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"croissez,",is_delimiter:!1,gloss:"increase,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"feuillages",is_delimiter:!1,gloss:"leaves"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"!",is_delimiter:!1,gloss:"!"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Ceux",is_delimiter:!1,gloss:"Those"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"que",is_delimiter:!1,gloss:"whom"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vous",is_delimiter:!1,gloss:"you"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"oubliez",is_delimiter:!1,gloss:"forget"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ne",is_delimiter:!1,gloss:"not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vous",is_delimiter:!1,gloss:"you"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"oublieront",is_delimiter:!1,gloss:"will-forget"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pas.",is_delimiter:!1,gloss:"not."}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Eh bien! oubliez-nous, maison, jardin, ombrages ! -Herbe, use notre seuil! ronce, cache nos pas ! -Chantez, oiseaux! ruisseaux, coulez ! croissez, feuillages ! -Ceux que vous oubliez ne vous oublieront pas.`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Car",is_delimiter:!1,gloss:"For"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vous",is_delimiter:!1,gloss:"you"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"êtes",is_delimiter:!1,gloss:"are"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pour",is_delimiter:!1,gloss:"for"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"us"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'ombre",is_delimiter:!1,gloss:"the-shade"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'amour",is_delimiter:!1,gloss:"love"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"même!",is_delimiter:!1,gloss:"even!"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Vous",is_delimiter:!1,gloss:"You"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"êtes",is_delimiter:!1,gloss:"are"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'oasis",is_delimiter:!1,gloss:"the-oasis"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qu'on",is_delimiter:!1,gloss:"which-one"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rencontre",is_delimiter:!1,gloss:"meets"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chemin!",is_delimiter:!1,gloss:"way!"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Vous",is_delimiter:!1,gloss:"You"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"êtes,",is_delimiter:!1,gloss:"are,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ô",is_delimiter:!1,gloss:"O"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vallon,",is_delimiter:!1,gloss:"hollow,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"retraite",is_delimiter:!1,gloss:"retreat"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"suprême",is_delimiter:!1,gloss:"supreme"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Où",is_delimiter:!1,gloss:"Where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"we"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"avons",is_delimiter:!1,gloss:"have"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pleuré",is_delimiter:!1,gloss:"wept"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"us"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tenant",is_delimiter:!1,gloss:"holding"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"par",is_delimiter:!1,gloss:"by"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"main!",is_delimiter:!1,gloss:"hand!"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Car vous êtes pour nous l'ombre de l'amour même! -Vous êtes l'oasis qu'on rencontre en chemin! -Vous êtes, ô vallon, la retraite suprême -Où nous avons pleuré nous tenant par la main!`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Toutes",is_delimiter:!1,gloss:"All"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"passions",is_delimiter:!1,gloss:"passions"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"s'éloignent",is_delimiter:!1,gloss:"withdraw"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"avec",is_delimiter:!1,gloss:"with"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'âge,",is_delimiter:!1,gloss:"age,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"L'une",is_delimiter:!1,gloss:"One"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"emportant",is_delimiter:!1,gloss:"carrying-off"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"son",is_delimiter:!1,gloss:"her"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"masque",is_delimiter:!1,gloss:"mask"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'autre",is_delimiter:!1,gloss:"the-other"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"son",is_delimiter:!1,gloss:"his"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"couteau,",is_delimiter:!1,gloss:"knife,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Comme",is_delimiter:!1,gloss:"Like"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"un",is_delimiter:!1,gloss:"a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"essaim",is_delimiter:!1,gloss:"swarm"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chantant",is_delimiter:!1,gloss:"singing"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"d'histrions",is_delimiter:!1,gloss:"of-players"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"voyage",is_delimiter:!1,gloss:"travel"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Dont",is_delimiter:!1,gloss:"Of-which"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"groupe",is_delimiter:!1,gloss:"group"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"décroît",is_delimiter:!1,gloss:"decreases"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"derrière",is_delimiter:!1,gloss:"behind"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"le",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"coteau.",is_delimiter:!1,gloss:"hill."}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Toutes les passions s'éloignent avec l'âge, -L'une emportant son masque et l'autre son couteau, -Comme un essaim chantant d'histrions en voyage -Dont le groupe décroît derrière le coteau.`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Mais",is_delimiter:!1,gloss:"But"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"toi,",is_delimiter:!1,gloss:"thou,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rien",is_delimiter:!1,gloss:"nothing"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ne",is_delimiter:!1,gloss:"not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"t'efface,",is_delimiter:!1,gloss:"effaces,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"amour!",is_delimiter:!1,gloss:"love!"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"toi",is_delimiter:!1,gloss:"thou"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"who"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"us"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"charmes,",is_delimiter:!1,gloss:"charmest,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Toi",is_delimiter:!1,gloss:"Thou"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui,",is_delimiter:!1,gloss:"who,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"torche",is_delimiter:!1,gloss:"candle"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ou",is_delimiter:!1,gloss:"or"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"flambeau,",is_delimiter:!1,gloss:"torch,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"luis",is_delimiter:!1,gloss:"shinest"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"notre",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"brouillard!",is_delimiter:!1,gloss:"mist!"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Tu",is_delimiter:!1,gloss:"Thou"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nous",is_delimiter:!1,gloss:"us"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tiens",is_delimiter:!1,gloss:"holdest"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"par",is_delimiter:!1,gloss:"by"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"joie,",is_delimiter:!1,gloss:"joy,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"surtout",is_delimiter:!1,gloss:"above all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"par",is_delimiter:!1,gloss:"by"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"larmes.",is_delimiter:!1,gloss:"tears."},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Jeune",is_delimiter:!1,gloss:"Young"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"homme",is_delimiter:!1,gloss:"man"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"on",is_delimiter:!1,gloss:"they"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"te",is_delimiter:!1,gloss:"thee"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"maudit,",is_delimiter:!1,gloss:"curseth,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"on",is_delimiter:!1,gloss:"they"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"t'adore",is_delimiter:!1,gloss:"adore"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vieillard.",is_delimiter:!1,gloss:"old (man.)"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Mais toi, rien ne t'efface, amour! toi qui nous charmes, -Toi qui, torche ou flambeau, luis dans notre brouillard! -Tu nous tiens par la joie, et surtout par les larmes. -Jeune homme on te maudit, on t'adore vieillard.`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Dans",is_delimiter:!1,gloss:"In"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ces",is_delimiter:!1,gloss:"these"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"jours",is_delimiter:!1,gloss:"days"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tête",is_delimiter:!1,gloss:"head"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"au",is_delimiter:!1,gloss:"at-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"poids",is_delimiter:!1,gloss:"weight"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"des",is_delimiter:!1,gloss:"of-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ans",is_delimiter:!1,gloss:"years"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"s'incline,",is_delimiter:!1,gloss:"inclines,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Où",is_delimiter:!1,gloss:"Where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'homme,",is_delimiter:!1,gloss:"the-man,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sans",is_delimiter:!1,gloss:"without"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"projets,",is_delimiter:!1,gloss:"projects,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sans",is_delimiter:!1,gloss:"without"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"but,",is_delimiter:!1,gloss:"end,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sans",is_delimiter:!1,gloss:"without"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"visions,",is_delimiter:!1,gloss:"visions,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Sent",is_delimiter:!1,gloss:"Feels"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qu'il",is_delimiter:!1,gloss:"that-he"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"n'est",is_delimiter:!1,gloss:"is-not"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"déjà",is_delimiter:!1,gloss:"already"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"plus",is_delimiter:!1,gloss:"more"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qu'une",is_delimiter:!1,gloss:"than-a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tombe",is_delimiter:!1,gloss:"tomb"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ruine",is_delimiter:!1,gloss:"ruin"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Où",is_delimiter:!1,gloss:"Where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"gisent",is_delimiter:!1,gloss:"lie"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ses",is_delimiter:!1,gloss:"his"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"vertus",is_delimiter:!1,gloss:"virtues"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ses",is_delimiter:!1,gloss:"his"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"illusions;",is_delimiter:!1,gloss:"illusions;"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Dans ces jours où la tête au poids des ans s'incline, -Où l'homme, sans projets, sans but, sans visions, -Sent qu'il n'est déjà plus qu'une tombe en ruine -Où gisent ses vertus et ses illusions;`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Quand",is_delimiter:!1,gloss:"When"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"notre",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"âme",is_delimiter:!1,gloss:"soul"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rêvant",is_delimiter:!1,gloss:"dreaming"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"descend",is_delimiter:!1,gloss:"descends"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"into"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nos",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"entrailles,",is_delimiter:!1,gloss:"bowels,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Comptant",is_delimiter:!1,gloss:"Counting"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"notre",is_delimiter:!1,gloss:"our"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"coeur,",is_delimiter:!1,gloss:"heart,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qu'enfin",is_delimiter:!1,gloss:"that finally"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"la",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"glace",is_delimiter:!1,gloss:"ice"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"atteint,",is_delimiter:!1,gloss:"reached,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Comme",is_delimiter:!1,gloss:"Like"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"on",is_delimiter:!1,gloss:"one"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"compte",is_delimiter:!1,gloss:"counts"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"les",is_delimiter:!1,gloss:"the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"morts",is_delimiter:!1,gloss:"dead"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sur",is_delimiter:!1,gloss:"upon"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"un",is_delimiter:!1,gloss:"a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"champ",is_delimiter:!1,gloss:"field"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"de",is_delimiter:!1,gloss:"of"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"batailles,",is_delimiter:!1,gloss:"battles,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Chaque",is_delimiter:!1,gloss:"Each"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"douleur",is_delimiter:!1,gloss:"pain"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tombée",is_delimiter:!1,gloss:"fallen"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"et",is_delimiter:!1,gloss:"and"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chaque",is_delimiter:!1,gloss:"each"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"songe",is_delimiter:!1,gloss:"dream"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"éteint,",is_delimiter:!1,gloss:"extinguished,"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Quand notre âme en rêvant descend dans nos entrailles, -Comptant dans notre coeur, qu'enfin la glace atteint, -Comme on compte les morts sur un champ de batailles, -Chaque douleur tombée et chaque songe éteint,`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Comme",is_delimiter:!1,gloss:"Like"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"quelqu'un",is_delimiter:!1,gloss:"some one"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"who"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"cherche",is_delimiter:!1,gloss:"seeks"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tenant",is_delimiter:!1,gloss:"holding"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"une",is_delimiter:!1,gloss:"a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"lampe,",is_delimiter:!1,gloss:"lamp,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Loin",is_delimiter:!1,gloss:"Far"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"des",is_delimiter:!1,gloss:"from-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"objets",is_delimiter:!1,gloss:"objects"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"réels,",is_delimiter:!1,gloss:"real,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"loin",is_delimiter:!1,gloss:"far"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"du",is_delimiter:!1,gloss:"from-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"monde",is_delimiter:!1,gloss:"world"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rieur,",is_delimiter:!1,gloss:"laughing,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Elle",is_delimiter:!1,gloss:"She"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"arrive",is_delimiter:!1,gloss:"arrives"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"à",is_delimiter:!1,gloss:"to"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"pas",is_delimiter:!1,gloss:"steps"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"lents",is_delimiter:!1,gloss:"slow"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"par",is_delimiter:!1,gloss:"by"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"une",is_delimiter:!1,gloss:"an"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"obscure",is_delimiter:!1,gloss:"obscure"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rampe",is_delimiter:!1,gloss:"slope"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Jusqu'au",is_delimiter:!1,gloss:"Until-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"fond",is_delimiter:!1,gloss:"bottom"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"désolé",is_delimiter:!1,gloss:"desolate"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"du",is_delimiter:!1,gloss:"of-the"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"gouffre",is_delimiter:!1,gloss:"gulf"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"intérieur;",is_delimiter:!1,gloss:"interior;"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Comme quelqu'un qui cherche en tenant une lampe, -Loin des objets réels, loin du monde rieur, -Elle arrive à pas lents par une obscure rampe -Jusqu'au fond désolé du gouffre intérieur;`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}},{pstate:"PARSED",tokens:[{txt:` - -`,is_delimiter:!0,gloss:null}],is_delimiter:!0,token_delimiters:` -\r\v\f`,annotator_info:"",original_text:` - -`,annotator_info_obj:{annotator_name:null,lang_from:null,lang_to:null}},{pstate:"ANNOTATED",tokens:[{txt:"Et",is_delimiter:!1,gloss:"And"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"là,",is_delimiter:!1,gloss:"there,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"cette",is_delimiter:!1,gloss:"this"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"nuit",is_delimiter:!1,gloss:"night"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qu'aucun",is_delimiter:!1,gloss:"that no"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"rayon",is_delimiter:!1,gloss:"ray"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"n'étoile,",is_delimiter:!1,gloss:"star"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"L'âme,",is_delimiter:!1,gloss:"The-soul,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"en",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"un",is_delimiter:!1,gloss:"a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"repli",is_delimiter:!1,gloss:"dark-fold"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sombre",is_delimiter:!1,gloss:"sombre"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"où",is_delimiter:!1,gloss:"where"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"tout",is_delimiter:!1,gloss:"all"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"semble",is_delimiter:!1,gloss:"seems"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"finir,",is_delimiter:!1,gloss:"to-finish,"},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"Sent",is_delimiter:!1,gloss:"Feels"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"quelque",is_delimiter:!1,gloss:"something"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"chose",is_delimiter:!1,gloss:"thing"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"encor",is_delimiter:!1,gloss:"yet"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"palpiter",is_delimiter:!1,gloss:"to-throb"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sous",is_delimiter:!1,gloss:"under"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"un",is_delimiter:!1,gloss:"a"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"voile...",is_delimiter:!1,gloss:"veil..."},{txt:` -`,is_delimiter:!0,gloss:null},{txt:"C'est",is_delimiter:!1,gloss:"It-is"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"toi",is_delimiter:!1,gloss:"thou"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"qui",is_delimiter:!1,gloss:"who"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dors",is_delimiter:!1,gloss:"sleepest"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"dans",is_delimiter:!1,gloss:"in"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"l'ombre,",is_delimiter:!1,gloss:"the-shade,"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"ô",is_delimiter:!1,gloss:"O"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"sacré",is_delimiter:!1,gloss:"sacred"},{txt:" ",is_delimiter:!0,gloss:null},{txt:"souvenir!",is_delimiter:!1,gloss:"memory!"},{txt:" ",is_delimiter:!0,gloss:null},{txt:'"',is_delimiter:!1,gloss:"!UNKNOWN"}],is_delimiter:!1,token_delimiters:` -\r\v\f`,annotator_info:"ChatGptAnnotator_`French`_`English`",original_text:`Et là, dans cette nuit qu'aucun rayon n'étoile, -L'âme, en un repli sombre où tout semble finir, -Sent quelque chose encor palpiter sous un voile... -C'est toi qui dors dans l'ombre, ô sacré souvenir! "`,annotator_info_obj:{annotator_name:"chatgpt_ft0",lang_from:"French",lang_to:"English"}}],paragraph_delimiters:[` - -`],original_text:`Les champs n'étaient point noirs, les cieux n'étaient pas mornes. -Non, le jour rayonnait dans un azur sans bornes -Sur la terre étendu, -L'air était plein d'encens et les prés de verdures -Quand il revit ces lieux où par tant de blessures -Son coeur s'est répandu! - -L'automne souriait; les coteaux vers la plaine -Penchaient leurs bois charmants qui jaunissaient à peine; -Le ciel était doré; -Et les oiseaux, tournés vers celui que tout nomme, -Disant peut-être à Dieu quelque chose de l'homme, -Chantaient leur chant sacré! - -Il voulut tout revoir, l'étang près de la source, -La masure où l'aumône avait vidé leur bourse, -Le vieux frêne plié, -Les retraites d'amour au fond des bois perdues, -L'arbre où dans les baisers leurs âmes confondues -Avaient tout oublié! - -Il chercha le jardin, la maison isolée, -La grille d'où l'oeil plonge en une oblique allée, -Les vergers en talus. -Pâle, il marchait. - Au bruit de son pas grave et sombre, -Il voyait à chaque arbre, hélas! se dresser l'ombre -Des jours qui ne sont plus! - -Il entendait frémir dans la forêt qu'il aime -Ce doux vent qui, faisant tout vibrer en nous-même, -Y réveille l'amour, -Et, remuant le chêne ou balançant la rose, -Semble l'âme de tout qui va sur chaque chose -Se poser tour à tour! - -Les feuilles qui gisaient dans le bois solitaire, -S'efforçant sous ses pas de s'élever de terre, -Couraient dans le jardin; -Ainsi, parfois, quand l'âme est triste, nos pensées -S'envolent un moment sur leurs ailes blessées, -Puis retombent soudain. - -Il contempla longtemps les formes magnifiques -Que la nature prend dans les champs pacifiques; -Il rêva jusqu'au soir; -Tout le jour il erra le long de la ravine, -Admirant tour à tour le ciel, face divine, -Le lac, divin miroir! - -Hélas! se rappelant ses douces aventures, -Regardant, sans entrer, par-dessus les clôtures, -Ainsi qu'un paria, -Il erra tout le jour, vers l'heure où la nuit tombe, -Il se sentit le coeur triste comme une tombe, -Alors il s'écria: - -" O douleur! j'ai voulu, moi dont l'âme est troublée, -Savoir si l'urne encor conservait la liqueur, -Et voir ce qu'avait fait cette heureuse vallée -De tout ce que j'avais laissé là de mon coeur! - -Que peu de temps suffit pour changer toutes choses! -Nature au front serein, comme vous oubliez! -Et comme vous brisez dans vos métamorphoses -Les fils mystérieux où nos coeurs sont liés! - -Nos chambres de feuillage en halliers sont changées! -L'arbre où fut notre chiffre est mort ou renversé; -Nos roses dans l'enclos ont été ravagées -Par les petits enfants qui sautent le fossé. - -Un mur clôt la fontaine où, par l'heure échauffée, -Folâtre, elle buvait en descendant des bois; -Elle prenait de l'eau dans sa main, douce fée, -Et laissait retomber des perles de ses doigts! - -On a pavé la route âpre et mal aplanie, -Où, dans le sable pur se dessinant si bien, -Et de sa petitesse étalant l'ironie, -Son pied charmant semblait rire à côté du mien! - -La borne du chemin, qui vit des jours sans nombre, -Où jadis pour m'attendre elle aimait à s'asseoir, -S'est usée en heurtant, lorsque la route est sombre, -Les grands chars gémissants qui reviennent le soir. - -La forêt ici manque et là s'est agrandie. -De tout ce qui fut nous presque rien n'est vivant; -Et, comme un tas de cendre éteinte et refroidie, -L'amas des souvenirs se disperse à tout vent! - -N'existons-nous donc plus? Avons-nous eu notre heure ? -Rien ne la rendra-t-il à nos cris superflus? -L'air joue avec la branche au moment où je pleure; -Ma maison me regarde et ne me connaît plus. - -D'autres vont maintenant passer où nous passâmes. -Nous y sommes venus, d'autres vont y venir; -Et le songe qu'avaient ébauché nos deux âmes, -Ils le continueront sans pouvoir le finir! - -Car personne ici-bas ne termine et n'achève; -Les pires des humains sont comme les meilleurs; -Nous nous réveillons tous au même endroit du rêve. -Tout commence en ce monde et tout finit ailleurs. - -Oui, d'autres à leur tour viendront, couples sans tache, -Puiser dans cet asile heureux, calme, enchanté, -Tout ce que la nature à l'amour qui se cache -Mêle de rêverie et de solennité! - -D'autres auront nos champs, nos sentiers, nos retraites; -Ton bois, ma bien-aimée, est à des inconnus. -D'autres femmes viendront, baigneuses indiscrètes, -Troubler le flot sacré qu'ont touché tes pieds nus! - -Quoi donc! c'est vainement qu'ici nous nous aimâmes ! -Rien ne nous restera de ces coteaux fleuris -Où nous fondions notre être en y mêlant nos flammes! -L'impassible nature a déjà tout repris. - -Oh! dites-moi, ravins, frais ruisseaux, treilles mûres, -Rameaux chargés de nids, grottes, forêts, buissons. -Est-ce que vous ferez pour d'autres vos murmures? -Est-ce que vous direz à d'autres vos chansons? - -Nous vous comprenions tant! doux, attentifs, austères, -Tous nos échos s'ouvraient si bien à votre voix! -Et nous prêtions si bien, sans troubler vos mystères, -L'oreille aux mots profonds que vous dites parfois! - -Répondez, vallon pur, répondez, solitude, -O nature abritée en ce désert si beau, -Lorsque nous dormirons tous deux dans l'attitude -Que donne aux morts pensifs la forme du tombeau, - -Est-ce que vous serez à ce point insensible -De nous savoir couchés, morts avec nos amours, -Et de continuer votre fête paisible, -Et de toujours sourire et de chanter toujours? - -Est-ce que, nous sentant errer dans vos retraites, -Fantômes reconnus par vos monts et vos bois, -Vous ne nous direz pas de ces choses secrètes -Qu'on dit en revoyant des amis d'autrefois? - -Est-ce que vous pourrez, sans tristesse et sans plainte, -Voir nos ombres flotter où marchèrent nos pas, -Et la voir m'entraîner, dans une morne étreinte, -Vers quelque source en pleurs qui sanglote tout bas? - -Et s'il est quelque part, dans l'ombre où rien ne veille, -Deux amants sous vos fleurs abritant leurs transports, -Ne leur irez-vous pas murmurer à l'oreille: -- Vous qui vivez, donnez une pensée aux morts! - -Dieu nous prête un moment les prés et les fontaines, -Les grands bois frissonnants, les rocs profonds et sourds -Et les cieux azurés et les lacs et les plaines, -Pour y mettre nos coeurs, nos rêves, nos amours; - -Puis il nous les retire. Il souffle notre flamme; -Il plonge dans la nuit l'antre où nous rayonnons; -Et dit à la vallée, où s'imprima notre âme, -D'effacer notre trace et d'oublier nos noms. - -Eh bien! oubliez-nous, maison, jardin, ombrages ! -Herbe, use notre seuil! ronce, cache nos pas ! -Chantez, oiseaux! ruisseaux, coulez ! croissez, feuillages ! -Ceux que vous oubliez ne vous oublieront pas. - -Car vous êtes pour nous l'ombre de l'amour même! -Vous êtes l'oasis qu'on rencontre en chemin! -Vous êtes, ô vallon, la retraite suprême -Où nous avons pleuré nous tenant par la main! - -Toutes les passions s'éloignent avec l'âge, -L'une emportant son masque et l'autre son couteau, -Comme un essaim chantant d'histrions en voyage -Dont le groupe décroît derrière le coteau. - -Mais toi, rien ne t'efface, amour! toi qui nous charmes, -Toi qui, torche ou flambeau, luis dans notre brouillard! -Tu nous tiens par la joie, et surtout par les larmes. -Jeune homme on te maudit, on t'adore vieillard. - -Dans ces jours où la tête au poids des ans s'incline, -Où l'homme, sans projets, sans but, sans visions, -Sent qu'il n'est déjà plus qu'une tombe en ruine -Où gisent ses vertus et ses illusions; - -Quand notre âme en rêvant descend dans nos entrailles, -Comptant dans notre coeur, qu'enfin la glace atteint, -Comme on compte les morts sur un champ de batailles, -Chaque douleur tombée et chaque songe éteint, - -Comme quelqu'un qui cherche en tenant une lampe, -Loin des objets réels, loin du monde rieur, -Elle arrive à pas lents par une obscure rampe -Jusqu'au fond désolé du gouffre intérieur; - -Et là, dans cette nuit qu'aucun rayon n'étoile, -L'âme, en un repli sombre où tout semble finir, -Sent quelque chose encor palpiter sous un voile... -C'est toi qui dors dans l'ombre, ô sacré souvenir! "`,p_div_locs:"[260, 262, 516, 518, 753, 755, 1005, 1007, 1233, 1235, 1480, 1482, 1706, 1708, 1934, 1936, 2129, 2131, 2315, 2317, 2506, 2508, 2697, 2699, 2867, 2869, 3074, 3076, 3263, 3265, 3459, 3461, 3643, 3645, 3838, 3840, 4022, 4024, 4228, 4230, 4420, 4422, 4626, 4628, 4837, 4839, 5017, 5019, 5193, 5195, 5380, 5382, 5587, 5589, 5792, 5794, 6001, 6003, 6191, 6193, 6396, 6398, 6578, 6580, 6764, 6766, 6981, 6983, 7174, 7176, 7383, 7385, 7566, 7568, 7767]"}]}];let ui=class{constructor(e,s,l){this.txt=e,this.gloss=s,this.is_delimiter=l}};class br{constructor(e,s,l){this.annotator_name=e,this.lang_from=s,this.lang_to=l}}let Fu=class{constructor(e,s,l,i,r,o){this.pstate=e,this.tokens=s,this.is_delimiter=l,this.token_delimiters=i,this.original_text=r,this.annotator_info_obj=o}},Lu=class vr{constructor(e,s,l,i){this.paragraphs=e,this.paragraph_delimiters=s,this.original_text=l,this.p_div_locs=i}static init_with_txt(e){return new vr([],null,e,[])}};const ai=` -\r\v\f`;function Mu(t,e){const s=e.split("").map(i=>i.replace(/[-\/\\^$.*+?()[\]{}|]/g,"\\$&")).join("|");return t.split(new RegExp(`(${s})`)).filter(i=>i!=="").map(i=>({token:i,is_delimiter:e.includes(i)}))}class di{static divide_into_paragraphs(e,s=[` -`]){const l=e.original_text;let i=s.map(o=>o.replace("\\n",` -`)),r=[l];i.sort((o,n)=>n.length-o.length),i.forEach(o=>{for(let n=0;n[g,o]).slice(0,-1),r[n]=u}r=[].concat(...r)}),e.p_div_locs=r.reduce((o,n)=>(o.push((o.length?o[o.length-1]:0)+n.length),o),[]),e.paragraphs=r.map(o=>new Fu("DIVIDED",[],s.includes(o),"",o,new br)),e.paragraph_delimiters=s}static parse_paragraph(e,s=ai){if(s||(s=ai),e.is_delimiter)e.tokens=[new ui(e.original_text,null,!0)];else{const l=Mu(e.original_text,s);e.tokens=l.map(({token:i,is_delimiter:r})=>new ui(i,null,r))}e.pstate="PARSED",e.token_delimiters=s}}const mi="!UNKNOWN";class yr{constructor(){this.annotator_name="DUMMYGLOSS"}async annotate(e,s,l){this.lang_from=s,this.lang_to=l,e.is_delimiter||(e.tokens&&e.tokens.length>0&&await this.put_gloss(e),e.pstate="ANNOTATED",e.annotator_info_obj.lang_from=this.lang_from,e.annotator_info_obj.lang_to=this.lang_to,e.annotator_info_obj.annotator_name=this.annotator_name)}async reannotate(e,s,l,i){this.lang_from=s,this.lang_to=l,!e.is_delimiter&&await this.reput_gloss(e,i)}async put_gloss(e){for(const s of e.tokens)s.is_delimiter||(s.gloss=`${this.annotator_name}(${s.txt})`)}async reput_gloss(e,s){for(const[l,i]of e.tokens.entries())s.includes(l)&&(i.gloss=`${this.annotator_name}_reannotated_\`${this.lang_from}\`_\`${this.lang_to}\``)}}const et="||",At="!TO_REANNOTATE",tl="!TOKEN_TO_IGNORE";function gi(t){return t.replace(/[^a-zA-Z]/g,"")}function Vu(t,e){const s=gi(t),l=gi(e);if(!s)return!0;const i=new Set(s),r=new Set(l),o=new Set([...i].filter(g=>r.has(g))),n=new Set([...i,...r]);return(n.size>0?o.size/n.size:0)>=.5}class zu extends yr{constructor(e){super(),this.annotator_name=e,this.glossFetcher=new Uu(!0)}async put_gloss(e){const s=e.tokens.filter(n=>!n.is_delimiter),l=s.map(n=>n.txt),i=this.chunkize(l);console.log(`Chunks: ${i}`);let r=[],o=-1;for(const n of i){const u=n-o;if(u<=0){console.warn("Warning: length <= 0"),o=n;continue}console.log(`[${o+1}:${n+1}] out of ${l.length} (len: ${u})`);const g=l.slice(o+1,n+1);let m=await this.glossFetcher.tryFetchGloss(g);r=r.concat(m),o=n,console.log(`Chunk: ${m} (len: ${m.length})`)}for(let n=0;nPP.txt),O=x.map(P=>P.gloss),$=await this.glossFetcher.tryFetchGloss(v,O);console.log(`Chunk: ${$} (len: ${$.length})`);for(let P=0;Pu.includes(g))&&i.push(n)}const r=[0];for(;;){const n=r[r.length-1];if(n+l>e.length)break;i=i.filter(m=>m>l);let u=i.filter(m=>m<=l),g;u.length===0?g=n+l:g=Math.max(...u),r.push(g)}r.shift();const o=e.length-1;return r.includes(o)||r.push(o),r}chunkizeForReannotation(e,s=16,l=4){const i=[];for(let r=0;r0){const g=i[i.length-1][1];if(re.length&&(u=e.length-1),i.push([n,u])}return i}}class Hu{constructor(e=!1){this.dummy=e}async fetchGloss(e){if(!this.dummy)throw new Error("NotImplementedError");const s=e.length;return Array.from({length:s},(l,i)=>[`dummy${i}`])}async tryFetchGloss(e){return await this.fetchGloss(e)}}class Uu extends Hu{async tryFetchGloss(e,s=null){console.log(`Trying to fetch ${e.length} glosses`);const l=A.innerRetry,i=A.outerRetry,r=Array.isArray(s);let o;r?(console.log(`Reannotating: ${s}`),o=this.makeQueryReannotation(e,s)):o=this.makeQuery(e);const n=[...this.getChat(r),{role:"user",content:o}];this.lastResText="";for(let u=0;ui.json()).then(i=>{const r=i.usage.total_tokens;console.log("token usage:",r);const o=i.choices[0].message.content;this.lastResText=o;let n=this.parseRes(o);return Object.keys(n).length!=e.length&&console.log("parsed:",n),n=this.validateRes(e,n,l),n})}makeQuery(e){let s="";for(const[l,i]of e.entries())s+=`${l}: ${i} -`;return s}makeQueryReannotation(e,s){let l="";for(const[i,[r,o]]of e.map((n,u)=>[u,[n,s[u]]]))l+=`${i}: ${r} ${et} ${o} -`;return l}parseRes(e){const s=e;try{if(e.includes("```"))e=e.split("```")[1];else if(e.includes("0:"))e=e.substring(e.indexOf("0:"));else throw new Error("The first line (`0: ...`) could not be found. Reformat the reply and answer again.");let l=e.split(` -`).filter(r=>r.trim()!==""),i={};return l.forEach(r=>{const[o,n]=r.match(/^(\d+):\s*(.*)$/).slice(1,3),u=parseInt(o.trim(),10),g=n.split(et).map(m=>m.trim()).filter(m=>m!=="");i[u]=g}),i}catch{throw console.error(s),new Error("Could not parse the output. The output should be in the codeblock (``` 0: ... ```) and additional notes are not needed.")}}validateRes(e,s,l){const i=Array.isArray(l);console.log("token_strs:",e),console.log("res:",s);for(let n=0;n=g.length)break;const[m,x]=g[n];if(!i&&n!==parseInt(m))throw new Error(`\`${m}:\` line not found.`);if(x.length<=0)throw new Error(`Empty line: ${n}.`);x.length===1&&x.push(mi);const[v,O]=x.slice(0,2);if(!i&&!Vu(u,v))throw new Error(`Expected \`${n}: ${u} ||\` but incorrectly got \`${n}: ${v} ||\`. The pair of the number and the text (${n}, ${u}) has to be exact. Rewrite including \`${n}: ${u} ||\`.`)}let r=[],o;if(i&&(console.log("reannotationGlossStrs:",l),o=l.map((n,u)=>n===At?u:-1).filter(n=>n!==-1),console.log("reannotationIndices",o),o.length===0))return console.log("TODO: reannotation_indices == []"),Array(e.length).fill(tl);for(let n=0;n`${g}: ${u[0]} ${et} ${g in n?At:u[1]}`).join(o)} - \`\`\` - `},{role:"assistant",content:` - \`\`\` - ${r.filter((u,g)=>n.includes(g)).map((u,g)=>`${g}: ${u[0]} ${et} ${u[1]}`).join(o)} - \`\`\` - `}]}else{const n=r.length;return[{role:"system",content:` - Parse this corpus (Interlinear gloss). - - The user will tokenize and enumerate the raw input, as: - \`Je suis.\` - to - \`\`\` - 0: Je - 1: suis. - \`\`\` - - - You are to respond with - \`\`\` - i: original_word ${et} gloss - \`\`\`. - Here, the glosses are delimited with \`${et}\`. - No line should be skipped. Otherwise it will raise an error. - - For example, if the gloss should be then translation to English, - the response shall be: - \`\`\` - 0: Je ${et} I - 1: suis. ${et} am. - \`\`\` - - Since the output text is to be processed by other program, - the structure of the output is important. - - The numbers should correspond to the original token. - No line shall be omitted! - \`\`\` - 0: Je - 1: le - 2: sais. - \`\`\` - \`\`\` - 0: Je ${et} I - 1: le ${et} it - 2: sais. ${et} know - \`\`\` - - The output should only consist of the gloss block (\`\`\`...\`\`\`) and any other notes will be ignored. - `},{role:"user",content:` - e.g. \`i: "original_word ${et} gloss\` - Since there are ${n} tokens in the input, ${n} lines of output is expected. - i.e. the last line be \`${n-1}: ...\` - - \`gloss\` is: - ${l} - - \`\`\` - ${r.map((u,g)=>`${g}: ${u[0]}`).join(o)} - \`\`\` - `},{role:"assistant",content:` - \`\`\` - ${r.map((u,g)=>`${g}: ${u[0]} ${et} ${u[1]}`).join(o)} - \`\`\` - `}]}}else return l="English translation",e?s=`Reannotate the input. A series of words will be given, which form a part of sentences. Some lines will have \`${At}\` on its right side, which is to be re-annotated. Return only lines with \`${At}\`, with ${At} itself replaced following the context.`:s=` - Parse this corpus (Interlinear gloss). - ${l} - `,[{role:"system",content:s}]}}function fi(t,e){return console.log(t),t&&t.startsWith("chatgpt_")?new zu(t,e):new yr}const Gu={props:{t:{type:Object,required:!0},index:{type:Number,required:!0}},data(){return{isSelected:!1}},computed:{is_delimiter(){return this.t.is_delimiter},should_linebreak(){return this.t.txt.includes(` -`)},txt(){return this.t.txt},gloss(){let t=this.t.gloss;return t=="!UNKNOWN"&&(t="-"),t}},methods:{toggle(){this.isSelected=!this.isSelected,this.$emit("selectionChanged",{tIndex:this.index,isSelected:this.isSelected})}}},Bu={class:"token_ul list-group list-group-flush"},Wu={class:"list-group-item token_txt"},Ku={class:"list-group-item gloss"},Ju={key:1},Qu={key:2,class:"token_wrapper"};function Yu(t,e,s,l,i,r){return r.is_delimiter?r.should_linebreak?(D(),I("br",Ju)):(D(),I("div",Qu,[_("span",null,ct(r.txt),1)])):(D(),I("div",{key:0,class:Ct(["token_wrapper","card",{"selected-token":i.isSelected}]),onClick:e[0]||(e[0]=o=>r.toggle())},[_("ul",Bu,[_("li",Wu,ct(r.txt),1),_("li",Ku,ct(r.gloss),1)])],2))}const Xu=ft(Gu,[["render",Yu],["__scopeId","data-v-b539fc8d"]]),Zu={props:{p:{type:Object,required:!0},index:{type:Number,required:!0},remote:{type:Boolean,default:!1}},components:{Token:Xu},computed:{isAnnotateButtonVisible(){return!this.p.is_delimiter&&this.p.tokens&&this.p.tokens.length},shouldShowManipulatorButtons(){return this.remote&&A.toRemote||!this.remote&&!A.toRemote&&A.openaiApiKey}},data(){return{selectedTokens:new Set,showPre:!1}},methods:{annotateP(){this.$emit("annotateP",this.index)},reannotateP(){this.$emit("reannotateP",this.index,Array.from(this.selectedTokens))},onSelectionChanged({tIndex:t,isSelected:e}){e?this.selectedTokens.add(t):this.selectedTokens.delete(t)}}},ta={class:"paragraph_wrapper"},ea={key:0,class:"paragraph_annotate_buttons_span"},sa={key:1};function la(t,e,s,l,i,r){const o=_t("Token");return D(),I("div",ta,[r.isAnnotateButtonVisible&&r.shouldShowManipulatorButtons?(D(),I("span",ea,[_("button",{class:"corpus_button btn btn-light",onClick:e[0]||(e[0]=n=>r.annotateP(s.index))}," Annotate "),_("button",{class:"corpus_button btn btn-light",onClick:e[1]||(e[1]=n=>r.reannotateP(s.index))}," Reannotate "),e[2]||(e[2]=_("br",null,null,-1))])):It("",!0),i.showPre?(D(),I("pre",sa,ct(JSON.stringify(s.p)),1)):It("",!0),(D(!0),I(K,null,ae(s.p.tokens,(n,u)=>(D(),ge(o,{key:u,t:n,index:u,onSelectionChanged:r.onSelectionChanged},null,8,["t","index","onSelectionChanged"]))),128))])}const ia=ft(Zu,[["render",la],["__scopeId","data-v-d3c29f34"]]),ra={props:{corpus_id:{required:!0},corpus:{type:Object,required:!0},remote:{type:Boolean,default:!1}},components:{Paragraph:ia},data(){return{api:new ot,sharedState:A,showPre:!1,mounted:!1}},computed:{isCorpusVisible(){return this.mounted&&A.currentOpenCorpus==this.corpus_id},currentP:{get(){return this.corpus.cursor||(this.corpus.cursor=0),this.corpus.cursor},set(t){let e=t;t<0&&(e=0),t>=this.corpus.paragraphs.length&&(e=this.corpus.paragraphs.length-1),this.corpus.cursor=e}},visibleParagraphs(){const t=Array.from({length:this.psPerScreen},(e,s)=>this.currentP+s);return this.corpus.paragraphs.filter((e,s)=>t.includes(s))},psPerScreen(){return A.psPerScreen>0?A.psPerScreen:this.corpus.paragraphs.length},pseudoState(){return!this.corpus.paragraphs||this.corpus.paragraphs.length<=0?"PLAIN":this.corpus.paragraphs[0].pstate},divideButtonClass(){const t=this.pseudoState=="PLAIN";return{"btn-primary":t,"btn-light":!t}},parseButtonClass(){const t=this.pseudoState=="DIVIDED";return{"btn-primary":t,"btn-light":!t}},annotateButtonClass(){const t=this.pseudoState=="PARSED";return{"btn-primary":t,"btn-light":!t}},header(){return this.remote?"REMOTE":"LOCAL"},shouldShowManipulatorButtons(){return this.remote&&A.toRemote||!this.remote&&!A.toRemote&&A.openaiApiKey},glossColor(){return A.glossColor},glossSize(){return A.glossSize+"%"},txtSize(){return A.txtSize+"%"}},methods:{toggleCorpusVisibility(){A.currentOpenCorpus==this.corpus_id?A.currentOpenCorpus="":A.currentOpenCorpus=this.corpus_id},download(){const t=JSON.stringify(this.corpus);console.log("Downloading...");let e=document.createElement("a"),s=new Blob([t],{type:"text/plain"});e.download=this.corpus_id+".corpus.json",e.href=URL.createObjectURL(s),e.click()},async divide(t=` -`){return A.toRemote?this.divideRemote(t):this.divideLocal(t)},async parse(){return A.toRemote?this.parseRemote():this.parseLocal()},async annotate(t=null){return A.toRemote?this.annotateRemote(t):this.annotateLocal(t)},async reannotate(t,e){if(!e){console.error("target_tokens is not given");return}if(e.length==0){st.emit("addAlert",{message:"No token selected.",alertClass:"alert-warning"});return}return A.toRemote?this.reannotateRemote(t,e):this.reannotateLocal(t,e)},async divideRemote(t){this.api.submit("/parser/divide","POST",{corpus_id:this.corpus_id,divide_options:{p_delims:[t]}})},async parseRemote(){this.api.submit("/parser/parse","POST",{corpus_id:this.corpus_id,parse_options:{t_delims:null}})},async annotateRemote(t){this.api.submit("/annotator/annotate","POST",{corpus_id:this.corpus_id,annotate_options:{annotator_name:this.sharedState.annotator_name,lang_from:this.sharedState.lang_from,lang_to:this.sharedState.lang_to,target_paragraphs:t}})},async reannotateRemote(t,e){this.api.submit("/annotator/reannotate","POST",{corpus_id:this.corpus_id,annotate_options:{annotator_name:this.sharedState.annotator_name,lang_from:this.sharedState.lang_from,lang_to:this.sharedState.lang_to,target_paragraphs:t},reannotate_options:{target_tokens:e}})},async divideLocal(t){di.divide_into_paragraphs(this.corpus,[t])},async parseLocal(){for(const t of this.corpus.paragraphs)di.parse_paragraph(t)},async annotateLocal(t){const e=fi(A.annotator_name),s=A.lang_from,l=A.lang_to;t&&(t.length==1&&t[0]==-1&&(t=this.corpus.paragraphs.map((i,r)=>({p:i,i:r})).filter(({p:i})=>!i.is_delimiter&&i.pstate!="ANNOTATED").map(({i})=>i)),console.log(t));for(const[i,r]of this.corpus.paragraphs.entries())t&&!t.includes(i)||await e.annotate(r,s,l)},async reannotateLocal(t,e){const s=fi(A.annotator_name),l=A.lang_from,i=A.lang_to,r=t[0],o=this.corpus.paragraphs[r];l||(l=o.annotator_info_obj.lang_from),i||(i=o.annotator_info_obj.lang_to),await s.reannotate(o,l,i,e)},scrollToOriginalHeader(){this.$refs.header.scrollIntoView({behavior:"smooth"})},handleResizeOrScroll(){this.isCorpusVisible&&this.scrollToOriginalHeader()},psPrev(){let t=this.currentP-this.psPerScreen;t>=0&&(this.currentP=t,this.scrollToTop())},psNext(){let t=this.currentP+this.psPerScreen;t{const t=this.$refs.corpus;t.scrollTop=0})},onAnnotateP(t){this.annotate([t])},onReannotateP(t,e){this.reannotate([t],e)}},watch:{isCorpusVisible(t){document.body.style.overflow=t?"hidden":"",this.scrollToOriginalHeader()}},mounted(){this.mounted=!0,window.addEventListener("resize",this.handleResizeOrScroll),window.addEventListener("scroll",this.handleResizeOrScroll)},beforeDestroy(){window.removeEventListener("resize",this.handleResizeOrScroll),window.removeEventListener("scroll",this.handleResizeOrScroll)}},oa={key:0,class:"pButtonsDiv"},na=["max"],ua={key:1,class:"corpus",ref:"corpus"},aa={class:"corpus_buttons_span"},da={key:0},ma={key:0,class:"corpus-pre"};function ga(t,e,s,l,i,r){const o=_t("Paragraph");return D(),I("div",{class:Ct(["corpus_wrapper",{"full-screen":r.isCorpusVisible}]),style:ys({"--gloss-color":r.glossColor,"--gloss-size":r.glossSize,"--txt-size":r.txtSize})},[e[11]||(e[11]=_("hr",null,null,-1)),_("h4",{onClick:e[0]||(e[0]=n=>r.toggleCorpusVisibility()),ref:"header"},ct(r.header+": "+s.corpus_id),513),r.isCorpusVisible?(D(),I("div",oa,[_("button",{class:"btn",onClick:e[1]||(e[1]=(...n)=>r.psPrev&&r.psPrev(...n))}," << "),it(_("input",{"onUpdate:modelValue":e[2]||(e[2]=n=>r.currentP=n),type:"number",class:"form-control w-auto d-inline",min:0,max:s.corpus.paragraphs.length-1},null,8,na),[[St,r.currentP,void 0,{number:!0}]]),_("span",null,"/"+ct(this.corpus.paragraphs.length-1),1),_("button",{class:"btn",onClick:e[3]||(e[3]=(...n)=>r.psNext&&r.psNext(...n))}," >> ")])):It("",!0),r.isCorpusVisible?(D(),I("div",ua,[_("span",aa,[_("button",{class:"corpus_button btn btn-light",onClick:e[4]||(e[4]=n=>r.download())},"Download"),r.shouldShowManipulatorButtons?(D(),I("span",da,[_("button",{class:Ct(["corpus_button","btn",r.divideButtonClass]),onClick:e[5]||(e[5]=n=>r.divide())},"Divide",2),_("button",{class:Ct(["corpus_button","btn",r.divideButtonClass]),onClick:e[6]||(e[6]=n=>r.divide("\\n\\n"))},"Divide (for poems)",2),_("button",{class:Ct(["corpus_button","btn",r.parseButtonClass]),onClick:e[7]||(e[7]=n=>r.parse())},"Parse",2),_("button",{class:Ct(["corpus_button","btn",r.annotateButtonClass]),onClick:e[8]||(e[8]=n=>r.annotate([-1]))}," Annotate ",2),_("button",{class:Ct(["corpus_button","btn",r.annotateButtonClass]),onClick:e[9]||(e[9]=n=>r.annotate(null))}," Annotate (Reset) ",2)])):It("",!0)]),e[10]||(e[10]=_("br",null,null,-1)),i.showPre?(D(),I("pre",ma,ct(JSON.stringify(s.corpus)),1)):It("",!0),(D(!0),I(K,null,ae(r.visibleParagraphs,(n,u)=>(D(),ge(o,{key:u,p:n,index:u,remote:s.remote,onAnnotateP:r.onAnnotateP,onReannotateP:r.onReannotateP},null,8,["p","index","remote","onAnnotateP","onReannotateP"]))),128))],512)):It("",!0)],6)}const fa=ft(ra,[["render",ga],["__scopeId","data-v-f91ef68e"]]),_a={components:{Corpus:fa},data(){return{api:new ot,sampleHost:"https://parkchamchi.github.io/GlossySnake/samples/v1/",db:null,localCorpuses:[...os],remoteCorpuses:[],remoteSampleFilenames:[]}},watch:{localCorpuses:{handler(t){this.saveCorpuses(t)},deep:!0}},methods:{async updateCorpuses(){const e=await(await this.api.submit("/corpuses/")).json();this.remoteCorpuses=e},async getRemoteSamples(){await fetch(this.sampleHost).then(t=>t.json()).then(t=>{this.remoteSampleFilenames=t.filenames})},async getRemoteSampleCorpus(t){fetch(this.sampleHost+t).then(e=>e.json()).then(e=>{const s=t.replace(".corpus.json","");this.addLocalCorpus({corpus_id:s,corpus:e})})},async addLocalCorpus({corpus_id:t,corpus:e}){let s=t;s==""&&(s="Corpus");const l=new Set(this.localCorpuses.map(r=>r.corpus_id));let i=1;for(;l.has(s);)s=`${t} (${i++})`;this.localCorpuses.push({corpus_id:s,corpuses_history:[e]})},clearCorpuses(){this.localCorpuses=[...os]},openDB(t,e,s){return new Promise((l,i)=>{const r=indexedDB.open(t,e);r.onupgradeneeded=o=>{const n=o.target.result;s(n)},r.onsuccess=o=>{l(o.target.result)},r.onerror=o=>{i(o.target.error)}})},getCorpuses(){return new Promise((t,e)=>{const i=this.db.transaction(["corpuses"],"readonly").objectStore("corpuses").getAll();i.onsuccess=()=>{t(i.result)},i.onerror=r=>{e(r.target.error)}})},saveCorpuses(t){const e=this.db.transaction(["corpuses"],"readwrite"),s=e.objectStore("corpuses");return s.clear(),t.forEach(l=>{const i=JSON.parse(JSON.stringify(l));s.put(i)}),e.complete}},async created(){st.on("updateCorpuses",this.updateCorpuses),st.on("addLocalCorpus",this.addLocalCorpus),this.getRemoteSamples(),this.db=await this.openDB("corpusDB",1,t=>{if(!t.objectStoreNames.contains("corpuses")){const e=t.createObjectStore("corpuses",{keyPath:"id",autoIncrement:!0});os.forEach(s=>{e.add(s)})}}),this.localCorpuses=await this.getCorpuses()||[...os]},mounted(){A.currentOpenCorpus=""},beforeDestroy(){st.off("updateCorpuses",this.updateCorpuses),st.off("addLocalCorpus",this.addLocalCorpus)}},xa={key:0},ca={style:{display:"inline"}},ha=["onClick"];function pa(t,e,s,l,i,r){const o=_t("Corpus");return D(),I(K,null,[_("p",{onClick:e[0]||(e[0]=(...n)=>r.clearCorpuses&&r.clearCorpuses(...n))},"[Clear data]"),i.remoteSampleFilenames.length>0?(D(),I("div",xa,[e[2]||(e[2]=_("h4",null,"Get a sample:",-1)),(D(!0),I(K,null,ae(i.remoteSampleFilenames,(n,u)=>(D(),I("p",ca,[_("span",{onClick:g=>r.getRemoteSampleCorpus(n),class:"sampleLinkP"},ct(n),9,ha),e[1]||(e[1]=_("span",null," | ",-1))]))),256))])):It("",!0),_("div",null,[(D(!0),I(K,null,ae(i.localCorpuses,(n,u)=>(D(),ge(o,{key:u,corpus:n.corpuses_history.at(-1),corpus_id:n.corpus_id,remote:!1},null,8,["corpus","corpus_id"]))),128)),(D(!0),I(K,null,ae(i.remoteCorpuses,(n,u)=>(D(),ge(o,{key:u,corpus:n.corpuses_history.at(-1),corpus_id:n.corpus_id,remote:!0},null,8,["corpus","corpus_id"]))),128))])],64)}const ba=ft(_a,[["render",pa],["__scopeId","data-v-4b002057"]]),va={data(){return{api:new ot,originalText:""}},methods:{async onUploadButtonClicked(){return A.toRemote?this.uploadOriginalTextRemote():this.uploadOriginalTextLocal()},async onJsonFileInput(t){const s=await t.target.files[0].text(),l=JSON.parse(s);return A.toRemote?this.uploadJsonFileRemote(l):this.uploadJsonFileLocal(l)},async uploadOriginalTextRemote(){this.api.submit("/upload","POST",{original_text:this.originalText}).then(t=>t.json()).then(t=>{st.emit("addAlert",{message:"Uploaded corpus "+t.corpus_id})})},async uploadJsonFileRemote(t){this.api.submit("/upload","POST",{corpus:t}).then(e=>e.json()).then(e=>{st.emit("addAlert",{message:"Uploaded corpus "+e.corpus_id})})},async uploadOriginalTextLocal(){const t=this.makeTitle(this.originalText),e=Lu.init_with_txt(this.originalText);st.emit("addLocalCorpus",{corpus_id:t,corpus:e})},async uploadJsonFileLocal(t){const e=this.makeTitle(t.original_text);st.emit("addLocalCorpus",{corpus_id:e,corpus:t})},makeTitle(t,e=16){return t.substring(0,e)}}},ya={id:"frontend_upload_div"};function wa(t,e,s,l,i,r){return D(),I("div",ya,[e[3]||(e[3]=_("h3",null,"Upload...",-1)),e[4]||(e[4]=_("label",{for:"frontend_original_text"},"Original Text",-1)),e[5]||(e[5]=_("br",null,null,-1)),it(_("textarea",{"onUpdate:modelValue":e[0]||(e[0]=o=>i.originalText=o),class:"context_input auto-resize field_input",name:"frontend_original_text",spellcheck:"false",autofocus:"",placeholder:"Original Text",id:"frontend_original_text_textarea"},null,512),[[St,i.originalText]]),e[6]||(e[6]=_("br",null,null,-1)),_("button",{onClick:e[1]||(e[1]=o=>r.onUploadButtonClicked()),id:"frontend_original_text_button",class:"btn btn-primary"}," Upload "),e[7]||(e[7]=_("br",null,null,-1)),e[8]||(e[8]=_("p",null,"...or the JSON file",-1)),_("input",{type:"file",id:"json_file_input",onChange:e[2]||(e[2]=(...o)=>r.onJsonFileInput&&r.onJsonFileInput(...o))},null,32),e[9]||(e[9]=_("br",null,null,-1))])}const Ea=ft(va,[["render",wa],["__scopeId","data-v-969ca212"]]),Ta={props:{message:{type:String,required:!0},alertClass:{type:String,default:"alert-warning",validator(t){return["alert-success","alert-warning","alert-info","alert-light"].includes(t)}},timeout:{type:Number,default:5e4}},data(){return{showAlert:!1,alertMessage:this.message}},mounted(){this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},this.timeout)}};function Aa(t,e,s,l,i,r){return i.showAlert?(D(),I("div",{key:0,class:Ct(["alert",this.alertClass]),role:"alert"},ct(i.alertMessage),3)):It("",!0)}const Ca=ft(Ta,[["render",Aa]]),Sa={components:{Alert:Ca},data(){return{alerts:[],maxAlerts:3}},methods:{addAlert({message:t,alertClass:e="alert-light"}){this.alerts.length>=this.maxAlerts&&this.alerts.shift(),this.alerts.push({message:t,alertClass:e})}},created(){st.on("addAlert",this.addAlert)},beforeDestroy(){st.off("addAlert",this.addAlert)}};function ka(t,e,s,l,i,r){const o=_t("Alert");return D(),I("div",null,[(D(!0),I(K,null,ae(i.alerts,(n,u)=>(D(),ge(o,{key:u,message:n.message,timeout:n.timeout,alertClass:n.alertClass},null,8,["message","timeout","alertClass"]))),128))])}const Oa=ft(Sa,[["render",ka]]),Ra={props:{task_id:{required:!0},status:{type:String,required:!0},target_corpus_id:{required:!0}},data(){return{api:new ot}},computed:{isAbortButtonShown(){return["READY","RUNNING"].includes(this.status)}},methods:{async abort(){this.api.submit("/tasks/"+this.task_id+"/abort")}}},ja={class:"task_wrapper"};function Pa(t,e,s,l,i,r){return D(),I("div",ja,[e[1]||(e[1]=_("hr",null,null,-1)),_("p",null,[ze(" Task: "+ct(s.task_id)+" ",1),r.isAbortButtonShown?(D(),I("button",{key:0,class:"task_button btn btn-light",onClick:e[0]||(e[0]=o=>r.abort())}," Abort ")):It("",!0),ze(" for corpus: "+ct(s.target_corpus_id)+" ("+ct(s.status)+") ",1)])])}const Na=ft(Ra,[["render",Pa]]),Da={components:{Task:Na},data(){return{api:new ot,tasks:[]}},methods:{async updateTasks(){const e=await(await this.api.submit("/tasks/")).json();this.tasks=e}},created(){st.on("updateTasks",this.updateTasks)},beforeDestroy(){st.off("updateTasks",this.updateTasks)}},$a={class:"tasks"};function qa(t,e,s,l,i,r){const o=_t("Task");return D(),I(K,null,[e[0]||(e[0]=_("h3",null,"Tasks",-1)),_("div",$a,[(D(!0),I(K,null,ae(i.tasks,(n,u)=>(D(),ge(o,{key:u,task_id:n.task_id,status:n.status,target_corpus_id:n.target_corpus_id},null,8,["task_id","status","target_corpus_id"]))),128))])],64)}const Ia=ft(Da,[["render",qa],["__scopeId","data-v-cfa6af6c"]]),Fa={components:{Header:eu,RestAuth:ou,AnnotatorSelect:xu,LocalAnnotatorOptions:Cu,MiscOptions:Iu,CorpusesView:ba,UploadView:Ea,AlertsView:Oa,TasksView:Ia},data(){return{}}};function La(t,e,s,l,i,r){const o=_t("Header"),n=_t("RestAuth"),u=_t("AnnotatorSelect"),g=_t("LocalAnnotatorOptions"),m=_t("MiscOptions"),x=_t("CorpusesView"),v=_t("UploadView"),O=_t("AlertsView"),$=_t("TasksView");return D(),I(K,null,[_("header",null,[tt(o)]),_("main",null,[tt(n),e[0]||(e[0]=_("hr",null,null,-1)),tt(u),e[1]||(e[1]=_("hr",null,null,-1)),tt(g),e[2]||(e[2]=_("hr",null,null,-1)),tt(m),e[3]||(e[3]=_("hr",null,null,-1)),tt(x),e[4]||(e[4]=_("hr",null,null,-1)),tt(v),e[5]||(e[5]=_("hr",null,null,-1)),tt(O),e[6]||(e[6]=_("hr",null,null,-1)),tt($)])],64)}const Ma=ft(Fa,[["render",La],["__scopeId","data-v-05ed60fe"]]);Qn(Ma).mount("#app"); diff --git a/static/index-C4XhBas7.js b/static/index-C4XhBas7.js new file mode 100644 index 0000000..96e1b16 --- /dev/null +++ b/static/index-C4XhBas7.js @@ -0,0 +1,128 @@ +(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();/** +* @vue/shared v3.5.5 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function ts(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const U={},de=[],Rt=()=>{},Sr=()=>!1,gn=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),es=t=>t.startsWith("onUpdate:"),ot=Object.assign,ns=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},Tr=Object.prototype.hasOwnProperty,D=(t,e)=>Tr.call(t,e),$=Array.isArray,pe=t=>Le(t)==="[object Map]",we=t=>Le(t)==="[object Set]",$s=t=>Le(t)==="[object Date]",P=t=>typeof t=="function",Y=t=>typeof t=="string",Mt=t=>typeof t=="symbol",z=t=>t!==null&&typeof t=="object",go=t=>(z(t)||P(t))&&P(t.then)&&P(t.catch),mo=Object.prototype.toString,Le=t=>mo.call(t),Or=t=>Le(t).slice(8,-1),_o=t=>Le(t)==="[object Object]",ss=t=>Y(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ie=ts(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),mn=t=>{const e=Object.create(null);return n=>e[n]||(e[n]=t(n))},$r=/-(\w)/g,Ct=mn(t=>t.replace($r,(e,n)=>n?n.toUpperCase():"")),Er=/\B([A-Z])/g,ue=mn(t=>t.replace(Er,"-$1").toLowerCase()),_n=mn(t=>t.charAt(0).toUpperCase()+t.slice(1)),In=mn(t=>t?`on${_n(t)}`:""),le=(t,e)=>!Object.is(t,e),nn=(t,...e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:s,value:n})},an=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let Es;const yo=()=>Es||(Es=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function bn(t){if($(t)){const e={};for(let n=0;n{if(n){const s=n.split(Ar);s.length>1&&(e[s[0].trim()]=s[1].trim())}}),e}function Vt(t){let e="";if(Y(t))e=t;else if($(t))for(let n=0;nUe(n,e))}const wo=t=>!!(t&&t.__v_isRef===!0),Pt=t=>Y(t)?t:t==null?"":$(t)||z(t)&&(t.toString===mo||!P(t.toString))?wo(t)?Pt(t.value):JSON.stringify(t,vo,2):String(t),vo=(t,e)=>wo(e)?vo(t,e.value):pe(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((n,[s,o],r)=>(n[An(s,r)+" =>"]=o,n),{})}:we(e)?{[`Set(${e.size})`]:[...e.values()].map(n=>An(n))}:Mt(e)?An(e):z(e)&&!$(e)&&!_o(e)?String(e):e,An=(t,e="")=>{var n;return Mt(t)?`Symbol(${(n=t.description)!=null?n:e})`:t};/** +* @vue/reactivity v3.5.5 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let mt;class Fr{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=mt,!e&&mt&&(this.index=(mt.scopes||(mt.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,n;if(this.scopes)for(e=0,n=this.scopes.length;e0)return;let t;for(;Ae;){let e=Ae;for(Ae=void 0;e;){const n=e.nextEffect;if(e.nextEffect=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(s){t||(t=s)}e=n}}if(t)throw t}function To(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function Oo(t){let e,n=t.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),ls(s),jr(s)):e=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}t.deps=e,t.depsTail=n}function Ln(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&$o(e.dep.computed)||e.dep.version!==e.version)return!0;return!!t._dirty}function $o(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===ke))return;t.globalVersion=ke;const e=t.dep;if(t.flags|=2,e.version>0&&!t.isSSR&&!Ln(t)){t.flags&=-3;return}const n=L,s=wt;L=t,wt=!0;try{To(t);const o=t.fn(t._value);(e.version===0||le(o,t._value))&&(t._value=o,e.version++)}catch(o){throw e.version++,o}finally{L=n,wt=s,Oo(t),t.flags&=-3}}function ls(t){const{dep:e,prevSub:n,nextSub:s}=t;if(n&&(n.nextSub=s,t.prevSub=void 0),s&&(s.prevSub=n,t.nextSub=void 0),e.subs===t&&(e.subs=n),!e.subs&&e.computed){e.computed.flags&=-5;for(let o=e.computed.deps;o;o=o.nextDep)ls(o)}}function jr(t){const{prevDep:e,nextDep:n}=t;e&&(e.nextDep=n,t.prevDep=void 0),n&&(n.prevDep=e,t.nextDep=void 0)}let wt=!0;const Eo=[];function Qt(){Eo.push(wt),wt=!1}function Xt(){const t=Eo.pop();wt=t===void 0?!0:t}function Is(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const n=L;L=void 0;try{e()}finally{L=n}}}let ke=0;class Vr{constructor(e,n){this.sub=e,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Io{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0}track(e){if(!L||!wt||L===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==L)n=this.activeLink=new Vr(L,this),L.deps?(n.prevDep=L.depsTail,L.depsTail.nextDep=n,L.depsTail=n):L.deps=L.depsTail=n,L.flags&4&&Ao(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=L.depsTail,n.nextDep=void 0,L.depsTail.nextDep=n,L.depsTail=n,L.deps===n&&(L.deps=s)}return n}trigger(e){this.version++,ke++,this.notify(e)}notify(e){rs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()}finally{is()}}}function Ao(t){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let s=e.deps;s;s=s.nextDep)Ao(s)}const n=t.dep.subs;n!==t&&(t.prevSub=n,n&&(n.nextSub=t)),t.dep.subs=t}const Un=new WeakMap,ie=Symbol(""),Hn=Symbol(""),Ne=Symbol("");function rt(t,e,n){if(wt&&L){let s=Un.get(t);s||Un.set(t,s=new Map);let o=s.get(n);o||s.set(n,o=new Io),o.track()}}function Ut(t,e,n,s,o,r){const i=Un.get(t);if(!i){ke++;return}const l=c=>{c&&c.trigger()};if(rs(),e==="clear")i.forEach(l);else{const c=$(t),d=c&&ss(n);if(c&&n==="length"){const f=Number(s);i.forEach((h,x)=>{(x==="length"||x===Ne||!Mt(x)&&x>=f)&&l(h)})}else switch(n!==void 0&&l(i.get(n)),d&&l(i.get(Ne)),e){case"add":c?d&&l(i.get("length")):(l(i.get(ie)),pe(t)&&l(i.get(Hn)));break;case"delete":c||(l(i.get(ie)),pe(t)&&l(i.get(Hn)));break;case"set":pe(t)&&l(i.get(ie));break}}is()}function ae(t){const e=V(t);return e===t?e:(rt(e,"iterate",Ne),vt(t)?e:e.map(at))}function yn(t){return rt(t=V(t),"iterate",Ne),t}const Lr={__proto__:null,[Symbol.iterator](){return Pn(this,Symbol.iterator,at)},concat(...t){return ae(this).concat(...t.map(e=>$(e)?ae(e):e))},entries(){return Pn(this,"entries",t=>(t[1]=at(t[1]),t))},every(t,e){return Ft(this,"every",t,e,void 0,arguments)},filter(t,e){return Ft(this,"filter",t,e,n=>n.map(at),arguments)},find(t,e){return Ft(this,"find",t,e,at,arguments)},findIndex(t,e){return Ft(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Ft(this,"findLast",t,e,at,arguments)},findLastIndex(t,e){return Ft(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Ft(this,"forEach",t,e,void 0,arguments)},includes(...t){return Mn(this,"includes",t)},indexOf(...t){return Mn(this,"indexOf",t)},join(t){return ae(this).join(t)},lastIndexOf(...t){return Mn(this,"lastIndexOf",t)},map(t,e){return Ft(this,"map",t,e,void 0,arguments)},pop(){return Oe(this,"pop")},push(...t){return Oe(this,"push",t)},reduce(t,...e){return As(this,"reduce",t,e)},reduceRight(t,...e){return As(this,"reduceRight",t,e)},shift(){return Oe(this,"shift")},some(t,e){return Ft(this,"some",t,e,void 0,arguments)},splice(...t){return Oe(this,"splice",t)},toReversed(){return ae(this).toReversed()},toSorted(t){return ae(this).toSorted(t)},toSpliced(...t){return ae(this).toSpliced(...t)},unshift(...t){return Oe(this,"unshift",t)},values(){return Pn(this,"values",at)}};function Pn(t,e,n){const s=yn(t),o=s[e]();return s!==t&&!vt(t)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.value&&(r.value=n(r.value)),r}),o}const Ur=Array.prototype;function Ft(t,e,n,s,o,r){const i=yn(t),l=i!==t&&!vt(t),c=i[e];if(c!==Ur[e]){const h=c.apply(t,r);return l?at(h):h}let d=n;i!==t&&(l?d=function(h,x){return n.call(this,at(h),x,t)}:n.length>2&&(d=function(h,x){return n.call(this,h,x,t)}));const f=c.call(i,d,s);return l&&o?o(f):f}function As(t,e,n,s){const o=yn(t);let r=n;return o!==t&&(vt(t)?n.length>3&&(r=function(i,l,c){return n.call(this,i,l,c,t)}):r=function(i,l,c){return n.call(this,i,at(l),c,t)}),o[e](r,...s)}function Mn(t,e,n){const s=V(t);rt(s,"iterate",Ne);const o=s[e](...n);return(o===-1||o===!1)&&fs(n[0])?(n[0]=V(n[0]),s[e](...n)):o}function Oe(t,e,n=[]){Qt(),rs();const s=V(t)[e].apply(t,n);return is(),Xt(),s}const Hr=ts("__proto__,__v_isRef,__isVue"),Ro=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Mt));function Br(t){Mt(t)||(t=String(t));const e=V(this);return rt(e,"has",t),e.hasOwnProperty(t)}class Po{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,s){const o=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(o?r?ni:Fo:r?No:ko).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(s)?e:void 0;const i=$(e);if(!o){let c;if(i&&(c=Lr[n]))return c;if(n==="hasOwnProperty")return Br}const l=Reflect.get(e,n,ut(e)?e:s);return(Mt(n)?Ro.has(n):Hr(n))||(o||rt(e,"get",n),r)?l:ut(l)?i&&ss(n)?l:l.value:z(l)?o?Do(l):He(l):l}}class Mo extends Po{constructor(e=!1){super(!1,e)}set(e,n,s,o){let r=e[n];if(!this._isShallow){const c=be(r);if(!vt(s)&&!be(s)&&(r=V(r),s=V(s)),!$(e)&&ut(r)&&!ut(s))return c?!1:(r.value=s,!0)}const i=$(e)&&ss(n)?Number(n)t,xn=t=>Reflect.getPrototypeOf(t);function Ye(t,e,n=!1,s=!1){t=t.__v_raw;const o=V(t),r=V(e);n||(le(e,r)&&rt(o,"get",e),rt(o,"get",r));const{has:i}=xn(o),l=s?cs:n?ds:at;if(i.call(o,e))return l(t.get(e));if(i.call(o,r))return l(t.get(r));t!==o&&t.get(e)}function Qe(t,e=!1){const n=this.__v_raw,s=V(n),o=V(t);return e||(le(t,o)&&rt(s,"has",t),rt(s,"has",o)),t===o?n.has(t):n.has(t)||n.has(o)}function Xe(t,e=!1){return t=t.__v_raw,!e&&rt(V(t),"iterate",ie),Reflect.get(t,"size",t)}function Rs(t,e=!1){!e&&!vt(t)&&!be(t)&&(t=V(t));const n=V(this);return xn(n).has.call(n,t)||(n.add(t),Ut(n,"add",t,t)),this}function Ps(t,e,n=!1){!n&&!vt(e)&&!be(e)&&(e=V(e));const s=V(this),{has:o,get:r}=xn(s);let i=o.call(s,t);i||(t=V(t),i=o.call(s,t));const l=r.call(s,t);return s.set(t,e),i?le(e,l)&&Ut(s,"set",t,e):Ut(s,"add",t,e),this}function Ms(t){const e=V(this),{has:n,get:s}=xn(e);let o=n.call(e,t);o||(t=V(t),o=n.call(e,t)),s&&s.call(e,t);const r=e.delete(t);return o&&Ut(e,"delete",t,void 0),r}function ks(){const t=V(this),e=t.size!==0,n=t.clear();return e&&Ut(t,"clear",void 0,void 0),n}function Ze(t,e){return function(s,o){const r=this,i=r.__v_raw,l=V(i),c=e?cs:t?ds:at;return!t&&rt(l,"iterate",ie),i.forEach((d,f)=>s.call(o,c(d),c(f),r))}}function tn(t,e,n){return function(...s){const o=this.__v_raw,r=V(o),i=pe(r),l=t==="entries"||t===Symbol.iterator&&i,c=t==="keys"&&i,d=o[t](...s),f=n?cs:e?ds:at;return!e&&rt(r,"iterate",c?Hn:ie),{next(){const{value:h,done:x}=d.next();return x?{value:h,done:x}:{value:l?[f(h[0]),f(h[1])]:f(h),done:x}},[Symbol.iterator](){return this}}}}function Gt(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function Jr(){const t={get(r){return Ye(this,r)},get size(){return Xe(this)},has:Qe,add:Rs,set:Ps,delete:Ms,clear:ks,forEach:Ze(!1,!1)},e={get(r){return Ye(this,r,!1,!0)},get size(){return Xe(this)},has:Qe,add(r){return Rs.call(this,r,!0)},set(r,i){return Ps.call(this,r,i,!0)},delete:Ms,clear:ks,forEach:Ze(!1,!0)},n={get(r){return Ye(this,r,!0)},get size(){return Xe(this,!0)},has(r){return Qe.call(this,r,!0)},add:Gt("add"),set:Gt("set"),delete:Gt("delete"),clear:Gt("clear"),forEach:Ze(!0,!1)},s={get(r){return Ye(this,r,!0,!0)},get size(){return Xe(this,!0)},has(r){return Qe.call(this,r,!0)},add:Gt("add"),set:Gt("set"),delete:Gt("delete"),clear:Gt("clear"),forEach:Ze(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{t[r]=tn(r,!1,!1),n[r]=tn(r,!0,!1),e[r]=tn(r,!1,!0),s[r]=tn(r,!0,!0)}),[t,n,e,s]}const[qr,Yr,Qr,Xr]=Jr();function us(t,e){const n=e?t?Xr:Qr:t?Yr:qr;return(s,o,r)=>o==="__v_isReactive"?!t:o==="__v_isReadonly"?t:o==="__v_raw"?s:Reflect.get(D(n,o)&&o in s?n:s,o,r)}const Zr={get:us(!1,!1)},ti={get:us(!1,!0)},ei={get:us(!0,!1)};const ko=new WeakMap,No=new WeakMap,Fo=new WeakMap,ni=new WeakMap;function si(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function oi(t){return t.__v_skip||!Object.isExtensible(t)?0:si(Or(t))}function He(t){return be(t)?t:as(t,!1,zr,Zr,ko)}function ri(t){return as(t,!1,Wr,ti,No)}function Do(t){return as(t,!0,Gr,ei,Fo)}function as(t,e,n,s,o){if(!z(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const r=o.get(t);if(r)return r;const i=oi(t);if(i===0)return t;const l=new Proxy(t,i===2?s:n);return o.set(t,l),l}function he(t){return be(t)?he(t.__v_raw):!!(t&&t.__v_isReactive)}function be(t){return!!(t&&t.__v_isReadonly)}function vt(t){return!!(t&&t.__v_isShallow)}function fs(t){return t?!!t.__v_raw:!1}function V(t){const e=t&&t.__v_raw;return e?V(e):t}function ii(t){return!D(t,"__v_skip")&&Object.isExtensible(t)&&bo(t,"__v_skip",!0),t}const at=t=>z(t)?He(t):t,ds=t=>z(t)?Do(t):t;function ut(t){return t?t.__v_isRef===!0:!1}function li(t){return ut(t)?t.value:t}const ci={get:(t,e,n)=>e==="__v_raw"?t:li(Reflect.get(t,e,n)),set:(t,e,n,s)=>{const o=t[e];return ut(o)&&!ut(n)?(o.value=n,!0):Reflect.set(t,e,n,s)}};function jo(t){return he(t)?t:new Proxy(t,ci)}class ui{constructor(e,n,s){this.fn=e,this.setter=n,this._value=void 0,this.dep=new Io(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ke-1,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){this.flags|=16,L!==this&&this.dep.notify()}get value(){const e=this.dep.track();return $o(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function ai(t,e,n=!1){let s,o;return P(t)?s=t:(s=t.get,o=t.set),new ui(s,o,n)}const en={},fn=new WeakMap;let oe;function fi(t,e=!1,n=oe){if(n){let s=fn.get(n);s||fn.set(n,s=[]),s.push(t)}}function di(t,e,n=U){const{immediate:s,deep:o,once:r,scheduler:i,augmentJob:l,call:c}=n,d=I=>o?I:vt(I)||o===!1||o===0?Lt(I,1):Lt(I);let f,h,x,E,k=!1,R=!1;if(ut(t)?(h=()=>t.value,k=vt(t)):he(t)?(h=()=>d(t),k=!0):$(t)?(R=!0,k=t.some(I=>he(I)||vt(I)),h=()=>t.map(I=>{if(ut(I))return I.value;if(he(I))return d(I);if(P(I))return c?c(I,2):I()})):P(t)?e?h=c?()=>c(t,2):t:h=()=>{if(x){Qt();try{x()}finally{Xt()}}const I=oe;oe=f;try{return c?c(t,3,[E]):t(E)}finally{oe=I}}:h=Rt,e&&o){const I=h,X=o===!0?1/0:o;h=()=>Lt(I(),X)}const Q=Dr(),F=()=>{f.stop(),Q&&ns(Q.effects,f)};if(r)if(e){const I=e;e=(...X)=>{I(...X),F()}}else{const I=h;h=()=>{I(),F()}}let J=R?new Array(t.length).fill(en):en;const q=I=>{if(!(!(f.flags&1)||!f.dirty&&!I))if(e){const X=f.run();if(o||k||(R?X.some((Kt,St)=>le(Kt,J[St])):le(X,J))){x&&x();const Kt=oe;oe=f;try{const St=[X,J===en?void 0:R&&J[0]===en?[]:J,E];c?c(e,3,St):e(...St),J=X}finally{oe=Kt}}}else f.run()};return l&&l(q),f=new Co(h),f.scheduler=i?()=>i(q,!1):q,E=I=>fi(I,!1,f),x=f.onStop=()=>{const I=fn.get(f);if(I){if(c)c(I,4);else for(const X of I)X();fn.delete(f)}},e?s?q(!0):J=f.run():i?i(q.bind(null,!0),!0):f.run(),F.pause=f.pause.bind(f),F.resume=f.resume.bind(f),F.stop=F,F}function Lt(t,e=1/0,n){if(e<=0||!z(t)||t.__v_skip||(n=n||new Set,n.has(t)))return t;if(n.add(t),e--,ut(t))Lt(t.value,e,n);else if($(t))for(let s=0;s{Lt(s,e,n)});else if(_o(t)){for(const s in t)Lt(t[s],e,n);for(const s of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,s)&&Lt(t[s],e,n)}return t}/** +* @vue/runtime-core v3.5.5 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Be(t,e,n,s){try{return s?t(...s):t()}catch(o){wn(o,e,n)}}function kt(t,e,n,s){if(P(t)){const o=Be(t,e,n,s);return o&&go(o)&&o.catch(r=>{wn(r,e,n)}),o}if($(t)){const o=[];for(let r=0;r>>1,o=ct[s],r=De(o);r=De(n)?ct.push(t):ct.splice(hi(e),0,t),t.flags|=1,Uo()}}function Uo(){!Fe&&!Bn&&(Bn=!0,ps=Vo.then(Bo))}function gi(t){$(t)?ge.push(...t):Jt&&t.id===-1?Jt.splice(fe+1,0,t):t.flags&1||(ge.push(t),t.flags|=1),Uo()}function Ns(t,e,n=Fe?Et+1:0){for(;nDe(n)-De(s));if(ge.length=0,Jt){Jt.push(...e);return}for(Jt=e,fe=0;fet.id==null?t.flags&2?-1:1/0:t.id;function Bo(t){Bn=!1,Fe=!0;try{for(Et=0;Et{s._d&&Ks(-1);const r=dn(e);let i;try{i=t(...o)}finally{dn(r),s._d&&Ks(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function ft(t,e){if(_t===null)return t;const n=On(_t),s=t.dirs||(t.dirs=[]);for(let o=0;ot.__isTeleport;function gs(t,e){t.shapeFlag&6&&t.component?(t.transition=e,gs(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function zo(t){t.ids=[t.ids[0]+t.ids[2]+++"-",0,0]}function Kn(t,e,n,s,o=!1){if($(t)){t.forEach((k,R)=>Kn(k,e&&($(e)?e[R]:e),n,s,o));return}if(Re(s)&&!o)return;const r=s.shapeFlag&4?On(s.component):s.el,i=o?null:r,{i:l,r:c}=t,d=e&&e.r,f=l.refs===U?l.refs={}:l.refs,h=l.setupState,x=V(h),E=h===U?()=>!1:k=>D(x,k);if(d!=null&&d!==c&&(Y(d)?(f[d]=null,E(d)&&(h[d]=null)):ut(d)&&(d.value=null)),P(c))Be(c,l,12,[i,f]);else{const k=Y(c),R=ut(c);if(k||R){const Q=()=>{if(t.f){const F=k?E(c)?h[c]:f[c]:c.value;o?$(F)&&ns(F,r):$(F)?F.includes(r)||F.push(r):k?(f[c]=[r],E(c)&&(h[c]=f[c])):(c.value=[r],t.k&&(f[t.k]=c.value))}else k?(f[c]=i,E(c)&&(h[c]=i)):R&&(c.value=i,t.k&&(f[t.k]=i))};i?(Q.id=-1,gt(Q,n)):Q()}}}const Re=t=>!!t.type.__asyncLoader,Go=t=>t.type.__isKeepAlive;function yi(t,e){Wo(t,"a",e)}function xi(t,e){Wo(t,"da",e)}function Wo(t,e,n=st){const s=t.__wdc||(t.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return t()});if(vn(e,s,n),n){let o=n.parent;for(;o&&o.parent;)Go(o.parent.vnode)&&wi(s,e,n,o),o=o.parent}}function wi(t,e,n,s){const o=vn(e,t,s,!0);Jo(()=>{ns(s[e],o)},n)}function vn(t,e,n=st,s=!1){if(n){const o=n[t]||(n[t]=[]),r=e.__weh||(e.__weh=(...i)=>{Qt();const l=Ke(n),c=kt(e,n,t,i);return l(),Xt(),c});return s?o.unshift(r):o.push(r),r}}const Bt=t=>(e,n=st)=>{(!Tn||t==="sp")&&vn(t,(...s)=>e(...s),n)},vi=Bt("bm"),Ci=Bt("m"),Si=Bt("bu"),Ti=Bt("u"),Oi=Bt("bum"),Jo=Bt("um"),$i=Bt("sp"),Ei=Bt("rtg"),Ii=Bt("rtc");function Ai(t,e=st){vn("ec",t,e)}const qo="components";function Dt(t,e){return Pi(qo,t,!0,e)||t}const Ri=Symbol.for("v-ndc");function Pi(t,e,n=!0,s=!1){const o=_t||st;if(o){const r=o.type;if(t===qo){const l=wl(r,!1);if(l&&(l===e||l===Ct(e)||l===_n(Ct(e))))return r}const i=Fs(o[t]||r[t],e)||Fs(o.appContext[t],e);return!i&&s?r:i}}function Fs(t,e){return t&&(t[e]||t[Ct(e)]||t[_n(Ct(e))])}function zn(t,e,n,s){let o;const r=n,i=$(t);if(i||Y(t)){const l=i&&he(t);let c=!1;l&&(c=!vt(t),t=yn(t)),o=new Array(t.length);for(let d=0,f=t.length;de(l,c,void 0,r));else{const l=Object.keys(t);o=new Array(l.length);for(let c=0,d=l.length;ct?gr(t)?On(t):Gn(t.parent):null,Pe=ot(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Gn(t.parent),$root:t=>Gn(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>ms(t),$forceUpdate:t=>t.f||(t.f=()=>{hs(t.update)}),$nextTick:t=>t.n||(t.n=Lo.bind(t.proxy)),$watch:t=>tl.bind(t)}),kn=(t,e)=>t!==U&&!t.__isScriptSetup&&D(t,e),Mi={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:r,accessCache:i,type:l,appContext:c}=t;let d;if(e[0]!=="$"){const E=i[e];if(E!==void 0)switch(E){case 1:return s[e];case 2:return o[e];case 4:return n[e];case 3:return r[e]}else{if(kn(s,e))return i[e]=1,s[e];if(o!==U&&D(o,e))return i[e]=2,o[e];if((d=t.propsOptions[0])&&D(d,e))return i[e]=3,r[e];if(n!==U&&D(n,e))return i[e]=4,n[e];Wn&&(i[e]=0)}}const f=Pe[e];let h,x;if(f)return e==="$attrs"&&rt(t.attrs,"get",""),f(t);if((h=l.__cssModules)&&(h=h[e]))return h;if(n!==U&&D(n,e))return i[e]=4,n[e];if(x=c.config.globalProperties,D(x,e))return x[e]},set({_:t},e,n){const{data:s,setupState:o,ctx:r}=t;return kn(o,e)?(o[e]=n,!0):s!==U&&D(s,e)?(s[e]=n,!0):D(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(r[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:s,appContext:o,propsOptions:r}},i){let l;return!!n[i]||t!==U&&D(t,i)||kn(e,i)||(l=r[0])&&D(l,i)||D(s,i)||D(Pe,i)||D(o.config.globalProperties,i)},defineProperty(t,e,n){return n.get!=null?t._.accessCache[e]=0:D(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};function Ds(t){return $(t)?t.reduce((e,n)=>(e[n]=null,e),{}):t}let Wn=!0;function ki(t){const e=ms(t),n=t.proxy,s=t.ctx;Wn=!1,e.beforeCreate&&js(e.beforeCreate,t,"bc");const{data:o,computed:r,methods:i,watch:l,provide:c,inject:d,created:f,beforeMount:h,mounted:x,beforeUpdate:E,updated:k,activated:R,deactivated:Q,beforeDestroy:F,beforeUnmount:J,destroyed:q,unmounted:I,render:X,renderTracked:Kt,renderTriggered:St,errorCaptured:zt,serverPrefetch:ze,expose:Zt,inheritAttrs:ve,components:Ge,directives:We,filters:$n}=e;if(d&&Ni(d,s,null),i)for(const G in i){const H=i[G];P(H)&&(s[G]=H.bind(n))}if(o){const G=o.call(n,n);z(G)&&(t.data=He(G))}if(Wn=!0,r)for(const G in r){const H=r[G],te=P(H)?H.bind(n,n):P(H.get)?H.get.bind(n,n):Rt,Je=!P(H)&&P(H.set)?H.set.bind(n):Rt,ee=Cl({get:te,set:Je});Object.defineProperty(s,G,{enumerable:!0,configurable:!0,get:()=>ee.value,set:Tt=>ee.value=Tt})}if(l)for(const G in l)Yo(l[G],s,n,G);if(c){const G=P(c)?c.call(n):c;Reflect.ownKeys(G).forEach(H=>{Ui(H,G[H])})}f&&js(f,t,"c");function it(G,H){$(H)?H.forEach(te=>G(te.bind(n))):H&&G(H.bind(n))}if(it(vi,h),it(Ci,x),it(Si,E),it(Ti,k),it(yi,R),it(xi,Q),it(Ai,zt),it(Ii,Kt),it(Ei,St),it(Oi,J),it(Jo,I),it($i,ze),$(Zt))if(Zt.length){const G=t.exposed||(t.exposed={});Zt.forEach(H=>{Object.defineProperty(G,H,{get:()=>n[H],set:te=>n[H]=te})})}else t.exposed||(t.exposed={});X&&t.render===Rt&&(t.render=X),ve!=null&&(t.inheritAttrs=ve),Ge&&(t.components=Ge),We&&(t.directives=We),ze&&zo(t)}function Ni(t,e,n=Rt){$(t)&&(t=Jn(t));for(const s in t){const o=t[s];let r;z(o)?"default"in o?r=sn(o.from||s,o.default,!0):r=sn(o.from||s):r=sn(o),ut(r)?Object.defineProperty(e,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):e[s]=r}}function js(t,e,n){kt($(t)?t.map(s=>s.bind(e.proxy)):t.bind(e.proxy),e,n)}function Yo(t,e,n,s){let o=s.includes(".")?ar(n,s):()=>n[s];if(Y(t)){const r=e[t];P(r)&&on(o,r)}else if(P(t))on(o,t.bind(n));else if(z(t))if($(t))t.forEach(r=>Yo(r,e,n,s));else{const r=P(t.handler)?t.handler.bind(n):e[t.handler];P(r)&&on(o,r,t)}}function ms(t){const e=t.type,{mixins:n,extends:s}=e,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=t.appContext,l=r.get(e);let c;return l?c=l:!o.length&&!n&&!s?c=e:(c={},o.length&&o.forEach(d=>pn(c,d,i,!0)),pn(c,e,i)),z(e)&&r.set(e,c),c}function pn(t,e,n,s=!1){const{mixins:o,extends:r}=e;r&&pn(t,r,n,!0),o&&o.forEach(i=>pn(t,i,n,!0));for(const i in e)if(!(s&&i==="expose")){const l=Fi[i]||n&&n[i];t[i]=l?l(t[i],e[i]):e[i]}return t}const Fi={data:Vs,props:Ls,emits:Ls,methods:Ee,computed:Ee,beforeCreate:lt,created:lt,beforeMount:lt,mounted:lt,beforeUpdate:lt,updated:lt,beforeDestroy:lt,beforeUnmount:lt,destroyed:lt,unmounted:lt,activated:lt,deactivated:lt,errorCaptured:lt,serverPrefetch:lt,components:Ee,directives:Ee,watch:ji,provide:Vs,inject:Di};function Vs(t,e){return e?t?function(){return ot(P(t)?t.call(this,this):t,P(e)?e.call(this,this):e)}:e:t}function Di(t,e){return Ee(Jn(t),Jn(e))}function Jn(t){if($(t)){const e={};for(let n=0;n1)return n&&P(e)?e.call(s&&s.proxy):e}}const Xo={},Zo=()=>Object.create(Xo),tr=t=>Object.getPrototypeOf(t)===Xo;function Hi(t,e,n,s=!1){const o={},r=Zo();t.propsDefaults=Object.create(null),er(t,e,o,r);for(const i in t.propsOptions[0])i in o||(o[i]=void 0);n?t.props=s?o:ri(o):t.type.props?t.props=o:t.props=r,t.attrs=r}function Bi(t,e,n,s){const{props:o,attrs:r,vnode:{patchFlag:i}}=t,l=V(o),[c]=t.propsOptions;let d=!1;if((s||i>0)&&!(i&16)){if(i&8){const f=t.vnode.dynamicProps;for(let h=0;h{c=!0;const[x,E]=nr(h,e,!0);ot(i,x),E&&l.push(...E)};!n&&e.mixins.length&&e.mixins.forEach(f),t.extends&&f(t.extends),t.mixins&&t.mixins.forEach(f)}if(!r&&!c)return z(t)&&s.set(t,de),de;if($(r))for(let f=0;ft[0]==="_"||t==="$stable",_s=t=>$(t)?t.map(It):[It(t)],zi=(t,e,n)=>{if(e._n)return e;const s=mi((...o)=>_s(e(...o)),n);return s._c=!1,s},or=(t,e,n)=>{const s=t._ctx;for(const o in t){if(sr(o))continue;const r=t[o];if(P(r))e[o]=zi(o,r,s);else if(r!=null){const i=_s(r);e[o]=()=>i}}},rr=(t,e)=>{const n=_s(e);t.slots.default=()=>n},ir=(t,e,n)=>{for(const s in e)(n||s!=="_")&&(t[s]=e[s])},Gi=(t,e,n)=>{const s=t.slots=Zo();if(t.vnode.shapeFlag&32){const o=e._;o?(ir(s,e,n),n&&bo(s,"_",o,!0)):or(e,s)}else e&&rr(t,e)},Wi=(t,e,n)=>{const{vnode:s,slots:o}=t;let r=!0,i=U;if(s.shapeFlag&32){const l=e._;l?n&&l===1?r=!1:ir(o,e,n):(r=!e.$stable,or(e,o)),i=e}else e&&(rr(t,e),i={default:1});if(r)for(const l in o)!sr(l)&&i[l]==null&&delete o[l]},gt=ll;function Ji(t){return qi(t)}function qi(t,e){const n=yo();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:i,createText:l,createComment:c,setText:d,setElementText:f,parentNode:h,nextSibling:x,setScopeId:E=Rt,insertStaticContent:k}=t,R=(u,a,p,b=null,m=null,_=null,C=void 0,v=null,w=!!a.dynamicChildren)=>{if(u===a)return;u&&!$e(u,a)&&(b=qe(u),Tt(u,m,_,!0),u=null),a.patchFlag===-2&&(w=!1,a.dynamicChildren=null);const{type:y,ref:O,shapeFlag:S}=a;switch(y){case Sn:Q(u,a,p,b);break;case ce:F(u,a,p,b);break;case rn:u==null&&J(a,p,b,C);break;case tt:Ge(u,a,p,b,m,_,C,v,w);break;default:S&1?X(u,a,p,b,m,_,C,v,w):S&6?We(u,a,p,b,m,_,C,v,w):(S&64||S&128)&&y.process(u,a,p,b,m,_,C,v,w,Se)}O!=null&&m&&Kn(O,u&&u.ref,_,a||u,!a)},Q=(u,a,p,b)=>{if(u==null)s(a.el=l(a.children),p,b);else{const m=a.el=u.el;a.children!==u.children&&d(m,a.children)}},F=(u,a,p,b)=>{u==null?s(a.el=c(a.children||""),p,b):a.el=u.el},J=(u,a,p,b)=>{[u.el,u.anchor]=k(u.children,a,p,b,u.el,u.anchor)},q=({el:u,anchor:a},p,b)=>{let m;for(;u&&u!==a;)m=x(u),s(u,p,b),u=m;s(a,p,b)},I=({el:u,anchor:a})=>{let p;for(;u&&u!==a;)p=x(u),o(u),u=p;o(a)},X=(u,a,p,b,m,_,C,v,w)=>{a.type==="svg"?C="svg":a.type==="math"&&(C="mathml"),u==null?Kt(a,p,b,m,_,C,v,w):ze(u,a,m,_,C,v,w)},Kt=(u,a,p,b,m,_,C,v)=>{let w,y;const{props:O,shapeFlag:S,transition:T,dirs:A}=u;if(w=u.el=i(u.type,_,O&&O.is,O),S&8?f(w,u.children):S&16&&zt(u.children,w,null,b,m,Nn(u,_),C,v),A&&ne(u,null,b,"created"),St(w,u,u.scopeId,C,b),O){for(const B in O)B!=="value"&&!Ie(B)&&r(w,B,null,O[B],_,b);"value"in O&&r(w,"value",null,O.value,_),(y=O.onVnodeBeforeMount)&&$t(y,b,u)}A&&ne(u,null,b,"beforeMount");const N=Yi(m,T);N&&T.beforeEnter(w),s(w,a,p),((y=O&&O.onVnodeMounted)||N||A)&>(()=>{y&&$t(y,b,u),N&&T.enter(w),A&&ne(u,null,b,"mounted")},m)},St=(u,a,p,b,m)=>{if(p&&E(u,p),b)for(let _=0;_{for(let y=w;y{const v=a.el=u.el;let{patchFlag:w,dynamicChildren:y,dirs:O}=a;w|=u.patchFlag&16;const S=u.props||U,T=a.props||U;let A;if(p&&se(p,!1),(A=T.onVnodeBeforeUpdate)&&$t(A,p,a,u),O&&ne(a,u,p,"beforeUpdate"),p&&se(p,!0),(S.innerHTML&&T.innerHTML==null||S.textContent&&T.textContent==null)&&f(v,""),y?Zt(u.dynamicChildren,y,v,p,b,Nn(a,m),_):C||H(u,a,v,null,p,b,Nn(a,m),_,!1),w>0){if(w&16)ve(v,S,T,p,m);else if(w&2&&S.class!==T.class&&r(v,"class",null,T.class,m),w&4&&r(v,"style",S.style,T.style,m),w&8){const N=a.dynamicProps;for(let B=0;B{A&&$t(A,p,a,u),O&&ne(a,u,p,"updated")},b)},Zt=(u,a,p,b,m,_,C)=>{for(let v=0;v{if(a!==p){if(a!==U)for(const _ in a)!Ie(_)&&!(_ in p)&&r(u,_,a[_],null,m,b);for(const _ in p){if(Ie(_))continue;const C=p[_],v=a[_];C!==v&&_!=="value"&&r(u,_,v,C,m,b)}"value"in p&&r(u,"value",a.value,p.value,m)}},Ge=(u,a,p,b,m,_,C,v,w)=>{const y=a.el=u?u.el:l(""),O=a.anchor=u?u.anchor:l("");let{patchFlag:S,dynamicChildren:T,slotScopeIds:A}=a;A&&(v=v?v.concat(A):A),u==null?(s(y,p,b),s(O,p,b),zt(a.children||[],p,O,m,_,C,v,w)):S>0&&S&64&&T&&u.dynamicChildren?(Zt(u.dynamicChildren,T,p,m,_,C,v),(a.key!=null||m&&a===m.subTree)&&lr(u,a,!0)):H(u,a,p,O,m,_,C,v,w)},We=(u,a,p,b,m,_,C,v,w)=>{a.slotScopeIds=v,u==null?a.shapeFlag&512?m.ctx.activate(a,p,b,C,w):$n(a,p,b,m,_,C,w):xs(u,a,w)},$n=(u,a,p,b,m,_,C)=>{const v=u.component=ml(u,b,m);if(Go(u)&&(v.ctx.renderer=Se),_l(v,!1,C),v.asyncDep){if(m&&m.registerDep(v,it,C),!u.el){const w=v.subTree=et(ce);F(null,w,a,p)}}else it(v,u,a,p,m,_,C)},xs=(u,a,p)=>{const b=a.component=u.component;if(rl(u,a,p))if(b.asyncDep&&!b.asyncResolved){G(b,a,p);return}else b.next=a,b.update();else a.el=u.el,b.vnode=a},it=(u,a,p,b,m,_,C)=>{const v=()=>{if(u.isMounted){let{next:S,bu:T,u:A,parent:N,vnode:B}=u;{const pt=cr(u);if(pt){S&&(S.el=B.el,G(u,S,C)),pt.asyncDep.then(()=>{u.isUnmounted||v()});return}}let j=S,dt;se(u,!1),S?(S.el=B.el,G(u,S,C)):S=B,T&&nn(T),(dt=S.props&&S.props.onVnodeBeforeUpdate)&&$t(dt,N,S,B),se(u,!0);const nt=Fn(u),yt=u.subTree;u.subTree=nt,R(yt,nt,h(yt.el),qe(yt),u,m,_),S.el=nt.el,j===null&&il(u,nt.el),A&>(A,m),(dt=S.props&&S.props.onVnodeUpdated)&>(()=>$t(dt,N,S,B),m)}else{let S;const{el:T,props:A}=a,{bm:N,m:B,parent:j,root:dt,type:nt}=u,yt=Re(a);if(se(u,!1),N&&nn(N),!yt&&(S=A&&A.onVnodeBeforeMount)&&$t(S,j,a),se(u,!0),T&&Ss){const pt=()=>{u.subTree=Fn(u),Ss(T,u.subTree,u,m,null)};yt&&nt.__asyncHydrate?nt.__asyncHydrate(T,u,pt):pt()}else{dt.ce&&dt.ce._injectChildStyle(nt);const pt=u.subTree=Fn(u);R(null,pt,p,b,u,m,_),a.el=pt.el}if(B&>(B,m),!yt&&(S=A&&A.onVnodeMounted)){const pt=a;gt(()=>$t(S,j,pt),m)}(a.shapeFlag&256||j&&Re(j.vnode)&&j.vnode.shapeFlag&256)&&u.a&>(u.a,m),u.isMounted=!0,a=p=b=null}};u.scope.on();const w=u.effect=new Co(v);u.scope.off();const y=u.update=w.run.bind(w),O=u.job=w.runIfDirty.bind(w);O.i=u,O.id=u.uid,w.scheduler=()=>hs(O),se(u,!0),y()},G=(u,a,p)=>{a.component=u;const b=u.vnode.props;u.vnode=a,u.next=null,Bi(u,a.props,b,p),Wi(u,a.children,p),Qt(),Ns(u),Xt()},H=(u,a,p,b,m,_,C,v,w=!1)=>{const y=u&&u.children,O=u?u.shapeFlag:0,S=a.children,{patchFlag:T,shapeFlag:A}=a;if(T>0){if(T&128){Je(y,S,p,b,m,_,C,v,w);return}else if(T&256){te(y,S,p,b,m,_,C,v,w);return}}A&8?(O&16&&Ce(y,m,_),S!==y&&f(p,S)):O&16?A&16?Je(y,S,p,b,m,_,C,v,w):Ce(y,m,_,!0):(O&8&&f(p,""),A&16&&zt(S,p,b,m,_,C,v,w))},te=(u,a,p,b,m,_,C,v,w)=>{u=u||de,a=a||de;const y=u.length,O=a.length,S=Math.min(y,O);let T;for(T=0;TO?Ce(u,m,_,!0,!1,S):zt(a,p,b,m,_,C,v,w,S)},Je=(u,a,p,b,m,_,C,v,w)=>{let y=0;const O=a.length;let S=u.length-1,T=O-1;for(;y<=S&&y<=T;){const A=u[y],N=a[y]=w?qt(a[y]):It(a[y]);if($e(A,N))R(A,N,p,null,m,_,C,v,w);else break;y++}for(;y<=S&&y<=T;){const A=u[S],N=a[T]=w?qt(a[T]):It(a[T]);if($e(A,N))R(A,N,p,null,m,_,C,v,w);else break;S--,T--}if(y>S){if(y<=T){const A=T+1,N=AT)for(;y<=S;)Tt(u[y],m,_,!0),y++;else{const A=y,N=y,B=new Map;for(y=N;y<=T;y++){const ht=a[y]=w?qt(a[y]):It(a[y]);ht.key!=null&&B.set(ht.key,y)}let j,dt=0;const nt=T-N+1;let yt=!1,pt=0;const Te=new Array(nt);for(y=0;y=nt){Tt(ht,m,_,!0);continue}let Ot;if(ht.key!=null)Ot=B.get(ht.key);else for(j=N;j<=T;j++)if(Te[j-N]===0&&$e(ht,a[j])){Ot=j;break}Ot===void 0?Tt(ht,m,_,!0):(Te[Ot-N]=y+1,Ot>=pt?pt=Ot:yt=!0,R(ht,a[Ot],p,null,m,_,C,v,w),dt++)}const Ts=yt?Qi(Te):de;for(j=Ts.length-1,y=nt-1;y>=0;y--){const ht=N+y,Ot=a[ht],Os=ht+1{const{el:_,type:C,transition:v,children:w,shapeFlag:y}=u;if(y&6){ee(u.component.subTree,a,p,b);return}if(y&128){u.suspense.move(a,p,b);return}if(y&64){C.move(u,a,p,Se);return}if(C===tt){s(_,a,p);for(let S=0;Sv.enter(_),m);else{const{leave:S,delayLeave:T,afterLeave:A}=v,N=()=>s(_,a,p),B=()=>{S(_,()=>{N(),A&&A()})};T?T(_,N,B):B()}else s(_,a,p)},Tt=(u,a,p,b=!1,m=!1)=>{const{type:_,props:C,ref:v,children:w,dynamicChildren:y,shapeFlag:O,patchFlag:S,dirs:T,cacheIndex:A}=u;if(S===-2&&(m=!1),v!=null&&Kn(v,null,p,u,!0),A!=null&&(a.renderCache[A]=void 0),O&256){a.ctx.deactivate(u);return}const N=O&1&&T,B=!Re(u);let j;if(B&&(j=C&&C.onVnodeBeforeUnmount)&&$t(j,a,u),O&6)Cr(u.component,p,b);else{if(O&128){u.suspense.unmount(p,b);return}N&&ne(u,null,a,"beforeUnmount"),O&64?u.type.remove(u,a,p,Se,b):y&&!y.hasOnce&&(_!==tt||S>0&&S&64)?Ce(y,a,p,!1,!0):(_===tt&&S&384||!m&&O&16)&&Ce(w,a,p),b&&ws(u)}(B&&(j=C&&C.onVnodeUnmounted)||N)&>(()=>{j&&$t(j,a,u),N&&ne(u,null,a,"unmounted")},p)},ws=u=>{const{type:a,el:p,anchor:b,transition:m}=u;if(a===tt){vr(p,b);return}if(a===rn){I(u);return}const _=()=>{o(p),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(u.shapeFlag&1&&m&&!m.persisted){const{leave:C,delayLeave:v}=m,w=()=>C(p,_);v?v(u.el,_,w):w()}else _()},vr=(u,a)=>{let p;for(;u!==a;)p=x(u),o(u),u=p;o(a)},Cr=(u,a,p)=>{const{bum:b,scope:m,job:_,subTree:C,um:v,m:w,a:y}=u;Hs(w),Hs(y),b&&nn(b),m.stop(),_&&(_.flags|=8,Tt(C,u,a,p)),v&>(v,a),gt(()=>{u.isUnmounted=!0},a),a&&a.pendingBranch&&!a.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===a.pendingId&&(a.deps--,a.deps===0&&a.resolve())},Ce=(u,a,p,b=!1,m=!1,_=0)=>{for(let C=_;C{if(u.shapeFlag&6)return qe(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const a=x(u.anchor||u.el),p=a&&a[_i];return p?x(p):a};let En=!1;const vs=(u,a,p)=>{u==null?a._vnode&&Tt(a._vnode,null,null,!0):R(a._vnode||null,u,a,null,null,null,p),a._vnode=u,En||(En=!0,Ns(),Ho(),En=!1)},Se={p:R,um:Tt,m:ee,r:ws,mt:$n,mc:zt,pc:H,pbc:Zt,n:qe,o:t};let Cs,Ss;return{render:vs,hydrate:Cs,createApp:Li(vs,Cs)}}function Nn({type:t,props:e},n){return n==="svg"&&t==="foreignObject"||n==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:n}function se({effect:t,job:e},n){n?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function Yi(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function lr(t,e,n=!1){const s=t.children,o=e.children;if($(s)&&$(o))for(let r=0;r>1,t[n[l]]0&&(e[s]=n[r-1]),n[r]=s)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=e[i];return n}function cr(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:cr(e)}function Hs(t){if(t)for(let e=0;esn(Xi);function on(t,e,n){return ur(t,e,n)}function ur(t,e,n=U){const{immediate:s,deep:o,flush:r,once:i}=n,l=ot({},n);let c;if(Tn)if(r==="sync"){const x=Zi();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!e||s)l.once=!0;else return{stop:Rt,resume:Rt,pause:Rt};const d=st;l.call=(x,E,k)=>kt(x,d,E,k);let f=!1;r==="post"?l.scheduler=x=>{gt(x,d&&d.suspense)}:r!=="sync"&&(f=!0,l.scheduler=(x,E)=>{E?x():hs(x)}),l.augmentJob=x=>{e&&(x.flags|=4),f&&(x.flags|=2,d&&(x.id=d.uid,x.i=d))};const h=di(t,e,l);return c&&c.push(h),h}function tl(t,e,n){const s=this.proxy,o=Y(t)?t.includes(".")?ar(s,t):()=>s[t]:t.bind(s,s);let r;P(e)?r=e:(r=e.handler,n=e);const i=Ke(this),l=ur(o,r.bind(s),n);return i(),l}function ar(t,e){const n=e.split(".");return()=>{let s=t;for(let o=0;oe==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Ct(e)}Modifiers`]||t[`${ue(e)}Modifiers`];function nl(t,e,...n){if(t.isUnmounted)return;const s=t.vnode.props||U;let o=n;const r=e.startsWith("update:"),i=r&&el(s,e.slice(7));i&&(i.trim&&(o=n.map(f=>Y(f)?f.trim():f)),i.number&&(o=n.map(an)));let l,c=s[l=In(e)]||s[l=In(Ct(e))];!c&&r&&(c=s[l=In(ue(e))]),c&&kt(c,t,6,o);const d=s[l+"Once"];if(d){if(!t.emitted)t.emitted={};else if(t.emitted[l])return;t.emitted[l]=!0,kt(d,t,6,o)}}function fr(t,e,n=!1){const s=e.emitsCache,o=s.get(t);if(o!==void 0)return o;const r=t.emits;let i={},l=!1;if(!P(t)){const c=d=>{const f=fr(d,e,!0);f&&(l=!0,ot(i,f))};!n&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}return!r&&!l?(z(t)&&s.set(t,null),null):($(r)?r.forEach(c=>i[c]=null):ot(i,r),z(t)&&s.set(t,i),i)}function Cn(t,e){return!t||!gn(e)?!1:(e=e.slice(2).replace(/Once$/,""),D(t,e[0].toLowerCase()+e.slice(1))||D(t,ue(e))||D(t,e))}function Fn(t){const{type:e,vnode:n,proxy:s,withProxy:o,propsOptions:[r],slots:i,attrs:l,emit:c,render:d,renderCache:f,props:h,data:x,setupState:E,ctx:k,inheritAttrs:R}=t,Q=dn(t);let F,J;try{if(n.shapeFlag&4){const I=o||s,X=I;F=It(d.call(X,I,f,h,E,x,k)),J=l}else{const I=e;F=It(I.length>1?I(h,{attrs:l,slots:i,emit:c}):I(h,null)),J=e.props?l:sl(l)}}catch(I){Me.length=0,wn(I,t,1),F=et(ce)}let q=F;if(J&&R!==!1){const I=Object.keys(J),{shapeFlag:X}=q;I.length&&X&7&&(r&&I.some(es)&&(J=ol(J,r)),q=ye(q,J,!1,!0))}return n.dirs&&(q=ye(q,null,!1,!0),q.dirs=q.dirs?q.dirs.concat(n.dirs):n.dirs),n.transition&&gs(q,n.transition),F=q,dn(Q),F}const sl=t=>{let e;for(const n in t)(n==="class"||n==="style"||gn(n))&&((e||(e={}))[n]=t[n]);return e},ol=(t,e)=>{const n={};for(const s in t)(!es(s)||!(s.slice(9)in e))&&(n[s]=t[s]);return n};function rl(t,e,n){const{props:s,children:o,component:r}=t,{props:i,children:l,patchFlag:c}=e,d=r.emitsOptions;if(e.dirs||e.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Bs(s,i,d):!!i;if(c&8){const f=e.dynamicProps;for(let h=0;ht.__isSuspense;function ll(t,e){e&&e.pendingBranch?$(t)?e.effects.push(...t):e.effects.push(t):gi(t)}const tt=Symbol.for("v-fgt"),Sn=Symbol.for("v-txt"),ce=Symbol.for("v-cmt"),rn=Symbol.for("v-stc"),Me=[];let bt=null;function K(t=!1){Me.push(bt=t?null:[])}function cl(){Me.pop(),bt=Me[Me.length-1]||null}let je=1;function Ks(t){je+=t,t<0&&bt&&(bt.hasOnce=!0)}function pr(t){return t.dynamicChildren=je>0?bt||de:null,cl(),je>0&&bt&&bt.push(t),t}function W(t,e,n,s,o,r){return pr(g(t,e,n,s,o,r,!0))}function bs(t,e,n,s,o){return pr(et(t,e,n,s,o,!0))}function ul(t){return t?t.__v_isVNode===!0:!1}function $e(t,e){return t.type===e.type&&t.key===e.key}const hr=({key:t})=>t??null,ln=({ref:t,ref_key:e,ref_for:n})=>(typeof t=="number"&&(t=""+t),t!=null?Y(t)||ut(t)||P(t)?{i:_t,r:t,k:e,f:!!n}:t:null);function g(t,e=null,n=null,s=0,o=null,r=t===tt?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&hr(e),ref:e&&ln(e),scopeId:Ko,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:_t};return l?(ys(c,n),r&128&&t.normalize(c)):n&&(c.shapeFlag|=Y(n)?8:16),je>0&&!i&&bt&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&bt.push(c),c}const et=al;function al(t,e=null,n=null,s=0,o=null,r=!1){if((!t||t===Ri)&&(t=ce),ul(t)){const l=ye(t,e,!0);return n&&ys(l,n),je>0&&!r&&bt&&(l.shapeFlag&6?bt[bt.indexOf(t)]=l:bt.push(l)),l.patchFlag=-2,l}if(vl(t)&&(t=t.__vccOpts),e){e=fl(e);let{class:l,style:c}=e;l&&!Y(l)&&(e.class=Vt(l)),z(c)&&(fs(c)&&!$(c)&&(c=ot({},c)),e.style=bn(c))}const i=Y(t)?1:dr(t)?128:bi(t)?64:z(t)?4:P(t)?2:0;return g(t,e,n,s,o,i,r,!0)}function fl(t){return t?fs(t)||tr(t)?ot({},t):t:null}function ye(t,e,n=!1,s=!1){const{props:o,ref:r,patchFlag:i,children:l,transition:c}=t,d=e?pl(o||{},e):o,f={__v_isVNode:!0,__v_skip:!0,type:t.type,props:d,key:d&&hr(d),ref:e&&e.ref?n&&r?$(r)?r.concat(ln(e)):[r,ln(e)]:ln(e):r,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:l,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==tt?i===-1?16:i|16:i,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:c,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&ye(t.ssContent),ssFallback:t.ssFallback&&ye(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return c&&s&&gs(f,c.clone(f)),f}function Yn(t=" ",e=0){return et(Sn,null,t,e)}function dl(t,e){const n=et(rn,null,t);return n.staticCount=e,n}function _e(t="",e=!1){return e?(K(),bs(ce,null,t)):et(ce,null,t)}function It(t){return t==null||typeof t=="boolean"?et(ce):$(t)?et(tt,null,t.slice()):typeof t=="object"?qt(t):et(Sn,null,String(t))}function qt(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:ye(t)}function ys(t,e){let n=0;const{shapeFlag:s}=t;if(e==null)e=null;else if($(e))n=16;else if(typeof e=="object")if(s&65){const o=e.default;o&&(o._c&&(o._d=!1),ys(t,o()),o._c&&(o._d=!0));return}else{n=32;const o=e._;!o&&!tr(e)?e._ctx=_t:o===3&&_t&&(_t.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else P(e)?(e={default:e,_ctx:_t},n=32):(e=String(e),s&64?(n=16,e=[Yn(e)]):n=8);t.children=e,t.shapeFlag|=n}function pl(...t){const e={};for(let n=0;n{let o;return(o=t[n])||(o=t[n]=[]),o.push(s),r=>{o.length>1?o.forEach(i=>i(r)):o[0](r)}};hn=e("__VUE_INSTANCE_SETTERS__",n=>st=n),Qn=e("__VUE_SSR_SETTERS__",n=>Tn=n)}const Ke=t=>{const e=st;return hn(t),t.scope.on(),()=>{t.scope.off(),hn(e)}},zs=()=>{st&&st.scope.off(),hn(null)};function gr(t){return t.vnode.shapeFlag&4}let Tn=!1;function _l(t,e=!1,n=!1){e&&Qn(e);const{props:s,children:o}=t.vnode,r=gr(t);Hi(t,s,r,e),Gi(t,o,n);const i=r?bl(t,e):void 0;return e&&Qn(!1),i}function bl(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,Mi);const{setup:s}=n;if(s){const o=t.setupContext=s.length>1?xl(t):null,r=Ke(t);Qt();const i=Be(s,t,0,[t.props,o]);if(Xt(),r(),go(i)){if(Re(t)||zo(t),i.then(zs,zs),e)return i.then(l=>{Gs(t,l,e)}).catch(l=>{wn(l,t,0)});t.asyncDep=i}else Gs(t,i,e)}else mr(t,e)}function Gs(t,e,n){P(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:z(e)&&(t.setupState=jo(e)),mr(t,n)}let Ws;function mr(t,e,n){const s=t.type;if(!t.render){if(!e&&Ws&&!s.render){const o=s.template||ms(t).template;if(o){const{isCustomElement:r,compilerOptions:i}=t.appContext.config,{delimiters:l,compilerOptions:c}=s,d=ot(ot({isCustomElement:r,delimiters:l},i),c);s.render=Ws(o,d)}}t.render=s.render||Rt}{const o=Ke(t);Qt();try{ki(t)}finally{Xt(),o()}}}const yl={get(t,e){return rt(t,"get",""),t[e]}};function xl(t){const e=n=>{t.exposed=n||{}};return{attrs:new Proxy(t.attrs,yl),slots:t.slots,emit:t.emit,expose:e}}function On(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(jo(ii(t.exposed)),{get(e,n){if(n in e)return e[n];if(n in Pe)return Pe[n](t)},has(e,n){return n in e||n in Pe}})):t.proxy}function wl(t,e=!0){return P(t)?t.displayName||t.name:t.name||e&&t.__name}function vl(t){return P(t)&&"__vccOpts"in t}const Cl=(t,e)=>ai(t,e,Tn),Sl="3.5.5";/** +* @vue/runtime-dom v3.5.5 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Xn;const Js=typeof window<"u"&&window.trustedTypes;if(Js)try{Xn=Js.createPolicy("vue",{createHTML:t=>t})}catch{}const _r=Xn?t=>Xn.createHTML(t):t=>t,Tl="http://www.w3.org/2000/svg",Ol="http://www.w3.org/1998/Math/MathML",jt=typeof document<"u"?document:null,qs=jt&&jt.createElement("template"),$l={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,s)=>{const o=e==="svg"?jt.createElementNS(Tl,t):e==="mathml"?jt.createElementNS(Ol,t):n?jt.createElement(t,{is:n}):jt.createElement(t);return t==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:t=>jt.createTextNode(t),createComment:t=>jt.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>jt.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,s,o,r){const i=n?n.previousSibling:e.lastChild;if(o&&(o===r||o.nextSibling))for(;e.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{qs.innerHTML=_r(s==="svg"?`${t}`:s==="mathml"?`${t}`:t);const l=qs.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}e.insertBefore(l,n)}return[i?i.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}},El=Symbol("_vtc");function Il(t,e,n){const s=t[El];s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}const Ys=Symbol("_vod"),Al=Symbol("_vsh"),Rl=Symbol(""),Pl=/(^|;)\s*display\s*:/;function Ml(t,e,n){const s=t.style,o=Y(n);let r=!1;if(n&&!o){if(e)if(Y(e))for(const i of e.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&cn(s,l,"")}else for(const i in e)n[i]==null&&cn(s,i,"");for(const i in n)i==="display"&&(r=!0),cn(s,i,n[i])}else if(o){if(e!==n){const i=s[Rl];i&&(n+=";"+i),s.cssText=n,r=Pl.test(n)}}else e&&t.removeAttribute("style");Ys in t&&(t[Ys]=r?s.display:"",t[Al]&&(s.display="none"))}const Qs=/\s*!important$/;function cn(t,e,n){if($(n))n.forEach(s=>cn(t,e,s));else if(n==null&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const s=kl(t,e);Qs.test(n)?t.setProperty(ue(s),n.replace(Qs,""),"important"):t[s]=n}}const Xs=["Webkit","Moz","ms"],Dn={};function kl(t,e){const n=Dn[e];if(n)return n;let s=Ct(e);if(s!=="filter"&&s in t)return Dn[e]=s;s=_n(s);for(let o=0;ojn||(Vl.then(()=>jn=0),jn=Date.now());function Ul(t,e){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;kt(Hl(s,n.value),e,5,[s])};return n.value=t,n.attached=Ll(),n}function Hl(t,e){if($(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(s=>o=>!o._stopped&&s&&s(o))}else return e}const so=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,Bl=(t,e,n,s,o,r)=>{const i=o==="svg";e==="class"?Il(t,s,i):e==="style"?Ml(t,n,s):gn(e)?es(e)||Dl(t,e,n,s,r):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Kl(t,e,s,i))?(Nl(t,e,s),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&to(t,e,s,i,r,e!=="value")):(e==="true-value"?t._trueValue=s:e==="false-value"&&(t._falseValue=s),to(t,e,s,i))};function Kl(t,e,n,s){if(s)return!!(e==="innerHTML"||e==="textContent"||e in t&&so(e)&&P(n));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const o=t.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return so(e)&&Y(n)?!1:!!(e in t||t._isVueCE&&(/[A-Z]/.test(e)||!Y(n)))}const xe=t=>{const e=t.props["onUpdate:modelValue"]||!1;return $(e)?n=>nn(e,n):e};function zl(t){t.target.composing=!0}function oo(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const Ht=Symbol("_assign"),At={created(t,{modifiers:{lazy:e,trim:n,number:s}},o){t[Ht]=xe(o);const r=s||o.props&&o.props.type==="number";Yt(t,e?"change":"input",i=>{if(i.target.composing)return;let l=t.value;n&&(l=l.trim()),r&&(l=an(l)),t[Ht](l)}),n&&Yt(t,"change",()=>{t.value=t.value.trim()}),e||(Yt(t,"compositionstart",zl),Yt(t,"compositionend",oo),Yt(t,"change",oo))},mounted(t,{value:e}){t.value=e??""},beforeUpdate(t,{value:e,oldValue:n,modifiers:{lazy:s,trim:o,number:r}},i){if(t[Ht]=xe(i),t.composing)return;const l=(r||t.type==="number")&&!/^0\d/.test(t.value)?an(t.value):t.value,c=e??"";l!==c&&(document.activeElement===t&&t.type!=="range"&&(s&&e===n||o&&t.value.trim()===c)||(t.value=c))}},Gl={deep:!0,created(t,e,n){t[Ht]=xe(n),Yt(t,"change",()=>{const s=t._modelValue,o=Ve(t),r=t.checked,i=t[Ht];if($(s)){const l=os(s,o),c=l!==-1;if(r&&!c)i(s.concat(o));else if(!r&&c){const d=[...s];d.splice(l,1),i(d)}}else if(we(s)){const l=new Set(s);r?l.add(o):l.delete(o),i(l)}else i(br(t,r))})},mounted:ro,beforeUpdate(t,e,n){t[Ht]=xe(n),ro(t,e,n)}};function ro(t,{value:e,oldValue:n},s){t._modelValue=e;let o;$(e)?o=os(e,s.props.value)>-1:we(e)?o=e.has(s.props.value):o=Ue(e,br(t,!0)),t.checked!==o&&(t.checked=o)}const Vn={deep:!0,created(t,{value:e,modifiers:{number:n}},s){const o=we(e);Yt(t,"change",()=>{const r=Array.prototype.filter.call(t.options,i=>i.selected).map(i=>n?an(Ve(i)):Ve(i));t[Ht](t.multiple?o?new Set(r):r:r[0]),t._assigning=!0,Lo(()=>{t._assigning=!1})}),t[Ht]=xe(s)},mounted(t,{value:e,modifiers:{number:n}}){io(t,e)},beforeUpdate(t,e,n){t[Ht]=xe(n)},updated(t,{value:e,modifiers:{number:n}}){t._assigning||io(t,e)}};function io(t,e,n){const s=t.multiple,o=$(e);if(!(s&&!o&&!we(e))){for(let r=0,i=t.options.length;rString(f)===String(c)):l.selected=os(e,c)>-1}else l.selected=e.has(c);else if(Ue(Ve(l),e)){t.selectedIndex!==r&&(t.selectedIndex=r);return}}!s&&t.selectedIndex!==-1&&(t.selectedIndex=-1)}}function Ve(t){return"_value"in t?t._value:t.value}function br(t,e){const n=e?"_trueValue":"_falseValue";return n in t?t[n]:e}const Wl=ot({patchProp:Bl},$l);let lo;function Jl(){return lo||(lo=Ji(Wl))}const ql=(...t)=>{const e=Jl().createApp(...t),{mount:n}=e;return e.mount=s=>{const o=Ql(s);if(!o)return;const r=e._component;!P(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=n(o,!1,Yl(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},e};function Yl(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function Ql(t){return Y(t)?document.querySelector(t):t}const Nt=(t,e)=>{const n=t.__vccOpts||t;for(const[s,o]of e)n[s]=o;return n},Xl={};function Zl(t,e){return K(),W(tt,null,[e[0]||(e[0]=g("h1",null,"GlossySnake",-1)),e[1]||(e[1]=g("p",null,[Yn("INDEX PAGE | "),g("a",{href:"v4"},"v4"),Yn(" | "),g("a",{href:"https://github.com/parkchamchi/GlossySnake"},"Repo")],-1))],64)}const tc=Nt(Xl,[["render",Zl],["__scopeId","data-v-9098c0f4"]]),ec=JSON.parse(localStorage.getItem("sharedState"))||{},M=He({annotator_name:"chatgpt_ft0",lang_from:"German",lang_to:"English",openaiApiKey:null,openaiModel:"gpt-4o-mini",outerRetry:2,innerRetry:3,maxGloss:80,fullPrompt:!0,currentOpenCorpus:"",psPerScreen:16,glossColor:"gray",txtSize:150,glossSize:90,...ec}),nc={data(){return M},watch:{annotator_name(){this.emitChange()},lang_from(){this.emitChange()},lang_to(){this.emitChange()}},methods:{emitChange(){M.annotator_name=this.annotator_name,M.lang_from=this.lang_from,M.lang_to=this.lang_to}}},sc={class:"container mt-4"},oc={class:"row"},rc={class:"col-md-4"},ic={class:"col-md-4"},lc={class:"col-md-4"};function cc(t,e,n,s,o,r){return K(),W(tt,null,[g("div",sc,[g("div",oc,[g("div",rc,[e[4]||(e[4]=g("label",{for:"annotator_name"},"annotator_name:",-1)),ft(g("select",{"onUpdate:modelValue":e[0]||(e[0]=i=>t.annotator_name=i),name:"annotator_name",id:"annotator_name_select",class:"form-control"},e[3]||(e[3]=[dl('',6)]),512),[[Vn,t.annotator_name]])]),g("div",ic,[e[6]||(e[6]=g("label",{for:"lang_from"},"lang_from:",-1)),ft(g("select",{"onUpdate:modelValue":e[1]||(e[1]=i=>t.lang_from=i),name:"lang_from",id:"lang_from_select",class:"form-control"},e[5]||(e[5]=[g("option",{value:"French"},"French",-1),g("option",{value:"German"},"German",-1),g("option",{value:"Latin"},"Latin",-1)]),512),[[Vn,t.lang_from]])]),g("div",lc,[e[8]||(e[8]=g("label",{for:"lang_to"},"lang_to:",-1)),ft(g("select",{"onUpdate:modelValue":e[2]||(e[2]=i=>t.lang_to=i),name:"lang_to",id:"lang_to_select",class:"form-control"},e[7]||(e[7]=[g("option",{value:"English"},"English",-1)]),512),[[Vn,t.lang_to]])])])]),e[9]||(e[9]=g("br",null,null,-1))],64)}const uc=Nt(nc,[["render",cc]]),ac={data(){return M},watch:{openaiApiKey(){this.emitChange()},openaiModel(){this.emitChange()},outerRetry(){this.emitChange()},innerRetry(){this.emitChange()},maxGloss(){this.emitChange()},fullPrompt(){this.emitChange()}},computed:{},methods:{emitChange(){M.openaiApiKey=this.openaiApiKey,M.openaiModel=this.openaiModel,M.outerRetry=this.outerRetry,M.innerRetry=this.innerRetry,M.maxGloss=this.maxGloss,M.fullPrompt=this.fullPrompt}}},fc={class:"container mt-3"},dc={class:"row"},pc={class:"col-md-2"},hc={class:"col-md-2"},gc={class:"col-md-2"},mc={class:"col-md-2"},_c={class:"col-md-2"},bc={class:"col-md-2 d-flex align-items-center"};function yc(t,e,n,s,o,r){return K(),W(tt,null,[e[13]||(e[13]=g("h4",null,"Local Annotator Options",-1)),g("div",fc,[g("div",dc,[g("div",pc,[e[6]||(e[6]=g("label",{for:"openaiApiKey"},"OpenAI API Key",-1)),ft(g("input",{type:"password",class:"form-control",id:"openaiApiKey","onUpdate:modelValue":e[0]||(e[0]=i=>t.openaiApiKey=i)},null,512),[[At,t.openaiApiKey]])]),g("div",hc,[e[7]||(e[7]=g("label",{for:"openaiModel"},"OpenAI Model",-1)),ft(g("input",{type:"text",class:"form-control",id:"openaiModel","onUpdate:modelValue":e[1]||(e[1]=i=>t.openaiModel=i)},null,512),[[At,t.openaiModel]])]),g("div",gc,[e[8]||(e[8]=g("label",{for:"outerRetry"},"Outer Retry",-1)),ft(g("input",{type:"number",class:"form-control",id:"outerRetry","onUpdate:modelValue":e[2]||(e[2]=i=>t.outerRetry=i),min:"1"},null,512),[[At,t.outerRetry]])]),g("div",mc,[e[9]||(e[9]=g("label",{for:"innerRetry"},"Inner Retry",-1)),ft(g("input",{type:"number",class:"form-control",id:"innerRetry","onUpdate:modelValue":e[3]||(e[3]=i=>t.innerRetry=i),min:"1"},null,512),[[At,t.innerRetry]])]),g("div",_c,[e[10]||(e[10]=g("label",{for:"maxGloss"},"Max Gloss",-1)),ft(g("input",{type:"number",class:"form-control",id:"maxGloss","onUpdate:modelValue":e[4]||(e[4]=i=>t.maxGloss=i),min:"40"},null,512),[[At,t.maxGloss]])]),g("div",bc,[ft(g("input",{type:"checkbox",class:"form-check-input",id:"fullPrompt","onUpdate:modelValue":e[5]||(e[5]=i=>t.fullPrompt=i)},null,512),[[Gl,t.fullPrompt]]),e[11]||(e[11]=g("label",{class:"form-check-label",for:"fullPrompt"},"Full Prompt",-1))])]),e[12]||(e[12]=g("div",{class:"row"},[g("div",{class:"col-md-2 d-flex align-items-center"},[g("button",{class:"btn btn-link mt-3"},[g("a",{href:"https://github.com/parkchamchi/GlossySnake/blob/master/docs/design/local.md"},"Info")])])],-1))])],64)}const xc=Nt(ac,[["render",yc]]),wc={data(){return M},watch:{glossColor(){this.emitChange()},txtSize(){this.emitChange()},glossSize(){this.emitChange()}},methods:{emitChange(){M.glossColor=this.glossColor,M.txtSize=this.txtSize,M.glossSize=this.glossSize},exportData(){console.log("Exporting");const t=JSON.stringify(M,null,2),e=new Blob([t],{type:"application/json"}),n=URL.createObjectURL(e),s=document.createElement("a");s.href=n,s.download="sharedState.json",s.click(),URL.revokeObjectURL(n)},async importData(t){const n=await t.target.files[0].text(),s=JSON.parse(n);Object.keys(s).forEach(o=>{M.hasOwnProperty(o)&&(M[o]=s[o])})}},mounted(){on(()=>M,t=>{localStorage.setItem("sharedState",JSON.stringify(t))},{deep:!0})}},vc={class:"container mt-3"},Cc={class:"row"},Sc={class:"col-md-2"},Tc={class:"col-md-2"},Oc={class:"col-md-2"},$c={class:"col-md-2 d-flex align-items-center"},Ec={class:"col-md-2 d-flex align-items-center"};function Ic(t,e,n,s,o,r){return K(),W(tt,null,[e[8]||(e[8]=g("h4",null,"Misc. Options",-1)),g("div",vc,[g("div",Cc,[g("div",Sc,[e[5]||(e[5]=g("label",{for:"glossColor"},"Gloss color",-1)),ft(g("input",{type:"color",class:"form-control",id:"glossColor","onUpdate:modelValue":e[0]||(e[0]=i=>t.glossColor=i)},null,512),[[At,t.glossColor]])]),g("div",Tc,[e[6]||(e[6]=g("label",{for:"txtSize"},"Text Size",-1)),ft(g("input",{type:"range",class:"form-control",id:"txtSize","onUpdate:modelValue":e[1]||(e[1]=i=>t.txtSize=i),min:"50",max:"150"},null,512),[[At,t.txtSize]])]),g("div",Oc,[e[7]||(e[7]=g("label",{for:"glossSize"},"Gloss Size",-1)),ft(g("input",{type:"range",class:"form-control",id:"glossSize","onUpdate:modelValue":e[2]||(e[2]=i=>t.glossSize=i),min:"50",max:"150"},null,512),[[At,t.glossSize]])]),g("div",$c,[g("input",{type:"file",onChange:e[3]||(e[3]=(...i)=>r.importData&&r.importData(...i)),class:"form-control"},null,32)]),g("div",Ec,[g("button",{class:"btn btn-link mt-3",onClick:e[4]||(e[4]=(...i)=>r.exportData&&r.exportData(...i))},"Export")])])])],64)}const Ac=Nt(wc,[["render",Ic]]),Wt=He({}),re={on(t,e){Wt[t]||(Wt[t]=[]),Wt[t].push(e)},off(t,e){Wt[t]&&(Wt[t]=Wt[t].filter(n=>n!==e))},emit(t,e){Wt[t]&&Wt[t].forEach(n=>n(e))}};class Rc{constructor(){this.initCache(),this.connectDb(),this.initCursors()}create(e){return new Promise((n,s)=>{const r=this.db.transaction(["corpuses"],"readwrite").objectStore("corpuses"),i=(l,c)=>{const d=r.get(c);d.onsuccess=()=>{if(d.result){const f=c.match(/^(.*?)( \((\d+)\))?$/),h=f[1],x=f[3]?parseInt(f[3],10)+1:1,E=`${h} (${x})`;l.id=E,i(l,E)}else{const f=r.add(l);f.onsuccess=()=>n(f.result),f.onerror=h=>s(h.target.error),this.setCache()}},d.onerror=f=>s(f.target.error)};i(e,e.id)})}read(e){return new Promise((n,s)=>{const i=this.db.transaction(["corpuses"],"readonly").objectStore("corpuses").get(e);i.onsuccess=()=>n(i.result),i.onerror=l=>s(l.target.error),this.setCache()})}update(e){return e=JSON.parse(JSON.stringify(e)),new Promise((n,s)=>{const i=this.db.transaction(["corpuses"],"readwrite").objectStore("corpuses").put(e);i.onsuccess=()=>n(i.result),i.onerror=l=>s(l.target.error),this.setCache()})}delete(e){return new Promise((n,s)=>{const i=this.db.transaction(["corpuses"],"readwrite").objectStore("corpuses").delete(e);i.onsuccess=()=>n(),i.onerror=l=>s(l.target.error),this.setCache()})}reset(){return console.log("Resetting."),new Promise((e,n)=>{const r=this.db.transaction(["corpuses"],"readwrite").objectStore("corpuses").clear();this.setCache(),r.onsuccess=()=>e(),r.onerror=i=>n(i.target.error)})}initCache(){this.cache=["loading..."]}async connectDb(){this.db=await Pc("corpusDBv5",1,e=>{e.objectStoreNames.contains("corpuses")||e.createObjectStore("corpuses",{keyPath:"id",autoIncrement:!0})}),this.setCache()}async setCache(){return new Promise((e,n)=>{const r=this.db.transaction(["corpuses"],"readonly").objectStore("corpuses").openCursor(),i=[];r.onsuccess=l=>{const c=l.target.result;c?(i.push(c.key),c.continue()):(this.cache=i,re.emit("updateCorpusIds"),e())},r.onerror=l=>{n(l.target.error)}})}initCursors(){this.cursors=JSON.parse(localStorage.getItem("corpusCursors"))||{}}setCursor(e,n){console.log(n),this.cursors[e]=n,localStorage.setItem("corpusCursors",JSON.stringify(this.cursors))}getCursor(e){return this.cursors[e]}}function Pc(t,e,n){return new Promise((s,o)=>{const r=indexedDB.open(t,e);r.onupgradeneeded=i=>{const l=i.target.result;n(l)},r.onsuccess=i=>s(i.target.result),r.onerror=i=>o(i.target.error)})}const un=new Rc,Mc={components:{},data(){return{sampleHost:"https://parkchamchi.github.io/GlossySnake/samples/v5/",remoteSampleFilenames:[],corpusStorage:un,corpusIds:["loading."]}},methods:{async getRemoteSamples(){await fetch(this.sampleHost).then(t=>t.json()).then(t=>{this.remoteSampleFilenames=t.filenames})},async getRemoteSampleCorpus(t){fetch(this.sampleHost+t).then(e=>e.json()).then(e=>{const n=t.replace(".corpus.json","");e.id=n,this.addLocalCorpus(e)})},async addLocalCorpus(t){this.corpusStorage.create(t)},updateCorpusIds(){this.corpusIds=this.corpusStorage.cache},onCorpusIdClicked(t){M.currentOpenCorpus=t},clearCorpuses(){this.corpusStorage.reset()}},async created(){re.on("updateCorpusIds",this.updateCorpusIds),re.on("addLocalCorpus",this.addLocalCorpus),this.getRemoteSamples()},mounted(){M.currentOpenCorpus="",this.updateCorpusIds()},beforeDestroy(){re.off("updateCorpuses",this.updateCorpuses),re.off("addLocalCorpus",this.addLocalCorpus)}},kc={key:0},Nc={style:{display:"inline"}},Fc=["onClick"],Dc=["onClick"];function jc(t,e,n,s,o,r){return K(),W(tt,null,[g("p",{onClick:e[0]||(e[0]=(...i)=>r.clearCorpuses&&r.clearCorpuses(...i))},"[Clear data]"),o.remoteSampleFilenames.length>0?(K(),W("div",kc,[e[2]||(e[2]=g("h4",null,"Get a sample:",-1)),(K(!0),W(tt,null,zn(o.remoteSampleFilenames,(i,l)=>(K(),W("p",Nc,[g("span",{onClick:c=>r.getRemoteSampleCorpus(i),class:"sampleLinkP"},Pt(i),9,Fc),e[1]||(e[1]=g("span",null," | ",-1))]))),256))])):_e("",!0),g("div",null,[(K(!0),W(tt,null,zn(o.corpusIds,(i,l)=>(K(),W("div",{onClick:c=>r.onCorpusIdClicked(i)},[e[3]||(e[3]=g("hr",null,null,-1)),g("h4",null,Pt(i),1)],8,Dc))),256))])],64)}const Vc=Nt(Mc,[["render",jc],["__scopeId","data-v-d5289196"]]);let co=class{constructor(e,n,s){this.txt=e,this.gloss=n,this.is_delimiter=s}};class yr{constructor(e,n,s){this.annotator_name=e,this.lang_from=n,this.lang_to=s}}let Lc=class{constructor(e,n,s,o,r,i){this.pstate=e,this.tokens=n,this.is_delimiter=s,this.token_delimiters=o,this.original_text=r,this.annotator_info_obj=i}},Uc=class xr{constructor(e,n,s,o){this.paragraphs=e,this.paragraph_delimiters=n,this.original_text=s,this.p_div_locs=o}static init_with_txt(e){return new xr([],null,e,[])}};const Hc={data(){return{originalText:""}},methods:{async onUploadButtonClicked(){this.makeTitle(this.originalText);const t=Uc.init_with_txt(this.originalText);re.emit("addLocalCorpus",t)},async onJsonFileInput(t){const n=await t.target.files[0].text(),s=JSON.parse(n);this.makeTitle(s.original_text),re.emit("addLocalCorpus",s)},makeTitle(t,e=16){return t.substring(0,e)}}},Bc={id:"frontend_upload_div"};function Kc(t,e,n,s,o,r){return K(),W("div",Bc,[e[3]||(e[3]=g("h3",null,"Upload...",-1)),e[4]||(e[4]=g("label",{for:"frontend_original_text"},"Original Text",-1)),e[5]||(e[5]=g("br",null,null,-1)),ft(g("textarea",{"onUpdate:modelValue":e[0]||(e[0]=i=>o.originalText=i),class:"context_input auto-resize field_input",name:"frontend_original_text",spellcheck:"false",autofocus:"",placeholder:"Original Text",id:"frontend_original_text_textarea"},null,512),[[At,o.originalText]]),e[6]||(e[6]=g("br",null,null,-1)),g("button",{onClick:e[1]||(e[1]=i=>r.onUploadButtonClicked()),id:"frontend_original_text_button",class:"btn btn-primary"}," Upload "),e[7]||(e[7]=g("br",null,null,-1)),e[8]||(e[8]=g("p",null,"...or the JSON file",-1)),g("input",{type:"file",id:"json_file_input",onChange:e[2]||(e[2]=(...i)=>r.onJsonFileInput&&r.onJsonFileInput(...i))},null,32),e[9]||(e[9]=g("br",null,null,-1))])}const zc=Nt(Hc,[["render",Kc],["__scopeId","data-v-85bf616b"]]),uo=` +\r\v\f`;function Gc(t,e){const n=e.split("").map(o=>o.replace(/[-\/\\^$.*+?()[\]{}|]/g,"\\$&")).join("|");return t.split(new RegExp(`(${n})`)).filter(o=>o!=="").map(o=>({token:o,is_delimiter:e.includes(o)}))}class ao{static divide_into_paragraphs(e,n=[` +`]){const s=e.original_text;let o=n.map(i=>i.replace("\\n",` +`)),r=[s];o.sort((i,l)=>l.length-i.length),o.forEach(i=>{for(let l=0;l[d,i]).slice(0,-1),r[l]=c}r=[].concat(...r)}),e.p_div_locs=r.reduce((i,l)=>(i.push((i.length?i[i.length-1]:0)+l.length),i),[]),e.paragraphs=r.map(i=>new Lc("DIVIDED",[],n.includes(i),"",i,new yr)),e.paragraph_delimiters=n}static parse_paragraph(e,n=uo){if(n||(n=uo),e.is_delimiter)e.tokens=[new co(e.original_text,null,!0)];else{const s=Gc(e.original_text,n);e.tokens=s.map(({token:o,is_delimiter:r})=>new co(o,null,r))}e.pstate="PARSED",e.token_delimiters=n}}const fo="!UNKNOWN";class wr{constructor(){this.annotator_name="DUMMYGLOSS"}async annotate(e,n,s){this.lang_from=n,this.lang_to=s,e.is_delimiter||(e.tokens&&e.tokens.length>0&&await this.put_gloss(e),e.pstate="ANNOTATED",e.annotator_info_obj.lang_from=this.lang_from,e.annotator_info_obj.lang_to=this.lang_to,e.annotator_info_obj.annotator_name=this.annotator_name)}async reannotate(e,n,s,o){this.lang_from=n,this.lang_to=s,!e.is_delimiter&&await this.reput_gloss(e,o)}async put_gloss(e){for(const n of e.tokens)n.is_delimiter||(n.gloss=`${this.annotator_name}(${n.txt})`)}async reput_gloss(e,n){for(const[s,o]of e.tokens.entries())n.includes(s)&&(o.gloss=`${this.annotator_name}_reannotated_\`${this.lang_from}\`_\`${this.lang_to}\``)}}const Z="||",xt="!TO_REANNOTATE",Zn="!TOKEN_TO_IGNORE";function po(t){return t.replace(/[^a-zA-Z]/g,"")}function Wc(t,e){const n=po(t),s=po(e);if(!n)return!0;const o=new Set(n),r=new Set(s),i=new Set([...o].filter(d=>r.has(d))),l=new Set([...o,...r]);return(l.size>0?i.size/l.size:0)>=.5}class Jc extends wr{constructor(e){super(),this.annotator_name=e,this.glossFetcher=new Yc(!0)}async put_gloss(e){const n=e.tokens.filter(l=>!l.is_delimiter),s=n.map(l=>l.txt),o=this.chunkize(s);console.log(`Chunks: ${o}`);let r=[],i=-1;for(const l of o){const c=l-i;if(c<=0){console.warn("Warning: length <= 0"),i=l;continue}console.log(`[${i+1}:${l+1}] out of ${s.length} (len: ${c})`);const d=s.slice(i+1,l+1);let f=await this.glossFetcher.tryFetchGloss(d);r=r.concat(f),i=l,console.log(`Chunk: ${f} (len: ${f.length})`)}for(let l=0;lRR.txt),E=h.map(R=>R.gloss),k=await this.glossFetcher.tryFetchGloss(x,E);console.log(`Chunk: ${k} (len: ${k.length})`);for(let R=0;Rc.includes(d))&&o.push(l)}const r=[0];for(;;){const l=r[r.length-1];if(l+s>e.length)break;o=o.filter(f=>f>s);let c=o.filter(f=>f<=s),d;c.length===0?d=l+s:d=Math.max(...c),r.push(d)}r.shift();const i=e.length-1;return r.includes(i)||r.push(i),r}chunkizeForReannotation(e,n=16,s=4){const o=[];for(let r=0;r0){const d=o[o.length-1][1];if(re.length&&(c=e.length-1),o.push([l,c])}return o}}class qc{constructor(e=!1){this.dummy=e}async fetchGloss(e){if(!this.dummy)throw new Error("NotImplementedError");const n=e.length;return Array.from({length:n},(s,o)=>[`dummy${o}`])}async tryFetchGloss(e){return await this.fetchGloss(e)}}class Yc extends qc{async tryFetchGloss(e,n=null){console.log(`Trying to fetch ${e.length} glosses`);const s=M.innerRetry,o=M.outerRetry,r=Array.isArray(n);let i;r?(console.log(`Reannotating: ${n}`),i=this.makeQueryReannotation(e,n)):i=this.makeQuery(e);const l=[...this.getChat(r),{role:"user",content:i}];this.lastResText="";for(let c=0;co.json()).then(o=>{const r=o.usage.total_tokens;console.log("token usage:",r);const i=o.choices[0].message.content;this.lastResText=i;let l=this.parseRes(i);return Object.keys(l).length!=e.length&&console.log("parsed:",l),l=this.validateRes(e,l,s),l})}makeQuery(e){let n="";for(const[s,o]of e.entries())n+=`${s}: ${o} +`;return n}makeQueryReannotation(e,n){let s="";for(const[o,[r,i]]of e.map((l,c)=>[c,[l,n[c]]]))s+=`${o}: ${r} ${Z} ${i} +`;return s}parseRes(e){const n=e;try{if(e.includes("```"))e=e.split("```")[1];else if(e.includes("0:"))e=e.substring(e.indexOf("0:"));else throw new Error("The first line (`0: ...`) could not be found. Reformat the reply and answer again.");let s=e.split(` +`).filter(r=>r.trim()!==""),o={};return s.forEach(r=>{const[i,l]=r.match(/^(\d+):\s*(.*)$/).slice(1,3),c=parseInt(i.trim(),10),d=l.split(Z).map(f=>f.trim()).filter(f=>f!=="");o[c]=d}),o}catch{throw console.error(n),new Error("Could not parse the output. The output should be in the codeblock (``` 0: ... ```) and additional notes are not needed.")}}validateRes(e,n,s){const o=Array.isArray(s);console.log("token_strs:",e),console.log("res:",n);for(let l=0;l=d.length)break;const[f,h]=d[l];if(!o&&l!==parseInt(f))throw new Error(`\`${f}:\` line not found.`);if(h.length<=0)throw new Error(`Empty line: ${l}.`);h.length===1&&h.push(fo);const[x,E]=h.slice(0,2);if(!o&&!Wc(c,x))throw new Error(`Expected \`${l}: ${c} ||\` but incorrectly got \`${l}: ${x} ||\`. The pair of the number and the text (${l}, ${c}) has to be exact. Rewrite including \`${l}: ${c} ||\`.`)}let r=[],i;if(o&&(console.log("reannotationGlossStrs:",s),i=s.map((l,c)=>l===xt?c:-1).filter(l=>l!==-1),console.log("reannotationIndices",i),i.length===0))return console.log("TODO: reannotation_indices == []"),Array(e.length).fill(Zn);for(let l=0;l`${d}: ${c[0]} ${Z} ${d in l?xt:c[1]}`).join(i)} + \`\`\` + `},{role:"assistant",content:` + \`\`\` + ${r.filter((c,d)=>l.includes(d)).map((c,d)=>`${d}: ${c[0]} ${Z} ${c[1]}`).join(i)} + \`\`\` + `}]}else{const l=r.length;return[{role:"system",content:` + Parse this corpus (Interlinear gloss). + + The user will tokenize and enumerate the raw input, as: + \`Je suis.\` + to + \`\`\` + 0: Je + 1: suis. + \`\`\` + + + You are to respond with + \`\`\` + i: original_word ${Z} gloss + \`\`\`. + Here, the glosses are delimited with \`${Z}\`. + No line should be skipped. Otherwise it will raise an error. + + For example, if the gloss should be then translation to English, + the response shall be: + \`\`\` + 0: Je ${Z} I + 1: suis. ${Z} am. + \`\`\` + + Since the output text is to be processed by other program, + the structure of the output is important. + + The numbers should correspond to the original token. + No line shall be omitted! + \`\`\` + 0: Je + 1: le + 2: sais. + \`\`\` + \`\`\` + 0: Je ${Z} I + 1: le ${Z} it + 2: sais. ${Z} know + \`\`\` + + The output should only consist of the gloss block (\`\`\`...\`\`\`) and any other notes will be ignored. + `},{role:"user",content:` + e.g. \`i: "original_word ${Z} gloss\` + Since there are ${l} tokens in the input, ${l} lines of output is expected. + i.e. the last line be \`${l-1}: ...\` + + \`gloss\` is: + ${s} + + \`\`\` + ${r.map((c,d)=>`${d}: ${c[0]}`).join(i)} + \`\`\` + `},{role:"assistant",content:` + \`\`\` + ${r.map((c,d)=>`${d}: ${c[0]} ${Z} ${c[1]}`).join(i)} + \`\`\` + `}]}}else return s="English translation",e?n=`Reannotate the input. A series of words will be given, which form a part of sentences. Some lines will have \`${xt}\` on its right side, which is to be re-annotated. Return only lines with \`${xt}\`, with ${xt} itself replaced following the context.`:n=` + Parse this corpus (Interlinear gloss). + ${s} + `,[{role:"system",content:n}]}}function ho(t,e){return console.log(t),t&&t.startsWith("chatgpt_")?new Jc(t,e):new wr}const Qc={props:{t:{type:Object,required:!0},index:{type:Number,required:!0}},data(){return{isSelected:!1}},computed:{is_delimiter(){return this.t.is_delimiter},should_linebreak(){return this.t.txt.includes(` +`)},txt(){return this.t.txt},gloss(){let t=this.t.gloss;return t=="!UNKNOWN"&&(t="-"),t}},methods:{toggle(){this.isSelected=!this.isSelected,this.$emit("selectionChanged",{tIndex:this.index,isSelected:this.isSelected})}}},Xc={class:"token_ul list-group list-group-flush"},Zc={class:"list-group-item token_txt"},tu={class:"list-group-item gloss"},eu={key:1},nu={key:2,class:"token_wrapper"};function su(t,e,n,s,o,r){return r.is_delimiter?r.should_linebreak?(K(),W("br",eu)):(K(),W("div",nu,[g("span",null,Pt(r.txt),1)])):(K(),W("div",{key:0,class:Vt(["token_wrapper","card",{"selected-token":o.isSelected}]),onClick:e[0]||(e[0]=i=>r.toggle())},[g("ul",Xc,[g("li",Zc,Pt(r.txt),1),g("li",tu,Pt(r.gloss),1)])],2))}const ou=Nt(Qc,[["render",su],["__scopeId","data-v-b539fc8d"]]),ru={props:{p:{type:Object,required:!0},index:{type:Number,required:!0}},components:{Token:ou},computed:{isAnnotateButtonVisible(){return!this.p.is_delimiter&&this.p.tokens&&this.p.tokens.length},shouldShowManipulatorButtons(){return M.openaiApiKey}},data(){return{selectedTokens:new Set,showPre:!1}},methods:{annotateP(){this.$emit("annotateP",this.index)},reannotateP(){this.$emit("reannotateP",this.index,Array.from(this.selectedTokens))},onSelectionChanged({tIndex:t,isSelected:e}){e?this.selectedTokens.add(t):this.selectedTokens.delete(t)}}},iu={class:"paragraph_wrapper"},lu={key:0,class:"paragraph_annotate_buttons_span"},cu={key:1};function uu(t,e,n,s,o,r){const i=Dt("Token");return K(),W("div",iu,[r.isAnnotateButtonVisible&&r.shouldShowManipulatorButtons?(K(),W("span",lu,[g("button",{class:"corpus_button btn btn-light",onClick:e[0]||(e[0]=l=>r.annotateP(n.index))}," Annotate "),g("button",{class:"corpus_button btn btn-light",onClick:e[1]||(e[1]=l=>r.reannotateP(n.index))}," Reannotate "),e[2]||(e[2]=g("br",null,null,-1))])):_e("",!0),o.showPre?(K(),W("pre",cu,Pt(JSON.stringify(n.p)),1)):_e("",!0),(K(!0),W(tt,null,zn(n.p.tokens,(l,c)=>(K(),bs(i,{key:c,t:l,index:c,onSelectionChanged:r.onSelectionChanged},null,8,["t","index","onSelectionChanged"]))),128))])}const au=Nt(ru,[["render",uu],["__scopeId","data-v-66628849"]]),fu={props:{corpusId:{required:!0}},components:{Paragraph:au},data(){return{sharedState:M,corpusStorage:un,corpus:null,cursor:null,showPre:!1}},computed:{pseudoState(){return!this.corpus.paragraphs||this.corpus.paragraphs.length<=0?"PLAIN":this.corpus.paragraphs[0].pstate},divideButtonClass(){const t=this.pseudoState=="PLAIN";return{"btn-primary":t,"btn-light":!t}},parseButtonClass(){const t=this.pseudoState=="DIVIDED";return{"btn-primary":t,"btn-light":!t}},annotateButtonClass(){const t=this.pseudoState=="PARSED";return{"btn-primary":t,"btn-light":!t}},glossColor(){return M.glossColor},glossSize(){return M.glossSize+"%"},txtSize(){return M.txtSize+"%"}},methods:{closeCorpus(){M.currentOpenCorpus=""},download(){const t=JSON.stringify(this.corpus);console.log("Downloading...");let e=document.createElement("a"),n=new Blob([t],{type:"text/plain"});e.download=this.corpus_id+".corpus.json",e.href=URL.createObjectURL(n),e.click()},async divide(t=` +`){ao.divide_into_paragraphs(this.corpus,[t]),this.corpusStorage.update(this.corpus)},async parse(){for(const t of this.corpus.paragraphs)ao.parse_paragraph(t);this.corpusStorage.update(this.corpus)},async annotate(t=null){const e=ho(M.annotator_name),n=M.lang_from,s=M.lang_to;t&&(t.length==1&&t[0]==-1&&(t=this.corpus.paragraphs.map((o,r)=>({p:o,i:r})).filter(({p:o})=>!o.is_delimiter&&o.pstate!="ANNOTATED").map(({i:o})=>o)),console.log(t));for(const[o,r]of this.corpus.paragraphs.entries())t&&!t.includes(o)||(await e.annotate(r,n,s),this.corpusStorage.update(this.corpus))},async reannotate(t,e){const n=ho(M.annotator_name),s=M.lang_from,o=M.lang_to,r=t[0],i=this.corpus.paragraphs[r];s||(s=i.annotator_info_obj.lang_from),o||(o=i.annotator_info_obj.lang_to),await n.reannotate(i,s,o,e),this.corpusStorage.update(this.corpus)},psPrev(){let t=this.cursor-1;t>=0&&(this.cursor=t,this.scrollToTop(),un.setCursor(this.corpusId,this.cursor))},psNext(){let t=this.cursor+1;t{const t=this.$refs.corpus;t.scrollTop=0})},onAnnotateP(t){this.annotate([t])},onReannotateP(t,e){this.reannotate([t],e)}},watch:{},async created(){this.corpus=await this.corpusStorage.read(this.corpusId),this.cursor=this.corpusStorage.getCursor(this.corpusId)||0},beforeDestroy(){}},du={class:"pButtonsDiv"},pu=["max"],hu={class:"corpus",ref:"corpus"},gu={class:"corpus_buttons_span"},mu={key:0,class:"corpus-pre"};function _u(t,e,n,s,o,r){const i=Dt("Paragraph");return K(),W(tt,null,[g("h4",{onClick:e[0]||(e[0]=l=>r.closeCorpus()),ref:"header"},Pt(n.corpusId),513),e[11]||(e[11]=g("hr",null,null,-1)),this.corpus?(K(),W("div",{key:0,style:bn({"--gloss-color":r.glossColor,"--gloss-size":r.glossSize,"--txt-size":r.txtSize})},[g("div",du,[g("button",{class:"btn",onClick:e[1]||(e[1]=(...l)=>r.psPrev&&r.psPrev(...l))}," << "),ft(g("input",{"onUpdate:modelValue":e[2]||(e[2]=l=>o.cursor=l),type:"number",class:"form-control w-auto d-inline",min:0,max:o.corpus.paragraphs.length-1},null,8,pu),[[At,o.cursor,void 0,{number:!0}]]),g("span",null,"/"+Pt(this.corpus.paragraphs.length-1),1),g("button",{class:"btn",onClick:e[3]||(e[3]=(...l)=>r.psNext&&r.psNext(...l))}," >> ")]),g("div",hu,[g("span",gu,[g("button",{class:"corpus_button btn btn-light",onClick:e[4]||(e[4]=l=>r.download())},"Download"),g("span",null,[g("button",{class:Vt(["corpus_button","btn",r.divideButtonClass]),onClick:e[5]||(e[5]=l=>r.divide())},"Divide",2),g("button",{class:Vt(["corpus_button","btn",r.divideButtonClass]),onClick:e[6]||(e[6]=l=>r.divide("\\n\\n"))},"Divide (for poems)",2),g("button",{class:Vt(["corpus_button","btn",r.parseButtonClass]),onClick:e[7]||(e[7]=l=>r.parse())},"Parse",2),g("button",{class:Vt(["corpus_button","btn",r.annotateButtonClass]),onClick:e[8]||(e[8]=l=>r.annotate([-1]))}," Annotate ",2),g("button",{class:Vt(["corpus_button","btn",r.annotateButtonClass]),onClick:e[9]||(e[9]=l=>r.annotate(null))}," Annotate (Reset) ",2)])]),e[10]||(e[10]=g("br",null,null,-1)),o.showPre?(K(),W("pre",mu,Pt(JSON.stringify(o.corpus)),1)):_e("",!0),o.corpus.paragraphs[o.cursor]?(K(),bs(i,{key:o.cursor,p:o.corpus.paragraphs[o.cursor],index:o.cursor,onAnnotateP:r.onAnnotateP,onReannotateP:r.onReannotateP},null,8,["p","index","onAnnotateP","onReannotateP"])):_e("",!0)],512)],4)):_e("",!0)],64)}const bu=Nt(fu,[["render",_u],["__scopeId","data-v-7b227148"]]),yu={components:{Header:tc,CorpusesView:Vc,AnnotatorSelect:uc,LocalAnnotatorOptions:xc,MiscOptions:Ac,UploadView:zc,Corpus:bu},data(){return{}},computed:{currentOpenCorpus(){return M.currentOpenCorpus}},methods:{},mounted(){},beforeDestroy(){}},xu={key:0},wu={key:1};function vu(t,e,n,s,o,r){const i=Dt("Corpus"),l=Dt("Header"),c=Dt("AnnotatorSelect"),d=Dt("LocalAnnotatorOptions"),f=Dt("MiscOptions"),h=Dt("CorpusesView"),x=Dt("UploadView");return r.currentOpenCorpus?(K(),W("div",xu,[et(i,{corpusId:r.currentOpenCorpus},null,8,["corpusId"])])):(K(),W("div",wu,[g("header",null,[et(l)]),g("main",null,[et(c),et(d),et(f),e[0]||(e[0]=g("hr",null,null,-1)),et(h),e[1]||(e[1]=g("hr",null,null,-1)),et(x)])]))}const Cu=Nt(yu,[["render",vu],["__scopeId","data-v-91aad765"]]);ql(Cu).mount("#app"); diff --git a/static/index-PtQGsC3S.css b/static/index-Dho9id3u.css similarity index 50% rename from static/index-PtQGsC3S.css rename to static/index-Dho9id3u.css index 97d7c7c..ac04307 100644 --- a/static/index-PtQGsC3S.css +++ b/static/index-Dho9id3u.css @@ -1 +1 @@ -:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (hover: hover){a:hover{background-color:#00bd7e33}}.index_version_span[data-v-0f95cfa1]{font-size:80%}.userinfo_p[data-v-72d1c363]{font-size:80%;font-style:italic;margin:0}.logout_button[data-v-72d1c363]{font-size:80%}.token_txt[data-v-b539fc8d]{font-size:var(--txt-size);font-family:serif}.gloss[data-v-b539fc8d]{font-size:var(--gloss-size);font-family:monospace;text-align:center;padding-top:.1em}.token_txt[data-v-b539fc8d],.gloss[data-v-b539fc8d]{padding-left:.25em;padding-right:.25em}.gloss[data-v-b539fc8d]{color:var(--gloss-color)}@media (prefers-color-scheme: dark){.token_txt[data-v-b539fc8d]{color:#fff}}li[data-v-b539fc8d],.token_wrapper[data-v-b539fc8d]{border:none;display:inline}.token_wrapper[data-v-b539fc8d]{display:inline-block;margin-right:1px}.token_wrapper[data-v-b539fc8d],.token_ul[data-v-b539fc8d],.token_txt[data-v-b539fc8d],.gloss[data-v-b539fc8d]{background:none}.selected-token[data-v-b539fc8d]{border:1px solid}.paragraph_annotate_buttons_span[data-v-d3c29f34]{display:flex;justify-content:flex-end}.corpus_button[data-v-d3c29f34]{font-size:80%}.corpus_wrapper[data-v-f91ef68e]{display:flex;flex-direction:column;max-height:99vh}.full-screen[data-v-f91ef68e]{height:99vh}.corpus[data-v-f91ef68e]{flex:1;overflow-y:auto}.corpus_buttons_span[data-v-f91ef68e]{display:flex;justify-content:flex-end}.corpus_button[data-v-f91ef68e]{font-size:90%}.corpus-pre[data-v-f91ef68e]{max-width:100%;overflow:auto}.sampleLinkP[data-v-4b002057]{font-style:italic;text-decoration:underline;cursor:pointer;display:inline}.disabled[data-v-4b002057]{color:gray;text-decoration:none;cursor:default}textarea[data-v-969ca212]{width:90%;height:18em}.tasks[data-v-cfa6af6c]{min-height:50vh}body[data-v-05ed60fe]{font-family:sans-serif;text-align:center}a[data-v-05ed60fe]:link{color:#d3d3d3}main[data-v-05ed60fe]{text-align:center} +:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (hover: hover){a:hover{background-color:#00bd7e33}}.index_version_span[data-v-9098c0f4]{font-size:80%}.sampleLinkP[data-v-d5289196]{font-style:italic;text-decoration:underline;cursor:pointer;display:inline}.disabled[data-v-d5289196]{color:gray;text-decoration:none;cursor:default}textarea[data-v-85bf616b]{width:90%;height:18em}.token_txt[data-v-b539fc8d]{font-size:var(--txt-size);font-family:serif}.gloss[data-v-b539fc8d]{font-size:var(--gloss-size);font-family:monospace;text-align:center;padding-top:.1em}.token_txt[data-v-b539fc8d],.gloss[data-v-b539fc8d]{padding-left:.25em;padding-right:.25em}.gloss[data-v-b539fc8d]{color:var(--gloss-color)}@media (prefers-color-scheme: dark){.token_txt[data-v-b539fc8d]{color:#fff}}li[data-v-b539fc8d],.token_wrapper[data-v-b539fc8d]{border:none;display:inline}.token_wrapper[data-v-b539fc8d]{display:inline-block;margin-right:1px}.token_wrapper[data-v-b539fc8d],.token_ul[data-v-b539fc8d],.token_txt[data-v-b539fc8d],.gloss[data-v-b539fc8d]{background:none}.selected-token[data-v-b539fc8d]{border:1px solid}.paragraph_annotate_buttons_span[data-v-66628849]{display:flex;justify-content:flex-end}.corpus_button[data-v-66628849]{font-size:80%}.corpus_wrapper[data-v-7b227148]{display:flex;flex-direction:column;max-height:99vh}.corpus[data-v-7b227148]{flex:1;overflow-y:auto}.corpus_buttons_span[data-v-7b227148]{display:flex;justify-content:flex-end}.corpus_button[data-v-7b227148]{font-size:90%}.corpus-pre[data-v-7b227148]{max-width:100%;overflow:auto}body[data-v-91aad765]{font-family:sans-serif;text-align:center}a[data-v-91aad765]:link{color:#d3d3d3}main[data-v-91aad765]{text-align:center}