<!-- SOLUV · part 550 -->
(;b&&b.z>=m;){if(b.x>=f&&b.x<=_&&b.y>=p&&b.y<=g&&b!==i&&b!==a&&or(o,h,l,d,c,u,b.x,b.y)&&ye(b.prev,b,b.next)>=0)return!1;b=b.prevZ}for(;x&&x.z<=S;){if(x.x>=f&&x.x<=_&&x.y>=p&&x.y<=g&&x!==i&&x!==a&&or(o,h,l,d,c,u,x.x,x.y)&&ye(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function u_(s,t){let e=s;do{let n=e.prev,i=e.next.next;!Ls(n,i)&&Mp(n,e,e.next,i)&&Nr(n,i)&&Nr(i,n)&&(t.push(n.i,e.i,i.i),Ur(e),Ur(e.next),e=s=i),e=e.next}while(e!==s);return qi(e)}function d_(s,t,e,n,i,r){let a=s;do{let o=a.next.next;for(;o!==a.prev;){if(a.i!==o.i&&S_(a,o)){let l=bp(a,o);a=qi(a,a.next),l=qi(l,l.next),Dr(a,t,e,n,i,r,0),Dr(l,t,e,n,i,r,0);return}o=o.next}a=a.next}while(a!==s)}function f_(s,t,e,n){let i=[];for(let r=0,a=t.length;r<a;r++){let o=t[r]*n,l=r<a-1?t[r+1]*n:s.length,c=yp(s,o,l,n,!1);c===c.next&&(c.steiner=!0),i.push(y_(c))}i.sort(p_);for(let r=0;r<i.length;r++)e=m_(i[r],e);return e}function p_(s,t){let e=s.x-t.x;if(e===0&&(e=s.y-t.y,e===0)){let n=(s.next.y-s.y)/(s.next.x-s.x),i=(t.next.y-t.y)/(t.next.x-t.x);e=n-i}return e}function m_(s,t){let e=g_(s,t);if(!e)return t;let n=bp(e,s);return qi(n,n.next),qi(e,e.next)}function g_(s,t){let e=t,n=s.x,i=s.y,r=-1/0,a;if(Ls(s,e))return e;do{if(Ls(s,e.next))return e.next;if(i<=e.y&&i>=e.next.y&&e.next.y!==e.y){let d=e.x+(i-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(d<=n&&d>r&&(r=d,a=e.x<e.next.x?e:e.next,d===n))return a}e=e.next}while(e!==t);if(!a)return null;let o=a,l=a.x,c=a.y,h=1/0;e=a;do{if(n>=e.x&&e.x>=l&&n!==e.x&&Sp(i<c?n:r,i,l,c,i<c?r:n,i,e.x,e.y)){let d=Math.abs(i-e.y)/(n-e.x);Nr(e,s)&&(d<h||d===h&&(e.x>a.x||e.x===a.x&&__(a,e)))&&(a=e,h=d)}e=e.next}while(e!==o);return a}function __(s,t){return ye(s.prev,s,t.prev)<0&&ye(t.next,s,s.next)<0}function x_(s,t,e,n){let i=s;do i.z===0&&(i.z=bh(i.x,i.y,t,e,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==s);i.prevZ.nextZ=null,i.prevZ=null,v_(i)}function v_(s){let t,e=1;do{let n=s,i;s=null;let r=null;for(t=0;n;){t++;let a=n,o=0;for(let c=0;c<e&&(o++,a=a.nextZ,!!a);c++);let l=e;for(;o>0||l>0&&a;)o!==0&&(l===0||!a||n.z<=a.z)?(i=n,n=n.nextZ,o--):(i=a,a=a.nextZ,l--),r?r.nextZ=i:s=i,i.prevZ=r,r=i;n=a}r.nextZ=null,e*=2}while(t>1);return s}function bh(s,t,e,n,i){return s=(s-e)*i|0,t=(t-n)*i|0,s=(s|s<<8)&16711935,s=(s|s<<4)&252645135,s=(s|s<<2)&858993459,s=(s|s<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,s|t<<1}function y_(s){let t=s,e=s;do(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next;while(t!==s);return e}function Sp(s,t,e,n,i,r,a,o){return(i-a)*(t-o)>=(s-a)*(r-o)&&(s-a)*(n-o)>=(e-a)*(t-o)&&(e-a)*(r-o)>=(i-a)*(n-o)}function or(s,t,e,n,i,r,a,o){return!(s===a&&t===o)&&Sp(s,t,e,n,i,r,a,o)}function S_(s,t){return s.next.i!==t.i&&s.prev.i!==t.i&&!M_(s,t)&&(Nr(s,t)&&Nr(t,s)&&b_(s,t)&&(ye(s.prev,s,t.prev)||ye(s,t.prev,t))||Ls(s,t)&&ye(s.prev,s,s.next)>0&&ye(t.prev,t,t.next)>0)}function ye(s,t,e){return(t.y-s.y)*(e.x-t.x)-(t.x-s.x)*(e.y-t.y)}function Ls(s,t){return s.x===t.x&&s.y===t.y}function Mp(s,t,e,n){let i=Xa(ye(s,t,e)),r=Xa(ye(s,t,n)),a=Xa(ye(e,n,s)),o=Xa(ye(e,n,t));return!!(i!==r&&a!==o||i===0&&Wa(s,e,t)||r===0&&Wa(s,n,t)||a===0&&Wa(e,s,n)||o===0&&Wa(e,t,n))}function Wa(s,t,e){return t.x<=Math.max(s.x,e.x)&&t.x>=Math.min(s.x,e.x)&&t.y<=Math.max(s.y,e.y)&&t.y>=Math.min(s.y,e.y)}function Xa(s){return s>0?1:s<0?-1:0}function M_(s,t){let e=s;do{if(e.i!==s.i&&e.next.i!==s.i&&e.i!==t.i&&e.next.i!==t.i&&Mp(e,e.next,s,t))return!0;e=e.next}while(e!==s);return!1}function Nr(s,t){return ye(s.prev,s,s.next)<0?ye(s,t,s.next)>=0&&ye(s,s.prev,t)>=0:ye(s,t,s.prev)<0||ye(s,s.next,t)<0}function b_(s,t){let e=s,n=!1,i=(s.x+t.x)/2,r=(s.y+t.y)/2;do e.y>r!=e.next.y>r&&e.next.y!==e.y&&i<(e.next.x-e.x)*(r-e.y)/(e.next.y-e.y)+e.x&&(n=!n),e=e.next;while(e!==s);return n}function bp(s,t){let e=Th(s.i,s.x,s.y),n=Th(t.i,t.x,t.y),i=s.next,r=t.prev;return s.next=t,t.prev=s,e.next=i,i.prev=e,n.next=e,e.prev=n,r.next=n,n.prev=r,n}function nf(s,t,e,n){let i=Th(s,t,e);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Ur(s){s.next.prev=s.prev,s.prev.next=s.next,s.prevZ&&(s.prevZ.nextZ=s.nextZ),s.nextZ&&(s.nextZ.prevZ=s.prevZ)}function Th(s,t,e){return{i:s,x:t,y:e,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function T_(s,t,e,n){let i=0;for(let r=t,a=e-n;r<e;r+=n)i+=(s[a]-s[r])*(s[r+1]+s[a+1]),a=r;return i}var Eh=class{static triangulate(t,e,n=2){return l_(t,e,n)}},bn=class s{static area(t){let e=t.length,n=0;for(let i=e-1,r=0;r<e;i=r++)n+=t[i].x*t[r].y-t[r].x*t[i].y;return n*.5}static isClockWise(t){return s.area(t)<0}static triangulateShape(t,e){let n=[],i=[],r=[];sf(t),rf(n,t);let a=t.length;e.forEach(sf);for(let l=0;l<e.length;l++)i.push(a),a+=e[l].length,rf(n,e[l]);let o=Eh.triangulate(n,i);for(let l=0;l<o.length;l+=3)r.push(o.slice(l,l+3));return r}};function sf(s){let t=s.length;t>2&&s[t-1].equals(s[0])&&s.pop()}function rf(s,t){for(let e=0;e<t.length;e++)s.push(t[e].x),s.push(t[e].y)}var zo=class s extends Yt{constructor(t=new Xi([new 