ocearo-ui 0.1.13 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/404.html +1 -1
- package/README.md +4 -0
- package/_next/static/chunks/0f8af13e.a3c5ee19dacc5d8a.js +158 -0
- package/_next/static/chunks/1268.5bf414e7f9ec61db.js +1 -0
- package/_next/static/chunks/1909.df96cdfa30c5e1a8.js +1 -0
- package/_next/static/chunks/2012.3c05163686cc3992.js +1 -0
- package/_next/static/chunks/2117-56c2fb7501b81a48.js +2 -0
- package/_next/static/chunks/2197.03c63df4706ac55a.js +1 -0
- package/_next/static/chunks/2274.20f7a66d87bbe5ba.js +1 -0
- package/_next/static/chunks/2353.0703bc2167f53e87.js +1 -0
- package/_next/static/chunks/2591.86dc5c0cabce74d9.js +1 -0
- package/_next/static/chunks/2687.03575a688467298f.js +26 -0
- package/_next/static/chunks/2936.32b491d885b0a1fa.js +1 -0
- package/_next/static/chunks/2967.b78077975c0ab30f.js +1 -0
- package/_next/static/chunks/2975.38e51d12034b0e56.js +1 -0
- package/_next/static/chunks/3059.7f8277e00847ad2a.js +1 -0
- package/_next/static/chunks/3145.636d8a0b59460f06.js +1 -0
- package/_next/static/chunks/3746-5b56cb222d7759f3.js +1 -0
- package/_next/static/chunks/4203.53016264f2cd3444.js +114 -0
- package/_next/static/chunks/5221.21b657b6a08aa489.js +1 -0
- package/_next/static/chunks/5322.ea4bebffcd8aa1cc.js +1 -0
- package/_next/static/chunks/5487.0ca3e1f29bec024a.js +1 -0
- package/_next/static/chunks/5751.f0376bcce7ec1e3d.js +1 -0
- package/_next/static/chunks/6108.ed2af8245ea73350.js +1 -0
- package/_next/static/chunks/6154.08319169fda8a96c.js +1 -0
- package/_next/static/chunks/6412.751c9a217112d729.js +1 -0
- package/_next/static/chunks/6496.d879aa3456fbe689.js +1 -0
- package/_next/static/chunks/6728.df40db4a2492c80a.js +1 -0
- package/_next/static/chunks/6949.54ab1a3c1db751ad.js +1 -0
- package/_next/static/chunks/7188.dd19efec20eb1ffd.js +1 -0
- package/_next/static/chunks/7252.9960bb9dcab56410.js +1 -0
- package/_next/static/chunks/767.c121402a31d61693.js +38 -0
- package/_next/static/chunks/{79.c90ea1de476d64c2.js → 8079.cd1d32892d355219.js} +1 -1
- package/_next/static/chunks/8341.a4bbd4563a858c62.js +1 -0
- package/_next/static/chunks/8610.a69a39b4e8210145.js +1 -0
- package/_next/static/chunks/870fdd6f.9cc7f4d7d53d0ee1.js +1 -0
- package/_next/static/chunks/9073.8e46e378467c398c.js +1 -0
- package/_next/static/chunks/9138.615379e543873c20.js +1 -0
- package/_next/static/chunks/{250.b26c37701919cf5c.js → 9250.e4a1a448563bce56.js} +3 -3
- package/_next/static/chunks/9483.c52ef3c126f89d4a.js +1 -0
- package/_next/static/chunks/9677.e29a54e257683481.js +1 -0
- package/_next/static/chunks/app/_not-found/page-02dd9834e02ff180.js +1 -0
- package/_next/static/chunks/app/layout-df29b07cc8d7ff8a.js +1 -0
- package/_next/static/chunks/app/page-8193fd4d93865082.js +1 -0
- package/_next/static/chunks/{b536a0f1.0563944ec53282b3.js → b536a0f1.7481d3b6ed8a124b.js} +1 -1
- package/_next/static/chunks/{bd904a5c-fce155daf9e9ba55.js → bd904a5c-ee5c73978aa69cb5.js} +1 -1
- package/_next/static/chunks/fd9d1056-c7da0d4e0db639a1.js +1 -0
- package/_next/static/chunks/framework-dbde1fe7fb0f4567.js +1 -0
- package/_next/static/chunks/main-app-01921a295932d28c.js +1 -0
- package/_next/static/chunks/main-de6ed997e06652b4.js +1 -0
- package/_next/static/chunks/pages/_app-78ddf957b9a9b996.js +1 -0
- package/_next/static/chunks/pages/_error-af28e299b63bd305.js +1 -0
- package/_next/static/chunks/webpack-fe2d60e504e1ce3b.js +1 -0
- package/_next/static/css/9c269b560e97b443.css +3 -0
- package/_next/static/jLQbcwqenN1fr_0feCPZa/_buildManifest.js +1 -0
- package/boats/boats.json +5 -0
- package/index.html +1 -1
- package/index.txt +4 -4
- package/{ocearo-ui-0.1.13.tgz → ocearo-ui-0.1.15.tgz} +0 -0
- package/package.json +2 -2
- package/_next/static/chunks/0f8af13e.6652bd734d04208b.js +0 -158
- package/_next/static/chunks/117-35a8eb6f9457406b.js +0 -2
- package/_next/static/chunks/12.a4273af9b82657f2.js +0 -1
- package/_next/static/chunks/138.b9389f70773e44e6.js +0 -1
- package/_next/static/chunks/145.9caac3d586b84999.js +0 -1
- package/_next/static/chunks/154.4e0902ce8b0f7ad1.js +0 -1
- package/_next/static/chunks/188.1839b14fedef7718.js +0 -1
- package/_next/static/chunks/197.bcdd8d0debcb7089.js +0 -1
- package/_next/static/chunks/221.a545399d0aaf207f.js +0 -1
- package/_next/static/chunks/226.8e9a3229837caa21.js +0 -151
- package/_next/static/chunks/252.d7cc856ebccc7381.js +0 -1
- package/_next/static/chunks/268.8ed821c518bf7977.js +0 -1
- package/_next/static/chunks/274.f21dd1bea1190823.js +0 -1
- package/_next/static/chunks/353.c2bc481b7d81054f.js +0 -1
- package/_next/static/chunks/412.47bfcc49cfe552a4.js +0 -1
- package/_next/static/chunks/413.69878f8910eb07d8.js +0 -1
- package/_next/static/chunks/487.c2062e37ef29da57.js +0 -1
- package/_next/static/chunks/496.c440e137e5877fb7.js +0 -1
- package/_next/static/chunks/59.c2dfec0c5e965cb5.js +0 -1
- package/_next/static/chunks/610.44fac6b8e6928564.js +0 -1
- package/_next/static/chunks/677.b3c43a3f32b247f4.js +0 -1
- package/_next/static/chunks/687.798c6b33d9165736.js +0 -26
- package/_next/static/chunks/728.3987afab39b00f4e.js +0 -1
- package/_next/static/chunks/73.a6b96572b40c5751.js +0 -1
- package/_next/static/chunks/746-f1a5b23db9004a46.js +0 -1
- package/_next/static/chunks/751.a180d553d77914d3.js +0 -1
- package/_next/static/chunks/870fdd6f.5b9af4fe6d08a9fb.js +0 -1
- package/_next/static/chunks/909.1e4c462123ae73e4.js +0 -1
- package/_next/static/chunks/936.e779b5632883831e.js +0 -1
- package/_next/static/chunks/949.e273523eaad35cc5.js +0 -1
- package/_next/static/chunks/967.83ea5cd9e6c9bb4c.js +0 -1
- package/_next/static/chunks/975.8821fdf115b619c5.js +0 -1
- package/_next/static/chunks/app/_not-found/page-1beaea75cf9b93d1.js +0 -1
- package/_next/static/chunks/app/layout-5065440b6db19cf5.js +0 -1
- package/_next/static/chunks/app/page-32b46c3e73a86694.js +0 -1
- package/_next/static/chunks/fd9d1056-50d0a3499460e502.js +0 -1
- package/_next/static/chunks/framework-cf2d8f6f8d843863.js +0 -1
- package/_next/static/chunks/main-8dbe8bddfa3a978c.js +0 -1
- package/_next/static/chunks/main-app-ed02033afba81a43.js +0 -1
- package/_next/static/chunks/pages/_app-15e2daefa259f0b5.js +0 -1
- package/_next/static/chunks/pages/_error-28b803cb2479b966.js +0 -1
- package/_next/static/chunks/webpack-9a92f476391a516d.js +0 -1
- package/_next/static/css/ac42e9cb9892c616.css +0 -3
- package/_next/static/d0q-Qivu1-sUFcVbdHKxk/_buildManifest.js +0 -1
- /package/_next/static/{d0q-Qivu1-sUFcVbdHKxk → jLQbcwqenN1fr_0feCPZa}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[268],{51268:function(t,e,n){function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,a)}return n}function r(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?a(Object(n),!0).forEach(function(e){var a,r;a=e,r=n[e],(a=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var a=n.call(t,e||"default");if("object"!=typeof a)return a;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(a))in t?Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[a]=r}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}n.d(e,{G:function(){return eQ}});let i=()=>{},o={},l={},s=null,f={mark:i,measure:i};try{"undefined"!=typeof window&&(o=window),"undefined"!=typeof document&&(l=document),"undefined"!=typeof MutationObserver&&(s=MutationObserver),"undefined"!=typeof performance&&(f=performance)}catch(t){}let{userAgent:c=""}=o.navigator||{},u=o,d=l,m=s,p=f;u.document;let g=!!d.documentElement&&!!d.head&&"function"==typeof d.addEventListener&&"function"==typeof d.createElement,h=~c.indexOf("MSIE")||~c.indexOf("Trident/");var b,y={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fab:"brands","fa-brands":"brands"},duotone:{fa:"solid",fad:"solid","fa-solid":"solid","fa-duotone":"solid",fadr:"regular","fa-regular":"regular",fadl:"light","fa-light":"light",fadt:"thin","fa-thin":"thin"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid",fasdr:"regular","fa-regular":"regular",fasdl:"light","fa-light":"light",fasdt:"thin","fa-thin":"thin"}},v=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],x="classic",k="duotone",w=[x,k,"sharp","sharp-duotone"],A=new Map([["classic",{defaultShortPrefixId:"fas",defaultStyleId:"solid",styleIds:["solid","regular","light","thin","brands"],futureStyleIds:[],defaultFontWeight:900}],["sharp",{defaultShortPrefixId:"fass",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["duotone",{defaultShortPrefixId:"fad",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp-duotone",{defaultShortPrefixId:"fasds",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}]]),O=["fak","fa-kit","fakd","fa-kit-duotone"],P=["fak","fakd"],S=["fak","fa-kit","fakd","fa-kit-duotone"],j={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},duotone:{fadr:"fa-regular",fadl:"fa-light",fadt:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid",fasdr:"fa-regular",fasdl:"fa-light",fasdt:"fa-thin"}},N=["fa","fas","far","fal","fat","fad","fadr","fadl","fadt","fab","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt","fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone","fa-solid","fa-regular","fa-light","fa-thin","fa-duotone","fa-brands"],C=[1,2,3,4,5,6,7,8,9,10],E=C.concat([11,12,13,14,15,16,17,18,19,20]),z=["classic","duotone","sharp","sharp-duotone","solid","regular","light","thin","duotone","brands","2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","fw","inverse","layers-counter","layers-text","layers","li","pull-left","pull-right","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul","duotone-group","swap-opacity","primary","secondary"].concat(C.map(t=>"".concat(t,"x"))).concat(E.map(t=>"w-".concat(t)));let M="___FONT_AWESOME___",I="svg-inline--fa",F="data-fa-i2svg",D="data-fa-pseudo-element",L="data-prefix",T="data-icon",R="fontawesome-i2svg",Y=["HTML","HEAD","STYLE","SCRIPT"],W=(()=>{try{return!0}catch(t){return!1}})();function _(t){return new Proxy(t,{get:(t,e)=>e in t?t[e]:t[x]})}let H=r({},y);H[x]=r(r(r(r({},{"fa-duotone":"duotone"}),y[x]),{fak:"kit","fa-kit":"kit"}),{fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"});let U=_(H),B=r({},{classic:{solid:"fas",regular:"far",light:"fal",thin:"fat",brands:"fab"},duotone:{solid:"fad",regular:"fadr",light:"fadl",thin:"fadt"},sharp:{solid:"fass",regular:"fasr",light:"fasl",thin:"fast"},"sharp-duotone":{solid:"fasds",regular:"fasdr",light:"fasdl",thin:"fasdt"}});B[x]=r(r(r(r({},{duotone:"fad"}),B[x]),{kit:"fak"}),{"kit-duotone":"fakd"});let X=_(B),q=r({},j);q[x]=r(r({},q[x]),{fak:"fa-kit"});let V=_(q),G=r({},{classic:{"fa-brands":"fab","fa-duotone":"fad","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"},duotone:{"fa-regular":"fadr","fa-light":"fadl","fa-thin":"fadt"},sharp:{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"},"sharp-duotone":{"fa-solid":"fasds","fa-regular":"fasdr","fa-light":"fasdl","fa-thin":"fasdt"}});G[x]=r(r({},G[x]),{"fa-kit":"fak"}),_(G);let K=/fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,$="fa-layers-text",J=/Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;_(r({},{classic:{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},duotone:{900:"fad",400:"fadr",300:"fadl",100:"fadt"},sharp:{900:"fass",400:"fasr",300:"fasl",100:"fast"},"sharp-duotone":{900:"fasds",400:"fasdr",300:"fasdl",100:"fasdt"}}));let Q=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],Z={GROUP:"duotone-group",PRIMARY:"primary",SECONDARY:"secondary"},tt=["kit",...z],te=u.FontAwesomeConfig||{};d&&"function"==typeof d.querySelector&&[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(t=>{var e;let[n,a]=t,r=""===(e=function(t){var e=d.querySelector("script["+t+"]");if(e)return e.getAttribute(t)}(n))||"false"!==e&&("true"===e||e);null!=r&&(te[a]=r)});let tn={styleDefault:"solid",familyDefault:x,cssPrefix:"fa",replacementClass:I,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};te.familyPrefix&&(te.cssPrefix=te.familyPrefix);let ta=r(r({},tn),te);ta.autoReplaceSvg||(ta.observeMutations=!1);let tr={};Object.keys(tn).forEach(t=>{Object.defineProperty(tr,t,{enumerable:!0,set:function(e){ta[t]=e,ti.forEach(t=>t(tr))},get:function(){return ta[t]}})}),Object.defineProperty(tr,"familyPrefix",{enumerable:!0,set:function(t){ta.cssPrefix=t,ti.forEach(t=>t(tr))},get:function(){return ta.cssPrefix}}),u.FontAwesomeConfig=tr;let ti=[],to={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function tl(){let t=12,e="";for(;t-- >0;)e+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return e}function ts(t){let e=[];for(let n=(t||[]).length>>>0;n--;)e[n]=t[n];return e}function tf(t){return t.classList?ts(t.classList):(t.getAttribute("class")||"").split(" ").filter(t=>t)}function tc(t){return"".concat(t).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function tu(t){return Object.keys(t||{}).reduce((e,n)=>e+"".concat(n,": ").concat(t[n].trim(),";"),"")}function td(t){return t.size!==to.size||t.x!==to.x||t.y!==to.y||t.rotate!==to.rotate||t.flipX||t.flipY}function tm(){let t=tr.cssPrefix,e=tr.replacementClass,n=':root, :host {\n --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";\n --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";\n --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";\n --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";\n --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";\n --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";\n --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";\n --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";\n --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";\n --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";\n --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";\n --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";\n --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";\n}\n\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\n overflow: visible;\n box-sizing: content-box;\n}\n\n.svg-inline--fa {\n display: var(--fa-display, inline-block);\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-2xs {\n vertical-align: 0.1em;\n}\n.svg-inline--fa.fa-xs {\n vertical-align: 0em;\n}\n.svg-inline--fa.fa-sm {\n vertical-align: -0.0714285705em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.2em;\n}\n.svg-inline--fa.fa-xl {\n vertical-align: -0.25em;\n}\n.svg-inline--fa.fa-2xl {\n vertical-align: -0.3125em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-li {\n width: var(--fa-li-width, 2em);\n top: 0.25em;\n}\n.svg-inline--fa.fa-fw {\n width: var(--fa-fw-width, 1.25em);\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n transform-origin: center center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: var(--fa-counter-background-color, #ff253a);\n border-radius: var(--fa-counter-border-radius, 1em);\n box-sizing: border-box;\n color: var(--fa-inverse, #fff);\n line-height: var(--fa-counter-line-height, 1);\n max-width: var(--fa-counter-max-width, 5em);\n min-width: var(--fa-counter-min-width, 1.5em);\n overflow: hidden;\n padding: var(--fa-counter-padding, 0.25em 0.5em);\n right: var(--fa-right, 0);\n text-overflow: ellipsis;\n top: var(--fa-top, 0);\n transform: scale(var(--fa-counter-scale, 0.25));\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: var(--fa-bottom, 0);\n right: var(--fa-right, 0);\n top: auto;\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: var(--fa-bottom, 0);\n left: var(--fa-left, 0);\n right: auto;\n top: auto;\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n top: var(--fa-top, 0);\n right: var(--fa-right, 0);\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: var(--fa-left, 0);\n right: auto;\n top: var(--fa-top, 0);\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: top left;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-2xs {\n font-size: 0.625em;\n line-height: 0.1em;\n vertical-align: 0.225em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n line-height: 0.0833333337em;\n vertical-align: 0.125em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n line-height: 0.0714285718em;\n vertical-align: 0.0535714295em;\n}\n\n.fa-lg {\n font-size: 1.25em;\n line-height: 0.05em;\n vertical-align: -0.075em;\n}\n\n.fa-xl {\n font-size: 1.5em;\n line-height: 0.0416666682em;\n vertical-align: -0.125em;\n}\n\n.fa-2xl {\n font-size: 2em;\n line-height: 0.03125em;\n vertical-align: -0.1875em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: var(--fa-li-margin, 2.5em);\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: calc(-1 * var(--fa-li-width, 2em));\n position: absolute;\n text-align: center;\n width: var(--fa-li-width, 2em);\n line-height: inherit;\n}\n\n.fa-border {\n border-color: var(--fa-border-color, #eee);\n border-radius: var(--fa-border-radius, 0.1em);\n border-style: var(--fa-border-style, solid);\n border-width: var(--fa-border-width, 0.08em);\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\n}\n\n.fa-pull-left {\n float: left;\n margin-right: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-pull-right {\n float: right;\n margin-left: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-beat {\n animation-name: fa-beat;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n animation-name: fa-bounce;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n animation-name: fa-fade;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n animation-name: fa-beat-fade;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n animation-name: fa-flip;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n animation-name: fa-shake;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n animation-name: fa-spin;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 2s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin-reverse {\n --fa-animation-direction: reverse;\n}\n\n.fa-pulse,\n.fa-spin-pulse {\n animation-name: fa-spin;\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, steps(8));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fa-beat,\n.fa-bounce,\n.fa-fade,\n.fa-beat-fade,\n.fa-flip,\n.fa-pulse,\n.fa-shake,\n.fa-spin,\n.fa-spin-pulse {\n animation-delay: -1ms;\n animation-duration: 1ms;\n animation-iteration-count: 1;\n transition-delay: 0s;\n transition-duration: 0s;\n }\n}\n@keyframes fa-beat {\n 0%, 90% {\n transform: scale(1);\n }\n 45% {\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@keyframes fa-bounce {\n 0% {\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n }\n 50% {\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n transform: scale(1, 1) translateY(0);\n }\n}\n@keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@keyframes fa-flip {\n 50% {\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@keyframes fa-shake {\n 0% {\n transform: rotate(-15deg);\n }\n 4% {\n transform: rotate(15deg);\n }\n 8%, 24% {\n transform: rotate(-18deg);\n }\n 12%, 28% {\n transform: rotate(18deg);\n }\n 16% {\n transform: rotate(-22deg);\n }\n 20% {\n transform: rotate(22deg);\n }\n 32% {\n transform: rotate(-12deg);\n }\n 36% {\n transform: rotate(12deg);\n }\n 40%, 100% {\n transform: rotate(0deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n transform: rotate(var(--fa-rotate-angle, 0));\n}\n\n.fa-stack {\n display: inline-block;\n vertical-align: middle;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: var(--fa-stack-z-index, auto);\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: var(--fa-inverse, #fff);\n}\n\n.sr-only,\n.fa-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.sr-only-focusable:not(:focus),\n.fa-sr-only-focusable:not(:focus) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}';if("fa"!==t||e!==I){let a=RegExp("\\.".concat("fa","\\-"),"g"),r=RegExp("\\--".concat("fa","\\-"),"g"),i=RegExp("\\.".concat(I),"g");n=n.replace(a,".".concat(t,"-")).replace(r,"--".concat(t,"-")).replace(i,".".concat(e))}return n}let tp=!1;function tg(){tr.autoAddCss&&!tp&&(!function(t){if(!t||!g)return;let e=d.createElement("style");e.setAttribute("type","text/css"),e.innerHTML=t;let n=d.head.childNodes,a=null;for(let t=n.length-1;t>-1;t--){let e=n[t];["STYLE","LINK"].indexOf((e.tagName||"").toUpperCase())>-1&&(a=e)}d.head.insertBefore(e,a)}(tm()),tp=!0)}let th=u||{};th[M]||(th[M]={}),th[M].styles||(th[M].styles={}),th[M].hooks||(th[M].hooks={}),th[M].shims||(th[M].shims=[]);var tb=th[M];let ty=[],tv=function(){d.removeEventListener("DOMContentLoaded",tv),tx=1,ty.map(t=>t())},tx=!1;function tk(t){let{tag:e,attributes:n={},children:a=[]}=t;return"string"==typeof t?tc(t):"<".concat(e," ").concat(Object.keys(n||{}).reduce((t,e)=>t+"".concat(e,'="').concat(tc(n[e]),'" '),"").trim(),">").concat(a.map(tk).join(""),"</").concat(e,">")}function tw(t,e,n){if(t&&t[e]&&t[e][n])return{prefix:e,iconName:n,icon:t[e][n]}}!g||(tx=(d.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(d.readyState))||d.addEventListener("DOMContentLoaded",tv);var tA=function(t,e,n,a){var r,i,o,l=Object.keys(t),s=l.length,f=void 0!==a?function(t,n,r,i){return e.call(a,t,n,r,i)}:e;for(void 0===n?(r=1,o=t[l[0]]):(r=0,o=n);r<s;r++)o=f(o,t[i=l[r]],i,t);return o};function tO(t){let e=function(t){let e=[],n=0,a=t.length;for(;n<a;){let r=t.charCodeAt(n++);if(r>=55296&&r<=56319&&n<a){let a=t.charCodeAt(n++);(64512&a)==56320?e.push(((1023&r)<<10)+(1023&a)+65536):(e.push(r),n--)}else e.push(r)}return e}(t);return 1===e.length?e[0].toString(16):null}function tP(t){return Object.keys(t).reduce((e,n)=>{let a=t[n];return a.icon?e[a.iconName]=a.icon:e[n]=a,e},{})}function tS(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{skipHooks:a=!1}=n,i=tP(e);"function"!=typeof tb.hooks.addPack||a?tb.styles[t]=r(r({},tb.styles[t]||{}),i):tb.hooks.addPack(t,tP(e)),"fas"===t&&tS("fa",e)}let{styles:tj,shims:tN}=tb,tC=Object.keys(V),tE=tC.reduce((t,e)=>(t[e]=Object.keys(V[e]),t),{}),tz=null,tM={},tI={},tF={},tD={},tL={},tT=()=>{let t=t=>tA(tj,(e,n,a)=>(e[a]=tA(n,t,{}),e),{});tM=t((t,e,n)=>(e[3]&&(t[e[3]]=n),e[2]&&e[2].filter(t=>"number"==typeof t).forEach(e=>{t[e.toString(16)]=n}),t)),tI=t((t,e,n)=>(t[n]=n,e[2]&&e[2].filter(t=>"string"==typeof t).forEach(e=>{t[e]=n}),t)),tL=t((t,e,n)=>{let a=e[2];return t[n]=n,a.forEach(e=>{t[e]=n}),t});let e="far"in tj||tr.autoFetchSvg,n=tA(tN,(t,n)=>{let a=n[0],r=n[1],i=n[2];return"far"!==r||e||(r="fas"),"string"==typeof a&&(t.names[a]={prefix:r,iconName:i}),"number"==typeof a&&(t.unicodes[a.toString(16)]={prefix:r,iconName:i}),t},{names:{},unicodes:{}});tF=n.names,tD=n.unicodes,tz=tH(tr.styleDefault,{family:tr.familyDefault})};function tR(t,e){return(tM[t]||{})[e]}function tY(t,e){return(tL[t]||{})[e]}function tW(t){return tF[t]||{prefix:null,iconName:null}}b=t=>{tz=tH(t.styleDefault,{family:tr.familyDefault})},ti.push(b),tT();let t_=()=>({prefix:null,iconName:null,rest:[]});function tH(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{family:n=x}=e,a=U[n][t];if(n===k&&!t)return"fad";let r=X[n][t]||X[n][a],i=t in tb.styles?t:null;return r||i||null}function tU(t){return t.sort().filter((t,e,n)=>n.indexOf(t)===e)}function tB(t){let e,n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{skipLookups:i=!1}=a,o=null,l=N.concat(S),s=tU(t.filter(t=>l.includes(t))),f=tU(t.filter(t=>!N.includes(t))),[c=null]=s.filter(t=>(o=t,!v.includes(t))),u=function(t){let e=x,n=tC.reduce((t,e)=>(t[e]="".concat(tr.cssPrefix,"-").concat(e),t),{});return w.forEach(a=>{(t.includes(n[a])||t.some(t=>tE[a].includes(t)))&&(e=a)}),e}(s),d=r(r({},(e=[],n=null,f.forEach(t=>{let a=function(t,e){let n=e.split("-"),a=n[0],r=n.slice(1).join("-");return a!==t||""===r||~tt.indexOf(r)?null:r}(tr.cssPrefix,t);a?n=a:t&&e.push(t)}),{iconName:n,rest:e})),{},{prefix:tH(c,{family:u})});return r(r(r({},d),function(t){let{values:e,family:n,canonical:a,givenPrefix:r="",styles:i={},config:o={}}=t,l=n===k,s=e.includes("fa-duotone")||e.includes("fad"),f="duotone"===o.familyDefault,c="fad"===a.prefix||"fa-duotone"===a.prefix;if(!l&&(s||f||c)&&(a.prefix="fad"),(e.includes("fa-brands")||e.includes("fab"))&&(a.prefix="fab"),!a.prefix&&tX.includes(n)&&(Object.keys(i).find(t=>tq.includes(t))||o.autoFetchSvg)){let t=A.get(n).defaultShortPrefixId;a.prefix=t,a.iconName=tY(a.prefix,a.iconName)||a.iconName}return("fa"===a.prefix||"fa"===r)&&(a.prefix=tz||"fas"),a}({values:t,family:u,styles:tj,config:tr,canonical:d,givenPrefix:o})),function(t,e,n){let{prefix:a,iconName:r}=n;if(t||!a||!r)return{prefix:a,iconName:r};let i="fa"===e?tW(r):{},o=tY(a,r);return r=i.iconName||o||r,"far"!==(a=i.prefix||a)||tj.far||!tj.fas||tr.autoFetchSvg||(a="fas"),{prefix:a,iconName:r}}(i,o,d))}let tX=w.filter(t=>t!==x||t!==k),tq=Object.keys(j).filter(t=>t!==x).map(t=>Object.keys(j[t])).flat();class tV{constructor(){this.definitions={}}add(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];let a=e.reduce(this._pullDefinitions,{});Object.keys(a).forEach(t=>{this.definitions[t]=r(r({},this.definitions[t]||{}),a[t]),tS(t,a[t]);let e=V[x][t];e&&tS(e,a[t]),tT()})}reset(){this.definitions={}}_pullDefinitions(t,e){let n=e.prefix&&e.iconName&&e.icon?{0:e}:e;return Object.keys(n).map(e=>{let{prefix:a,iconName:r,icon:i}=n[e],o=i[2];t[a]||(t[a]={}),o.length>0&&o.forEach(e=>{"string"==typeof e&&(t[a][e]=i)}),t[a][r]=i}),t}}let tG=[],tK={},t$={},tJ=Object.keys(t$);function tQ(t,e){for(var n=arguments.length,a=Array(n>2?n-2:0),r=2;r<n;r++)a[r-2]=arguments[r];return(tK[t]||[]).forEach(t=>{e=t.apply(null,[e,...a])}),e}function tZ(t){for(var e=arguments.length,n=Array(e>1?e-1:0),a=1;a<e;a++)n[a-1]=arguments[a];(tK[t]||[]).forEach(t=>{t.apply(null,n)})}function t1(){let t=arguments[0],e=Array.prototype.slice.call(arguments,1);return t$[t]?t$[t].apply(null,e):void 0}function t0(t){"fa"===t.prefix&&(t.prefix="fas");let{iconName:e}=t,n=t.prefix||tz;if(e)return e=tY(n,e)||e,tw(t2.definitions,n,e)||tw(tb.styles,n,e)}let t2=new tV,t5={noAuto:()=>{tr.autoReplaceSvg=!1,tr.observeMutations=!1,tZ("noAuto")},config:tr,dom:{i2svg:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return g?(tZ("beforeI2svg",t),t1("pseudoElements2svg",t),t1("i2svg",t)):Promise.reject(Error("Operation requires a DOM of some kind."))},watch:function(){var t;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{autoReplaceSvgRoot:n}=e;!1===tr.autoReplaceSvg&&(tr.autoReplaceSvg=!0),tr.observeMutations=!0,t=()=>{t4({autoReplaceSvgRoot:n}),tZ("watch",e)},g&&(tx?setTimeout(t,0):ty.push(t))}},parse:{icon:t=>{if(null===t)return null;if("object"==typeof t&&t.prefix&&t.iconName)return{prefix:t.prefix,iconName:tY(t.prefix,t.iconName)||t.iconName};if(Array.isArray(t)&&2===t.length){let e=0===t[1].indexOf("fa-")?t[1].slice(3):t[1],n=tH(t[0]);return{prefix:n,iconName:tY(n,e)||e}}if("string"==typeof t&&(t.indexOf("".concat(tr.cssPrefix,"-"))>-1||t.match(K))){let e=tB(t.split(" "),{skipLookups:!0});return{prefix:e.prefix||tz,iconName:tY(e.prefix,e.iconName)||e.iconName}}if("string"==typeof t){let e=tz;return{prefix:e,iconName:tY(e,t)||t}}}},library:t2,findIconDefinition:t0,toHtml:tk},t4=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{autoReplaceSvgRoot:e=d}=t;(Object.keys(tb.styles).length>0||tr.autoFetchSvg)&&g&&tr.autoReplaceSvg&&t5.dom.i2svg({node:e})};function t6(t,e){return Object.defineProperty(t,"abstract",{get:e}),Object.defineProperty(t,"html",{get:function(){return t.abstract.map(t=>tk(t))}}),Object.defineProperty(t,"node",{get:function(){if(!g)return;let e=d.createElement("div");return e.innerHTML=t.html,e.children}}),t}function t3(t){let{icons:{main:e,mask:n},prefix:a,iconName:i,transform:o,symbol:l,title:s,maskId:f,titleId:c,extra:u,watchable:d=!1}=t,{width:m,height:p}=n.found?n:e,g=P.includes(a),h=[tr.replacementClass,i?"".concat(tr.cssPrefix,"-").concat(i):""].filter(t=>-1===u.classes.indexOf(t)).filter(t=>""!==t||!!t).concat(u.classes).join(" "),b={children:[],attributes:r(r({},u.attributes),{},{"data-prefix":a,"data-icon":i,class:h,role:u.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(m," ").concat(p)})},y=g&&!~u.classes.indexOf("fa-fw")?{width:"".concat(m/p*1,"em")}:{};d&&(b.attributes[F]=""),s&&(b.children.push({tag:"title",attributes:{id:b.attributes["aria-labelledby"]||"title-".concat(c||tl())},children:[s]}),delete b.attributes.title);let v=r(r({},b),{},{prefix:a,iconName:i,main:e,mask:n,maskId:f,transform:o,symbol:l,styles:r(r({},y),u.styles)}),{children:x,attributes:k}=n.found&&e.found?t1("generateAbstractMask",v)||{children:[],attributes:{}}:t1("generateAbstractIcon",v)||{children:[],attributes:{}};return(v.children=x,v.attributes=k,l)?function(t){let{prefix:e,iconName:n,children:a,attributes:i,symbol:o}=t,l=!0===o?"".concat(e,"-").concat(tr.cssPrefix,"-").concat(n):o;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:r(r({},i),{},{id:l}),children:a}]}]}(v):function(t){let{children:e,main:n,mask:a,attributes:i,styles:o,transform:l}=t;if(td(l)&&n.found&&!a.found){let{width:t,height:e}=n,a={x:t/e/2,y:.5};i.style=tu(r(r({},o),{},{"transform-origin":"".concat(a.x+l.x/16,"em ").concat(a.y+l.y/16,"em")}))}return[{tag:"svg",attributes:i,children:e}]}(v)}function t9(t){let{content:e,width:n,height:a,transform:i,title:o,extra:l,watchable:s=!1}=t,f=r(r(r({},l.attributes),o?{title:o}:{}),{},{class:l.classes.join(" ")});s&&(f[F]="");let c=r({},l.styles);td(i)&&(c.transform=function(t){let{transform:e,width:n=16,height:a=16,startCentered:r=!1}=t,i="";return r&&h?i+="translate(".concat(e.x/16-n/2,"em, ").concat(e.y/16-a/2,"em) "):r?i+="translate(calc(-50% + ".concat(e.x/16,"em), calc(-50% + ").concat(e.y/16,"em)) "):i+="translate(".concat(e.x/16,"em, ").concat(e.y/16,"em) "),i+="scale(".concat(e.size/16*(e.flipX?-1:1),", ").concat(e.size/16*(e.flipY?-1:1),") ")+"rotate(".concat(e.rotate,"deg) ")}({transform:i,startCentered:!0,width:n,height:a}),c["-webkit-transform"]=c.transform);let u=tu(c);u.length>0&&(f.style=u);let d=[];return d.push({tag:"span",attributes:f,children:[e]}),o&&d.push({tag:"span",attributes:{class:"sr-only"},children:[o]}),d}let{styles:t7}=tb;function t8(t){let e=t[0],n=t[1],[a]=t.slice(4);return{found:!0,width:e,height:n,icon:Array.isArray(a)?{tag:"g",attributes:{class:"".concat(tr.cssPrefix,"-").concat(Z.GROUP)},children:[{tag:"path",attributes:{class:"".concat(tr.cssPrefix,"-").concat(Z.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(tr.cssPrefix,"-").concat(Z.PRIMARY),fill:"currentColor",d:a[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:a}}}}let et={found:!1,width:512,height:512};function ee(t,e){let n=e;return"fa"===e&&null!==tr.styleDefault&&(e=tz),new Promise((a,i)=>{var o,l;if("fa"===n){let n=tW(t)||{};t=n.iconName||t,e=n.prefix||e}if(t&&e&&t7[e]&&t7[e][t])return a(t8(t7[e][t]));o=t,l=e,W||tr.showMissingIcons||!o||console.error('Icon with name "'.concat(o,'" and prefix "').concat(l,'" is missing.')),a(r(r({},et),{},{icon:tr.showMissingIcons&&t&&t1("missingIconAbstract")||{}}))})}let en=()=>{},ea=tr.measurePerformance&&p&&p.mark&&p.measure?p:{mark:en,measure:en},er='FA "6.7.2"',ei=t=>{ea.mark("".concat(er," ").concat(t," ends")),ea.measure("".concat(er," ").concat(t),"".concat(er," ").concat(t," begins"),"".concat(er," ").concat(t," ends"))};var eo={begin:t=>(ea.mark("".concat(er," ").concat(t," begins")),()=>ei(t))};let el=()=>{};function es(t){return"string"==typeof(t.getAttribute?t.getAttribute(F):null)}function ef(t){return d.createElementNS("http://www.w3.org/2000/svg",t)}function ec(t){return d.createElement(t)}let eu={replace:function(t){let e=t[0];if(e.parentNode){if(t[1].forEach(t=>{e.parentNode.insertBefore(function t(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{ceFn:a="svg"===e.tag?ef:ec}=n;if("string"==typeof e)return d.createTextNode(e);let r=a(e.tag);return Object.keys(e.attributes||[]).forEach(function(t){r.setAttribute(t,e.attributes[t])}),(e.children||[]).forEach(function(e){r.appendChild(t(e,{ceFn:a}))}),r}(t),e)}),null===e.getAttribute(F)&&tr.keepOriginalSource){let t;let n=d.createComment((t=" ".concat(e.outerHTML," "),t="".concat(t,"Font Awesome fontawesome.com ")));e.parentNode.replaceChild(n,e)}else e.remove()}},nest:function(t){let e=t[0],n=t[1];if(~tf(e).indexOf(tr.replacementClass))return eu.replace(t);let a=new RegExp("".concat(tr.cssPrefix,"-.*"));if(delete n[0].attributes.id,n[0].attributes.class){let t=n[0].attributes.class.split(" ").reduce((t,e)=>(e===tr.replacementClass||e.match(a)?t.toSvg.push(e):t.toNode.push(e),t),{toNode:[],toSvg:[]});n[0].attributes.class=t.toSvg.join(" "),0===t.toNode.length?e.removeAttribute("class"):e.setAttribute("class",t.toNode.join(" "))}let r=n.map(t=>tk(t)).join("\n");e.setAttribute(F,""),e.innerHTML=r}};function ed(t){t()}function em(t,e){let n="function"==typeof e?e:el;if(0===t.length)n();else{let e=ed;"async"===tr.mutateApproach&&(e=u.requestAnimationFrame||ed),e(()=>{let e=!0===tr.autoReplaceSvg?eu.replace:eu[tr.autoReplaceSvg]||eu.replace,a=eo.begin("mutate");t.map(e),a(),n()})}}let ep=!1,eg=null;function eh(t){if(!m||!tr.observeMutations)return;let{treeCallback:e=el,nodeCallback:n=el,pseudoElementsCallback:a=el,observeMutationsRoot:r=d}=t;eg=new m(t=>{if(ep)return;let r=tz;ts(t).forEach(t=>{if("childList"===t.type&&t.addedNodes.length>0&&!es(t.addedNodes[0])&&(tr.searchPseudoElements&&a(t.target),e(t.target)),"attributes"===t.type&&t.target.parentNode&&tr.searchPseudoElements&&a(t.target.parentNode),"attributes"===t.type&&es(t.target)&&~Q.indexOf(t.attributeName)){if("class"===t.attributeName&&function(t){let e=t.getAttribute?t.getAttribute(L):null,n=t.getAttribute?t.getAttribute(T):null;return e&&n}(t.target)){let{prefix:e,iconName:n}=tB(tf(t.target));t.target.setAttribute(L,e||r),n&&t.target.setAttribute(T,n)}else{var i;(i=t.target)&&i.classList&&i.classList.contains&&i.classList.contains(tr.replacementClass)&&n(t.target)}}})}),g&&eg.observe(r,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}function eb(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{styleParser:!0},{iconName:n,prefix:a,rest:i}=function(t){let e=t.getAttribute("data-prefix"),n=t.getAttribute("data-icon"),a=void 0!==t.innerText?t.innerText.trim():"",r=tB(tf(t));if(r.prefix||(r.prefix=tz),e&&n&&(r.prefix=e,r.iconName=n),r.iconName&&r.prefix)return r;if(r.prefix&&a.length>0){var i,o;r.iconName=(i=r.prefix,o=t.innerText,(tI[i]||{})[o]||tR(r.prefix,tO(t.innerText)))}return!r.iconName&&tr.autoFetchSvg&&t.firstChild&&t.firstChild.nodeType===Node.TEXT_NODE&&(r.iconName=t.firstChild.data),r}(t),o=function(t){let e=ts(t.attributes).reduce((t,e)=>("class"!==t.name&&"style"!==t.name&&(t[e.name]=e.value),t),{}),n=t.getAttribute("title"),a=t.getAttribute("data-fa-title-id");return tr.autoA11y&&(n?e["aria-labelledby"]="".concat(tr.replacementClass,"-title-").concat(a||tl()):(e["aria-hidden"]="true",e.focusable="false")),e}(t),l=tQ("parseNodeAttributes",{},t),s=e.styleParser?function(t){let e=t.getAttribute("style"),n=[];return e&&(n=e.split(";").reduce((t,e)=>{let n=e.split(":"),a=n[0],r=n.slice(1);return a&&r.length>0&&(t[a]=r.join(":").trim()),t},{})),n}(t):[];return r({iconName:n,title:t.getAttribute("title"),titleId:t.getAttribute("data-fa-title-id"),prefix:a,transform:to,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:i,styles:s,attributes:o}},l)}let{styles:ey}=tb;function ev(t){let e="nest"===tr.autoReplaceSvg?eb(t,{styleParser:!1}):eb(t);return~e.extra.classes.indexOf($)?t1("generateLayersText",t,e):t1("generateSvgReplacementMutation",t,e)}function ex(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!g)return Promise.resolve();let n=d.documentElement.classList,a=t=>n.add("".concat(R,"-").concat(t)),r=t=>n.remove("".concat(R,"-").concat(t)),i=tr.autoFetchSvg?[...O,...N]:v.concat(Object.keys(ey));i.includes("fa")||i.push("fa");let o=[".".concat($,":not([").concat(F,"])")].concat(i.map(t=>".".concat(t,":not([").concat(F,"])"))).join(", ");if(0===o.length)return Promise.resolve();let l=[];try{l=ts(t.querySelectorAll(o))}catch(t){}if(!(l.length>0))return Promise.resolve();a("pending"),r("complete");let s=eo.begin("onTree"),f=l.reduce((t,e)=>{try{let n=ev(e);n&&t.push(n)}catch(t){W||"MissingIcon"!==t.name||console.error(t)}return t},[]);return new Promise((t,n)=>{Promise.all(f).then(n=>{em(n,()=>{a("active"),a("complete"),r("pending"),"function"==typeof e&&e(),s(),t()})}).catch(t=>{s(),n(t)})})}function ek(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;ev(t).then(t=>{t&&em([t],e)})}let ew=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{transform:n=to,symbol:a=!1,mask:i=null,maskId:o=null,title:l=null,titleId:s=null,classes:f=[],attributes:c={},styles:u={}}=e;if(!t)return;let{prefix:d,iconName:m,icon:p}=t;return t6(r({type:"icon"},t),()=>(tZ("beforeDOMElementCreation",{iconDefinition:t,params:e}),tr.autoA11y&&(l?c["aria-labelledby"]="".concat(tr.replacementClass,"-title-").concat(s||tl()):(c["aria-hidden"]="true",c.focusable="false")),t3({icons:{main:t8(p),mask:i?t8(i.icon):{found:!1,width:null,height:null,icon:{}}},prefix:d,iconName:m,transform:r(r({},to),n),symbol:a,title:l,maskId:o,titleId:s,extra:{attributes:c,styles:u,classes:f}})))},eA=RegExp('"',"ug"),eO=r(r(r(r({},{FontAwesome:{normal:"fas",400:"fas"}}),{"Font Awesome 6 Free":{900:"fas",400:"far"},"Font Awesome 6 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 6 Brands":{400:"fab",normal:"fab"},"Font Awesome 6 Duotone":{900:"fad",400:"fadr",normal:"fadr",300:"fadl",100:"fadt"},"Font Awesome 6 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 6 Sharp Duotone":{900:"fasds",400:"fasdr",normal:"fasdr",300:"fasdl",100:"fasdt"}}),{"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"}}),{"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}}),eP=Object.keys(eO).reduce((t,e)=>(t[e.toLowerCase()]=eO[e],t),{}),eS=Object.keys(eP).reduce((t,e)=>{let n=eP[e];return t[e]=n[900]||[...Object.entries(n)][0][1],t},{});function ej(t,e){let n="".concat("data-fa-pseudo-element-pending").concat(e.replace(":","-"));return new Promise((a,i)=>{if(null!==t.getAttribute(n))return a();let o=ts(t.children).filter(t=>t.getAttribute(D)===e)[0],l=u.getComputedStyle(t,e),s=l.getPropertyValue("font-family"),f=s.match(J),c=l.getPropertyValue("font-weight"),m=l.getPropertyValue("content");if(o&&!f)return t.removeChild(o),a();if(f&&"none"!==m&&""!==m){let u=l.getPropertyValue("content"),m=function(t,e){let n=t.replace(/^['"]|['"]$/g,"").toLowerCase(),a=parseInt(e),r=isNaN(a)?"normal":a;return(eP[n]||{})[r]||eS[n]}(s,c),{value:p,isSecondary:g}=function(t){let e=t.replace(eA,""),n=function(t,e){let n;let a=t.length,r=t.charCodeAt(0);return r>=55296&&r<=56319&&a>1&&(n=t.charCodeAt(1))>=56320&&n<=57343?(r-55296)*1024+n-56320+65536:r}(e,0),a=2===e.length&&e[0]===e[1];return{value:a?tO(e[0]):tO(e),isSecondary:n>=1105920&&n<=1112319||a}}(u),h=f[0].startsWith("FontAwesome"),b=tR(m,p),y=b;if(h){let t=function(t){let e=tD[t],n=tR("fas",t);return e||(n?{prefix:"fas",iconName:n}:null)||{prefix:null,iconName:null}}(p);t.iconName&&t.prefix&&(b=t.iconName,m=t.prefix)}if(!b||g||o&&o.getAttribute(L)===m&&o.getAttribute(T)===y)a();else{t.setAttribute(n,y),o&&t.removeChild(o);let l={iconName:null,title:null,titleId:null,prefix:null,transform:to,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}},{extra:s}=l;s.attributes[D]=e,ee(b,m).then(i=>{let o=t3(r(r({},l),{},{icons:{main:i,mask:t_()},prefix:m,iconName:y,extra:s,watchable:!0})),f=d.createElementNS("http://www.w3.org/2000/svg","svg");"::before"===e?t.insertBefore(f,t.firstChild):t.appendChild(f),f.outerHTML=o.map(t=>tk(t)).join("\n"),t.removeAttribute(n),a()}).catch(i)}}else a()})}function eN(t){return Promise.all([ej(t,"::before"),ej(t,"::after")])}function eC(t){return t.parentNode!==document.head&&!~Y.indexOf(t.tagName.toUpperCase())&&!t.getAttribute(D)&&(!t.parentNode||"svg"!==t.parentNode.tagName)}function eE(t){if(g)return new Promise((e,n)=>{let a=ts(t.querySelectorAll("*")).filter(eC).map(eN),r=eo.begin("searchPseudoElements");ep=!0,Promise.all(a).then(()=>{r(),ep=!1,e()}).catch(()=>{r(),ep=!1,n()})})}let ez=!1,eM=t=>t.toLowerCase().split(" ").reduce((t,e)=>{let n=e.toLowerCase().split("-"),a=n[0],r=n.slice(1).join("-");if(a&&"h"===r)return t.flipX=!0,t;if(a&&"v"===r)return t.flipY=!0,t;if(isNaN(r=parseFloat(r)))return t;switch(a){case"grow":t.size=t.size+r;break;case"shrink":t.size=t.size-r;break;case"left":t.x=t.x-r;break;case"right":t.x=t.x+r;break;case"up":t.y=t.y-r;break;case"down":t.y=t.y+r;break;case"rotate":t.rotate=t.rotate+r}return t},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0}),eI={x:0,y:0,width:"100%",height:"100%"};function eF(t){let e=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return t.attributes&&(t.attributes.fill||e)&&(t.attributes.fill="black"),t}!function(t,e){let{mixoutsTo:n}=e;tG=t,tK={},Object.keys(t$).forEach(t=>{-1===tJ.indexOf(t)&&delete t$[t]}),tG.forEach(t=>{let e=t.mixout?t.mixout():{};if(Object.keys(e).forEach(t=>{"function"==typeof e[t]&&(n[t]=e[t]),"object"==typeof e[t]&&Object.keys(e[t]).forEach(a=>{n[t]||(n[t]={}),n[t][a]=e[t][a]})}),t.hooks){let e=t.hooks();Object.keys(e).forEach(t=>{tK[t]||(tK[t]=[]),tK[t].push(e[t])})}t.provides&&t.provides(t$)})}([{mixout:()=>({dom:{css:tm,insertCss:tg}}),hooks:()=>({beforeDOMElementCreation(){tg()},beforeI2svg(){tg()}})},{mixout:()=>({icon:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(t||{}).icon?t:t0(t||{}),{mask:a}=e;return a&&(a=(a||{}).icon?a:t0(a||{})),ew(n,r(r({},e),{},{mask:a}))}}),hooks:()=>({mutationObserverCallbacks:t=>(t.treeCallback=ex,t.nodeCallback=ek,t)}),provides(t){t.i2svg=function(t){let{node:e=d,callback:n=()=>{}}=t;return ex(e,n)},t.generateSvgReplacementMutation=function(t,e){let{iconName:n,title:a,titleId:r,prefix:i,transform:o,symbol:l,mask:s,maskId:f,extra:c}=e;return new Promise((e,u)=>{Promise.all([ee(n,i),s.iconName?ee(s.iconName,s.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(s=>{let[u,d]=s;e([t,t3({icons:{main:u,mask:d},prefix:i,iconName:n,transform:o,symbol:l,maskId:f,title:a,titleId:r,extra:c,watchable:!0})])}).catch(u)})},t.generateAbstractIcon=function(t){let e,{children:n,attributes:a,main:r,transform:i,styles:o}=t,l=tu(o);return l.length>0&&(a.style=l),td(i)&&(e=t1("generateAbstractTransformGrouping",{main:r,transform:i,containerWidth:r.width,iconWidth:r.width})),n.push(e||r.icon),{children:n,attributes:a}}}},{mixout:()=>({layer(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{classes:n=[]}=e;return t6({type:"layer"},()=>{tZ("beforeDOMElementCreation",{assembler:t,params:e});let a=[];return t(t=>{Array.isArray(t)?t.map(t=>{a=a.concat(t.abstract)}):a=a.concat(t.abstract)}),[{tag:"span",attributes:{class:["".concat(tr.cssPrefix,"-layers"),...n].join(" ")},children:a}]})}})},{mixout:()=>({counter(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{title:n=null,classes:a=[],attributes:i={},styles:o={}}=e;return t6({type:"counter",content:t},()=>(tZ("beforeDOMElementCreation",{content:t,params:e}),function(t){let{content:e,title:n,extra:a}=t,i=r(r(r({},a.attributes),n?{title:n}:{}),{},{class:a.classes.join(" ")}),o=tu(a.styles);o.length>0&&(i.style=o);let l=[];return l.push({tag:"span",attributes:i,children:[e]}),n&&l.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),l}({content:t.toString(),title:n,extra:{attributes:i,styles:o,classes:["".concat(tr.cssPrefix,"-layers-counter"),...a]}})))}})},{mixout:()=>({text(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{transform:n=to,title:a=null,classes:i=[],attributes:o={},styles:l={}}=e;return t6({type:"text",content:t},()=>(tZ("beforeDOMElementCreation",{content:t,params:e}),t9({content:t,transform:r(r({},to),n),title:a,extra:{attributes:o,styles:l,classes:["".concat(tr.cssPrefix,"-layers-text"),...i]}})))}}),provides(t){t.generateLayersText=function(t,e){let{title:n,transform:a,extra:r}=e,i=null,o=null;if(h){let e=parseInt(getComputedStyle(t).fontSize,10),n=t.getBoundingClientRect();i=n.width/e,o=n.height/e}return tr.autoA11y&&!n&&(r.attributes["aria-hidden"]="true"),Promise.resolve([t,t9({content:t.innerHTML,width:i,height:o,transform:a,title:n,extra:r,watchable:!0})])}}},{hooks:()=>({mutationObserverCallbacks:t=>(t.pseudoElementsCallback=eE,t)}),provides(t){t.pseudoElements2svg=function(t){let{node:e=d}=t;tr.searchPseudoElements&&eE(e)}}},{mixout:()=>({dom:{unwatch(){ep=!0,ez=!0}}}),hooks:()=>({bootstrap(){eh(tQ("mutationObserverCallbacks",{}))},noAuto(){eg&&eg.disconnect()},watch(t){let{observeMutationsRoot:e}=t;ez?ep=!1:eh(tQ("mutationObserverCallbacks",{observeMutationsRoot:e}))}})},{mixout:()=>({parse:{transform:t=>eM(t)}}),hooks:()=>({parseNodeAttributes(t,e){let n=e.getAttribute("data-fa-transform");return n&&(t.transform=eM(n)),t}}),provides(t){t.generateAbstractTransformGrouping=function(t){let{main:e,transform:n,containerWidth:a,iconWidth:i}=t,o="translate(".concat(32*n.x,", ").concat(32*n.y,") "),l="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") "),s="rotate(".concat(n.rotate," 0 0)"),f={transform:"".concat(o," ").concat(l," ").concat(s)},c={outer:{transform:"translate(".concat(a/2," 256)")},inner:f,path:{transform:"translate(".concat(-(i/2*1)," -256)")}};return{tag:"g",attributes:r({},c.outer),children:[{tag:"g",attributes:r({},c.inner),children:[{tag:e.icon.tag,children:e.icon.children,attributes:r(r({},e.icon.attributes),c.path)}]}]}}}},{hooks:()=>({parseNodeAttributes(t,e){let n=e.getAttribute("data-fa-mask"),a=n?tB(n.split(" ").map(t=>t.trim())):t_();return a.prefix||(a.prefix=tz),t.mask=a,t.maskId=e.getAttribute("data-fa-mask-id"),t}}),provides(t){t.generateAbstractMask=function(t){let{children:e,attributes:n,main:a,mask:i,maskId:o,transform:l}=t,{width:s,icon:f}=a,{width:c,icon:u}=i,d=function(t){let{transform:e,containerWidth:n,iconWidth:a}=t,r="translate(".concat(32*e.x,", ").concat(32*e.y,") "),i="scale(".concat(e.size/16*(e.flipX?-1:1),", ").concat(e.size/16*(e.flipY?-1:1),") "),o="rotate(".concat(e.rotate," 0 0)"),l={transform:"".concat(r," ").concat(i," ").concat(o)};return{outer:{transform:"translate(".concat(n/2," 256)")},inner:l,path:{transform:"translate(".concat(-(a/2*1)," -256)")}}}({transform:l,containerWidth:c,iconWidth:s}),m={tag:"rect",attributes:r(r({},eI),{},{fill:"white"})},p=f.children?{children:f.children.map(eF)}:{},g={tag:"g",attributes:r({},d.inner),children:[eF(r({tag:f.tag,attributes:r(r({},f.attributes),d.path)},p))]},h={tag:"g",attributes:r({},d.outer),children:[g]},b="mask-".concat(o||tl()),y="clip-".concat(o||tl()),v={tag:"mask",attributes:r(r({},eI),{},{id:b,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[m,h]},x={tag:"defs",children:[{tag:"clipPath",attributes:{id:y},children:"g"===u.tag?u.children:[u]},v]};return e.push(x,{tag:"rect",attributes:r({fill:"currentColor","clip-path":"url(#".concat(y,")"),mask:"url(#".concat(b,")")},eI)}),{children:e,attributes:n}}}},{provides(t){let e=!1;u.matchMedia&&(e=u.matchMedia("(prefers-reduced-motion: reduce)").matches),t.missingIconAbstract=function(){let t=[],n={fill:"currentColor"},a={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};t.push({tag:"path",attributes:r(r({},n),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});let i=r(r({},a),{},{attributeName:"opacity"}),o={tag:"circle",attributes:r(r({},n),{},{cx:"256",cy:"364",r:"28"}),children:[]};return e||o.children.push({tag:"animate",attributes:r(r({},a),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:r(r({},i),{},{values:"1;0;1;1;0;1;"})}),t.push(o),t.push({tag:"path",attributes:r(r({},n),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:e?[]:[{tag:"animate",attributes:r(r({},i),{},{values:"1;0;0;0;0;1;"})}]}),e||t.push({tag:"path",attributes:r(r({},n),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:r(r({},i),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:t}}}},{hooks:()=>({parseNodeAttributes(t,e){let n=e.getAttribute("data-fa-symbol");return t.symbol=null!==n&&(""===n||n),t}})}],{mixoutsTo:t5}),t5.noAuto,t5.config,t5.library,t5.dom;let eD=t5.parse;t5.findIconDefinition,t5.toHtml;let eL=t5.icon;t5.layer,t5.text,t5.counter;var eT=n(40718),eR=n.n(eT),eY=n(2265);function eW(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,a)}return n}function e_(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?eW(Object(n),!0).forEach(function(e){eU(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):eW(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function eH(t){return(eH="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function eU(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function eB(t){return function(t){if(Array.isArray(t))return eX(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return eX(t,void 0);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eX(t,void 0)}}(t)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function eX(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=Array(e);n<e;n++)a[n]=t[n];return a}function eq(t){var e;return(e=t-0)==e?t:(t=t.replace(/[\-_\s]+(.)?/g,function(t,e){return e?e.toUpperCase():""})).substr(0,1).toLowerCase()+t.substr(1)}var eV=["style"],eG=!1;try{eG=!0}catch(t){}function eK(t){return t&&"object"===eH(t)&&t.prefix&&t.iconName&&t.icon?t:eD.icon?eD.icon(t):null===t?null:t&&"object"===eH(t)&&t.prefix&&t.iconName?t:Array.isArray(t)&&2===t.length?{prefix:t[0],iconName:t[1]}:"string"==typeof t?{prefix:"fas",iconName:t}:void 0}function e$(t,e){return Array.isArray(e)&&e.length>0||!Array.isArray(e)&&e?eU({},t,e):{}}var eJ={border:!1,className:"",mask:null,maskId:null,fixedWidth:!1,inverse:!1,flip:!1,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,spinPulse:!1,spinReverse:!1,beat:!1,fade:!1,beatFade:!1,bounce:!1,shake:!1,symbol:!1,title:"",titleId:null,transform:null,swapOpacity:!1},eQ=eY.forwardRef(function(t,e){var n,a,r,i,o,l,s,f,c,u,d,m,p,g,h,b,y,v,x,k=e_(e_({},eJ),t),w=k.icon,A=k.mask,O=k.symbol,P=k.className,S=k.title,j=k.titleId,N=k.maskId,C=eK(w),E=e$("classes",[].concat(eB((a=k.beat,r=k.fade,i=k.beatFade,o=k.bounce,l=k.shake,s=k.flash,f=k.spin,c=k.spinPulse,u=k.spinReverse,d=k.pulse,m=k.fixedWidth,p=k.inverse,g=k.border,h=k.listItem,b=k.flip,y=k.size,v=k.rotation,x=k.pull,Object.keys((eU(n={"fa-beat":a,"fa-fade":r,"fa-beat-fade":i,"fa-bounce":o,"fa-shake":l,"fa-flash":s,"fa-spin":f,"fa-spin-reverse":u,"fa-spin-pulse":c,"fa-pulse":d,"fa-fw":m,"fa-inverse":p,"fa-border":g,"fa-li":h,"fa-flip":!0===b,"fa-flip-horizontal":"horizontal"===b||"both"===b,"fa-flip-vertical":"vertical"===b||"both"===b},"fa-".concat(y),null!=y),eU(n,"fa-rotate-".concat(v),null!=v&&0!==v),eU(n,"fa-pull-".concat(x),null!=x),eU(n,"fa-swap-opacity",k.swapOpacity),n)).map(function(t){return n[t]?t:null}).filter(function(t){return t}))),eB((P||"").split(" ")))),z=e$("transform","string"==typeof k.transform?eD.transform(k.transform):k.transform),M=e$("mask",eK(A)),I=eL(C,e_(e_(e_(e_({},E),z),M),{},{symbol:O,title:S,titleId:j,maskId:N}));if(!I)return!function(){if(!eG&&console&&"function"==typeof console.error){var t;(t=console).error.apply(t,arguments)}}("Could not find icon",C),null;var F=I.abstract,D={ref:e};return Object.keys(k).forEach(function(t){eJ.hasOwnProperty(t)||(D[t]=k[t])}),eZ(F[0],D)});eQ.displayName="FontAwesomeIcon",eQ.propTypes={beat:eR().bool,border:eR().bool,beatFade:eR().bool,bounce:eR().bool,className:eR().string,fade:eR().bool,flash:eR().bool,mask:eR().oneOfType([eR().object,eR().array,eR().string]),maskId:eR().string,fixedWidth:eR().bool,inverse:eR().bool,flip:eR().oneOf([!0,!1,"horizontal","vertical","both"]),icon:eR().oneOfType([eR().object,eR().array,eR().string]),listItem:eR().bool,pull:eR().oneOf(["right","left"]),pulse:eR().bool,rotation:eR().oneOf([0,90,180,270]),shake:eR().bool,size:eR().oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:eR().bool,spinPulse:eR().bool,spinReverse:eR().bool,symbol:eR().oneOfType([eR().bool,eR().string]),title:eR().string,titleId:eR().string,transform:eR().oneOfType([eR().string,eR().object]),swapOpacity:eR().bool};var eZ=(function t(e,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof n)return n;var r=(n.children||[]).map(function(n){return t(e,n)}),i=Object.keys(n.attributes||{}).reduce(function(t,e){var a=n.attributes[e];switch(e){case"class":t.attrs.className=a,delete n.attributes.class;break;case"style":t.attrs.style=a.split(";").map(function(t){return t.trim()}).filter(function(t){return t}).reduce(function(t,e){var n=e.indexOf(":"),a=eq(e.slice(0,n)),r=e.slice(n+1).trim();return a.startsWith("webkit")?t[a.charAt(0).toUpperCase()+a.slice(1)]=r:t[a]=r,t},{});break;default:0===e.indexOf("aria-")||0===e.indexOf("data-")?t.attrs[e.toLowerCase()]=a:t.attrs[eq(e)]=a}return t},{attrs:{}}),o=a.style,l=function(t,e){if(null==t)return{};var n,a,r=function(t,e){if(null==t)return{};var n,a,r={},i=Object.keys(t);for(a=0;a<i.length;a++)n=i[a],e.indexOf(n)>=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(a=0;a<i.length;a++)n=i[a],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}(a,eV);return i.attrs.style=e_(e_({},i.attrs.style),void 0===o?{}:o),e.apply(void 0,[n.tag,e_(e_({},i.attrs),l)].concat(eB(r)))}).bind(null,eY.createElement)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[274],{82274:function(e,t,a){a.r(t),a.d(t,{Model:function(){return c}});var s=a(57437);a(2265);var n=a(41106);let o=a(40257).env.ASSET_PREFIX||"./",r="".concat(o,"/boats/sailboat/assets/scene-transformed.glb");function c(e){let{nodes:t,materials:a}=(0,n.L)(r,"".concat(o,"/draco/"));return(0,s.jsx)("group",{...e,dispose:null,children:(0,s.jsx)("mesh",{geometry:t.sailboat.geometry,material:a.texture,position:[0,-1.5,0],rotation:[-Math.PI,.011,-Math.PI],scale:.219})})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[353],{22353:function(t,e,a){a.r(e);var s=a(57437),l=a(53082);e.default=()=>{let{nightMode:t}=(0,l.yC)(),{getSignalKValue:e}=(0,l.yC)(),a=180*(e("steering.rudderAngle")||0)/Math.PI;return(0,s.jsx)("div",{style:{width:"480px",paddingBottom:"25px"},className:"mx-auto",children:(0,s.jsxs)("div",{className:"w-full bg-oGray h-1 rounded-full relative mt-2",children:[(()=>{let e=[];for(let a=-60;a<=60;a+=10){let l=a/120*100;e.push((0,s.jsx)("div",{className:"absolute h-2 w-px bg-oGray",style:{left:"".concat(50+l,"%"),transform:"translateX(-20%)"},children:(0,s.jsx)("span",{className:"text-xs ".concat(t?"text-oNight":"text-oGray"),style:{transform:"translateY(-50%)"},children:a})},a))}return e})()," ",(0,s.jsx)("div",{className:"absolute top-0 h-1 rounded-full transition-all duration-300 ease-in-out ".concat(a<0?"bg-oRed":"bg-oGreen"),style:{width:"".concat(Math.abs(a)/120*100,"%"),left:"50%",transform:a<0?"translateX(-100%)":"translateX(0)"}})]})})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[412],{6412:function(e,t,a){a.r(t),a.d(t,{default:function(){return T}});var l=a(57437),s=a(21276),o=a(36496),n=a(30166),r=a(53082),c=a(72079),i=a(2265),d=a(51268),u=a(35217),h=()=>{let{nightMode:e,setNightMode:t,states:a,toggleState:s}=(0,r.yC)(),o=(0,i.useRef)(a.autopilot),n=e?"text-oNight":"text-oGray",c=e=>{let t={autopilot:"autopilot"===e,anchorWatch:"anchorWatch"===e,parkingMode:"parkingMode"===e};Object.keys(t).forEach(e=>{s(e,t[e])})};return(0,i.useEffect)(()=>{a.autopilot&&!o.current&&s("showPolar",!0),o.current=a.autopilot},[a.autopilot,s]),(0,l.jsxs)("div",{className:"text-lg",children:[(0,l.jsx)("button",{onClick:()=>c("autopilot"),className:"p-1",children:(0,l.jsx)(d.G,{icon:u.lnS,className:a.autopilot?"text-oBlue":n})}),(0,l.jsx)("button",{onClick:()=>c("anchorWatch"),className:"p-1",children:(0,l.jsx)(d.G,{icon:u.SJR,className:a.anchorWatch?"text-oYellow":n})}),(0,l.jsx)("button",{onClick:()=>c("parkingMode"),className:"p-1",children:(0,l.jsx)(d.G,{icon:u.BQ9,className:a.parkingMode?"text-oGreen":n})}),(0,l.jsx)("button",{onClick:()=>t(!e),className:"p-1",children:(0,l.jsx)(d.G,{icon:u.DBF,className:e?"text-oNight":n})}),(0,l.jsx)("button",{onClick:()=>s("showOcean"),className:"p-1",children:(0,l.jsx)(d.G,{icon:u.L02,className:a.showOcean?"text-oBlue":n})}),a.autopilot&&!a.showOcean&&(0,l.jsx)("button",{onClick:()=>s("showPolar"),className:"p-1",children:(0,l.jsx)(d.G,{icon:u.GTN,className:a.showPolar?"text-oBlue":n})}),a.autopilot&&(0,l.jsx)("button",{onClick:()=>s("ais"),className:"p-1",children:(0,l.jsx)(d.G,{icon:u.mDh,className:a.ais?"text-oGreen":n})})]})},x=a(15008);let b={BATTERIES:"batteries",TANKS:"tanks"},p={FRESH_WATER:{id:"freshWater",label:"Fresh Water",path:"tanks.freshWater.0.currentLevel",icon:u.Zkk,color:"bg-oBlue"},FUEL:{id:"fuel",label:"Fuel",path:"tanks.fuel.0.currentLevel",icon:u.q16,color:"bg-oYellow"},BLACK_WATER:{id:"blackWater",label:"Black Water",path:"tanks.blackWater.0.currentLevel",icon:u.NId,color:"bg-oGray"}},m=e=>{let{level:t,type:a}=e,[s,o]=(0,i.useState)(!1),n=Math.max(0,Math.min(100,t)),{label:r,icon:c,color:u}=p[a];return(0,l.jsxs)("div",{className:"flex items-center space-x-3 relative",onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:[(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsx)("span",{className:"text-sm",children:(0,l.jsx)(d.G,{icon:c})}),(0,l.jsxs)("div",{className:"relative w-8 h-4 bg-oGray rounded-sm border border-oGray flex items-center justify-center",children:[(0,l.jsx)("div",{className:"absolute -right-1 w-1 h-3 bg-oGray rounded-sm"}),(0,l.jsx)("div",{className:"absolute left-0 top-0 h-full ".concat(u," transition-all duration-300 rounded-sm"),style:{width:"".concat(n,"%")}}),(0,l.jsxs)("span",{className:"relative z-10 text-xs text-white font-bold ".concat(n<=20?"text-oRed animate-pulse":""),children:[n,"%"]})]})]}),s&&(0,l.jsxs)("div",{className:"absolute -left-20 top-6 bg-gray-800 text-white px-2 py-1 rounded text-xs whitespace-nowrap z-20",children:[r,": ",n,"%"]})]})},f=e=>{let{batteryLevel:t,batteryNumber:a,voltage:s}=e,[o,n]=(0,i.useState)(!1),r=Math.max(0,Math.min(100,t)),c=(0,x.d3)(s),h=(0,i.useMemo)(()=>(0,x.z)(r),[r]);return(0,l.jsx)("div",{className:"flex items-center space-x-3 relative",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),children:(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsx)("span",{className:"text-sm",children:(0,l.jsx)(d.G,{icon:u.BDt})}),(0,l.jsxs)("div",{className:"relative w-8 h-4 bg-oGray rounded-sm border border-oGray flex items-center justify-center",children:[(0,l.jsx)("div",{className:"absolute -right-1 w-1 h-3 bg-oGray rounded-sm"}),(0,l.jsx)("div",{className:"absolute left-0 top-0 h-full ".concat(h," transition-all duration-300 rounded-sm"),style:{width:"".concat(r,"%")}}),c?(0,l.jsx)("span",{className:"relative z-10 text-xs text-white font-bold",children:"⚡︎"}):(0,l.jsxs)("span",{className:"relative z-10 text-xs text-white font-bold ".concat(r<=x.vp.DANGER_THRESHOLD?"text-oRed animate-pulse":""),children:[r,"%"]})]}),o&&(0,l.jsxs)("div",{className:"absolute -left-20 top-6 bg-gray-800 text-white px-2 py-1 rounded text-xs whitespace-nowrap z-20",children:["Voltage: ",null==s?void 0:s.toFixed(1),"V ",c&&"(Charging)"]})]})})};var v=()=>{let{nightMode:e,getSignalKValue:t}=(0,r.yC)(),[a,s]=(0,i.useState)(b.BATTERIES),o=(0,i.useMemo)(()=>{let e=t("electrical.batteries.1.capacity.stateOfCharge"),a=t("electrical.batteries.1.voltage");return[{level:null===e?(0,x.Si)(a):e,number:1,voltage:a}].filter(e=>null!==e.level)},[t]),n=(0,i.useMemo)(()=>({FRESH_WATER:t(p.FRESH_WATER.path)||40,FUEL:t(p.FUEL.path)||75,BLACK_WATER:t(p.BLACK_WATER.path)||20}),[t]),c=()=>{s(e=>e===b.BATTERIES?b.TANKS:b.BATTERIES)},d=a===b.BATTERIES;return(0,l.jsx)("div",{className:"".concat(e?"text-oNight":"text-oGray"," rounded-lg transition-all duration-300 hover:bg-gray-800/10 cursor-pointer"),onClick:c,role:"button",tabIndex:0,"aria-label":"Toggle between ".concat(d?"tanks":"batteries"," display"),onKeyDown:e=>"Enter"===e.key&&c(),children:d?(0,l.jsx)("div",{className:"space-y-2",children:o.map(e=>(0,l.jsx)(f,{batteryLevel:e.level,batteryNumber:e.number,voltage:e.voltage},e.number))}):(0,l.jsx)("div",{className:"space-y-2",children:Object.keys(p).map(e=>(0,l.jsx)(m,{type:e,level:n[e]},e))})})};let N=(0,n.default)(()=>Promise.all([a.e(918),a.e(226),a.e(687),a.e(250),a.e(909),a.e(413)]).then(a.bind(a,80413)),{loadableGenerated:{webpack:()=>[80413]},ssr:!1}),g=(0,n.default)(()=>Promise.all([a.e(918),a.e(226),a.e(687),a.e(909),a.e(188)]).then(a.bind(a,97188)),{loadableGenerated:{webpack:()=>[97188]},ssr:!1}),j=(0,n.default)(()=>Promise.all([a.e(226),a.e(909),a.e(197)]).then(a.bind(a,62197)),{loadableGenerated:{webpack:()=>[62197]},ssr:!1}),w=(0,n.default)(()=>a.e(751).then(a.bind(a,95751)),{loadableGenerated:{webpack:()=>[95751]}}),E=(0,n.default)(()=>a.e(353).then(a.bind(a,22353)),{loadableGenerated:{webpack:()=>[22353]}}),R=(0,n.default)(()=>a.e(610).then(a.bind(a,48610)),{loadableGenerated:{webpack:()=>[48610]}}),G=(0,n.default)(()=>a.e(59).then(a.bind(a,53059)),{loadableGenerated:{webpack:()=>[53059]}}),k=(0,n.default)(()=>a.e(728).then(a.bind(a,66728)),{loadableGenerated:{webpack:()=>[66728]}}),y=(0,n.default)(()=>a.e(487).then(a.bind(a,5487)),{loadableGenerated:{webpack:()=>[5487]}}),_=(0,n.default)(()=>a.e(949).then(a.bind(a,76949)),{loadableGenerated:{webpack:()=>[76949]}}),A=()=>{let{gl:e,scene:t}=(0,s.D)();return(0,i.useEffect)(()=>{if(window&&e){window.__OCEARO_RENDERER=e;let t=setInterval(()=>{e&&e.info&&(window.__OCEARO_RENDER_INFO=e.info)},1e3);return()=>{delete window.__OCEARO_RENDERER,delete window.__OCEARO_RENDER_INFO,clearInterval(t)}}},[e,t]),null};var T=()=>{let{states:e}=(0,r.yC)(),[t,s]=(0,i.useState)(null),[n,d]=(0,i.useState)(!0);return(0,i.useEffect)(()=>{d(!1!==a(63321).Z.getAll().showAttitudeIndicator)},[]),(0,l.jsxs)("div",{className:"w-full h-full relative ",children:[(0,l.jsxs)("div",{className:"absolute top-2 left-2 z-10 space-y-0",children:[(0,l.jsx)(h,{}),!e.anchorWatch&&(0,l.jsx)(w,{}),e.anchorWatch&&(0,l.jsx)(G,{})]}),(0,l.jsxs)("div",{className:"absolute top-2 right-2 z-20 flex flex-col items-end",children:[(0,l.jsx)("div",{className:"mb-2",children:(0,l.jsx)(_,{content:t})}),(0,l.jsxs)("div",{className:"flex items-center",children:[(0,l.jsx)("span",{className:"text-white mr-2 align-top",children:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}),(0,l.jsx)(v,{})]}),n&&(0,l.jsx)(y,{})]}),(0,l.jsx)("div",{className:"absolute left-2 bottom-2 z-20 flex flex-col items-center",children:(0,l.jsx)(k,{})}),(0,l.jsx)("div",{className:"absolute right-2 bottom-2 z-20 flex flex-col items-center",children:(0,l.jsx)(R,{})}),!e.anchorWatch&&(0,l.jsx)("div",{className:"absolute bottom-2 left-1/2 transform -translate-x-1/2 z-10",children:(0,l.jsx)(E,{})}),(0,l.jsx)("div",{className:"absolute left-1/2 transform -translate-x-1/2 w-full h-full",children:(0,l.jsxs)(o.Xz,{style:{width:"100%",height:"100%"},shadows:!1,dpr:Math.min(window.devicePixelRatio,1.5),performance:{min:.5},gl:{antialias:!0,powerPreference:"low-power",physicallyCorrectLights:!1,toneMapping:c.uL9,toneMappingExposure:1,shadowMap:{enabled:!1},precision:"lowp"},children:[(0,l.jsx)(A,{}),e.parkingMode?(0,l.jsx)(g,{onUpdateInfoPanel:s}):e.anchorWatch?(0,l.jsx)(j,{onUpdateInfoPanel:s}):(0,l.jsx)(N,{onUpdateInfoPanel:s})]})})]})}},15008:function(e,t,a){a.d(t,{Si:function(){return s},d3:function(){return o},vp:function(){return l},z:function(){return n}});let l={WARNING_THRESHOLD:50,DANGER_THRESHOLD:20,CHARGING_THRESHOLD:13.2,MIN_VOLTAGE:10.5,MAX_VOLTAGE:14.4},s=e=>{if(!e||"number"!=typeof e)return 0;if(e>=13)return 100;if(e<=l.MIN_VOLTAGE)return 0;let t=[{voltage:12.85,soc:100},{voltage:12.75,soc:90},{voltage:12.65,soc:80},{voltage:12.55,soc:70},{voltage:12.45,soc:60},{voltage:12.35,soc:50},{voltage:12.25,soc:40},{voltage:12.15,soc:30},{voltage:12.05,soc:20},{voltage:11.95,soc:15},{voltage:11.8,soc:10},{voltage:11.6,soc:5},{voltage:10.5,soc:0}];for(let a=0;a<t.length-1;a++)if(e>=t[a+1].voltage){let l=t[a].voltage,s=t[a+1].voltage,o=t[a].soc,n=t[a+1].soc;return Math.round(n+(e-s)/(l-s)*(o-n))}return 0},o=e=>e>l.CHARGING_THRESHOLD,n=e=>e>l.WARNING_THRESHOLD?"bg-oGreen":e>l.DANGER_THRESHOLD?"bg-oYellow":"bg-oRed"}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[413],{29927:function(e,n,t){var r={"./default/Scene.jsx":[42967,967],"./optimist/Scene.jsx":[96154,154],"./sailboat/Scene.jsx":[82274,274],"./ship/Scene.jsx":[75221,221],"./windsurf/Scene.jsx":[92975,975]};function o(e){if(!t.o(r,e))return Promise.resolve().then(function(){var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n});var n=r[e],o=n[0];return t.e(n[1]).then(function(){return t(o)})}o.keys=function(){return Object.keys(r)},o.id=29927,e.exports=o},80413:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return $}});var r=t(57437),o=t(2265),a=t(68328),i=t(44725),l=t(85903),s=t(5550),c=t(11909),u=t(21276),d=t(88345),g=t(72079),f=t(53082);let h=(0,d.g)({time:0,speed:1,scale:3,opacity:.5,color:new g.Ilk(7895160),foamColor:new g.Ilk(16777215),waterColor:new g.Ilk(26367),rainbowActive:0},"\n varying vec2 vUv;\n varying float vElevation;\n \n void main() {\n vUv = uv;\n \n // Add subtle vertex displacement for a wavy effect.\n float elevation = sin(position.x * 0.2 + position.y * 0.3) * 0.1;\n vElevation = elevation;\n vec3 newPosition = position + normal * elevation;\n \n gl_Position = projectionMatrix * modelViewMatrix * vec4(newPosition, 1.0);\n }\n ","\n uniform float time;\n uniform float speed;\n uniform float scale;\n uniform float opacity;\n uniform vec3 color;\n uniform vec3 foamColor;\n uniform vec3 waterColor;\n uniform float rainbowActive; // Controls whether the rainbow effect is applied.\n\n varying vec2 vUv;\n varying float vElevation;\n\n // Standard noise functions.\n vec4 permute(vec4 x) {\n return mod(((x * 34.0) + 1.0) * x, 289.0);\n }\n\n vec2 fade(vec2 t) {\n return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);\n }\n\n float cnoise(vec2 P) {\n vec4 Pi = floor(P.xyxy) + vec4(0.0, 0.0, 1.0, 1.0);\n vec4 Pf = fract(P.xyxy) - vec4(0.0, 0.0, 1.0, 1.0);\n Pi = mod(Pi, 289.0);\n vec4 ix = Pi.xzxz;\n vec4 iy = Pi.yyww;\n vec4 fx = Pf.xzxz;\n vec4 fy = Pf.yyww;\n vec4 i = permute(permute(ix) + iy);\n vec4 gx = 2.0 * fract(i * 0.0243902439) - 1.0;\n vec4 gy = abs(gx) - 0.5;\n vec4 tx = floor(gx + 0.5);\n gx = gx - tx;\n vec2 g00 = vec2(gx.x, gy.x);\n vec2 g10 = vec2(gx.y, gy.y);\n vec2 g01 = vec2(gx.z, gy.z);\n vec2 g11 = vec2(gx.w, gy.w);\n vec4 norm = 1.79284291400159 - 0.85373472095314 *\n vec4(dot(g00, g00), dot(g10, g10), dot(g01, g01), dot(g11, g11));\n g00 *= norm.x;\n g10 *= norm.y;\n g01 *= norm.z;\n g11 *= norm.w;\n float n00 = dot(g00, vec2(fx.x, fy.x));\n float n10 = dot(g10, vec2(fx.y, fy.y));\n float n01 = dot(g01, vec2(fx.z, fy.z));\n float n11 = dot(g11, vec2(fx.w, fy.w));\n vec2 fade_xy = fade(Pf.xy);\n vec2 n_x = mix(vec2(n00, n01), vec2(n10, n11), fade_xy.x);\n float n_xy = mix(n_x.x, n_x.y, fade_xy.y);\n return 2.3 * n_xy;\n }\n\n // HSL to RGB conversion function.\n vec3 hsl2rgb(vec3 hsl) {\n vec3 rgb = clamp(abs(mod(hsl.x * 6.0 + vec3(0.0, 4.0, 2.0), 6.0) - 3.0) - 1.0,\n 0.0, 1.0);\n rgb = rgb * rgb * (3.0 - 2.0 * rgb);\n return hsl.z + hsl.y * (rgb - 0.5) * (1.0 - abs(2.0 * hsl.z - 1.0));\n }\n\n void main() {\n // Combine multiple layers of noise to build a complex water pattern.\n float baseNoise = cnoise(vUv * scale + vec2(time * speed, 0.0));\n float detailNoise = cnoise(vUv * scale * 2.0 + vec2(time * speed * 1.5, 0.0)) * 0.5;\n float turbulence = cnoise(vUv * scale * 4.0 + vec2(time * speed * 2.0, 0.0)) * 0.25;\n float noise = baseNoise + detailNoise + turbulence;\n \n // Create a wake pattern.\n float wake = smoothstep(0.3, 0.7, 1.0 - abs(vUv.x - 0.5) * 2.0);\n \n // Create a foam effect.\n float foam = smoothstep(0.4, 0.6, noise + wake);\n \n // Mix water and foam colors, then blend in the base color.\n vec3 finalColor = mix(waterColor, foamColor, foam);\n finalColor = mix(finalColor, color, wake * 0.5);\n \n // Adjust dynamic opacity.\n float alpha = opacity * (wake + foam * 0.5) * (1.0 - vUv.y);\n \n // Add wave highlights.\n float highlight = smoothstep(0.2, 0.4, noise + wake) *\n (1.0 - smoothstep(0.4, 0.6, noise + wake));\n finalColor += highlight * foamColor * 0.5;\n \n // --- Rainbow Effect ---\n // When rainbowActive is enabled, overlay a dynamic rainbow gradient.\n if (rainbowActive > 0.5) {\n // Cycle the hue based on the horizontal UV and time.\n float rainbowHue = mod(vUv.x + time * 0.5, 1.0);\n vec3 rainbowColor = hsl2rgb(vec3(rainbowHue, 1.0, 0.5));\n // Blend the rainbow with the original finalColor.\n finalColor = mix(finalColor, rainbowColor, 0.7);\n }\n \n gl_FragColor = vec4(finalColor, alpha);\n }\n ");(0,u.e)({TrailShaderMaterial:h});let m=e=>{let{color:n="#787878",waterColor:t="#0066ff",foamColor:a="#ffffff",speed:i=1,scale:l=3,opacity:s=.5}=e,c=(0,o.useRef)(),{getSignalKValue:d}=(0,f.yC)();return(0,u.F)((e,n)=>{if(c.current){c.current.uniforms.time.value+=n;let e="auto"==d("steering.autopilot.state");c.current.uniforms.rainbowActive.value=e?1:0}}),(0,r.jsxs)("mesh",{rotation:[-Math.PI/2,0,Math.PI/2],position:[0,0,22.5],children:[(0,r.jsx)("planeGeometry",{args:[40,2.2,128,32]}),(0,r.jsx)("trailShaderMaterial",{ref:c,color:new g.Ilk(n),waterColor:new g.Ilk(t),foamColor:new g.Ilk(a),speed:i,scale:l,opacity:s,transparent:!0,depthWrite:!1,blending:g.WMw})]})};var v=t(54752),p=t(33866),x=t(79257);(0,u.e)({Water:v.B,Sky:p.q});var w=function(){let{nightMode:e}=(0,f.yC)(),n=(0,o.useRef)(),t=(0,o.useRef)(),a=(0,o.useRef)(),i=(0,u.D)(e=>e.gl),l=(0,u.D)(e=>e.scene),s=(0,o.useMemo)(()=>new g.Pa4,[]),c=(0,x.mE)("assets/moon.jpg"),d=(0,u.H)(g.dpR,"assets/waternormals.jpg");(0,o.useMemo)(()=>{d.wrapS=d.wrapT=g.rpg},[d]);let h=(0,o.useMemo)(()=>new g._12(1e4,1e4,32,32),[]),m=(0,o.useMemo)(()=>({textureWidth:256,textureHeight:256,waterNormals:d,sunDirection:new g.Pa4,sunColor:e?12642559:16777215,waterColor:e?6702:30668,distortionScale:2,format:i.outputColorSpace,reflectivity:0}),[d,i.outputColorSpace,e]);(0,u.F)(()=>{let r=e?45:2,o=e?30:180;if(t.current){let a=t.current.material.uniforms;e?(a.turbidity.value=.2,a.rayleigh.value=.5,a.mieCoefficient.value=.01,a.mieDirectionalG.value=.8):(a.turbidity.value=1,a.rayleigh.value=1,a.mieCoefficient.value=.003,a.mieDirectionalG.value=.5);let i=g.M8C.degToRad(90-r),l=g.M8C.degToRad(o);s.setFromSphericalCoords(1,i,l),a.sunPosition.value.copy(s),n.current&&n.current.material.uniforms.sunDirection.value.copy(s).normalize()}}),(0,o.useEffect)(()=>{e?l.background=new g.Ilk(2068):l.background=new g.Ilk(8900331);let n=new g.Ilk(e?4640:8900331);return l.fog=new g.yo9(n,15e-5),i.outputColorSpace=g.KI_,()=>{l.background=null,l.environment=null,l.fog=null}},[l,e,i]);let v=0;return(0,u.F)((e,t)=>{(v+=t)>.1&&(n.current&&(n.current.material.uniforms.time.value+=.5*v),v=0)}),(0,r.jsxs)(r.Fragment,{children:[!e&&(0,r.jsx)("sky",{ref:t,scale:45e4}),e&&(0,r.jsxs)("mesh",{ref:a,position:[600,200,-1500],children:[(0,r.jsx)("sphereGeometry",{args:[80,32,32]}),(0,r.jsx)("meshStandardMaterial",{map:c,emissive:16777215,emissiveIntensity:.8})]}),(0,r.jsx)("water",{ref:n,args:[h,m],"rotation-x":-Math.PI/2,position:[0,-1,0]})]})},y=t(14578),b=t(63321);let M=(0,o.createContext)(),C=()=>(0,o.useContext)(M),j=(e,n,t,r)=>{let o=t.split(".").reduce((e,n)=>null==e?void 0:e[n],r);void 0!==o&&(e[n]=o)},S=e=>{if(!e)return 0;let n=e.heading||e.headingMagnetic;return e.cog||e.cogMagnetic||n||0},R=(e,n)=>{if(e.length!==n.length)return!0;let t=new Set(e.map(e=>e.mmsi)),r=new Set(n.map(e=>e.mmsi));if(t.size!==r.size)return!0;for(let e of t)if(!r.has(e))return!0;return!1},E=e=>{let{children:n}=e,[t,a]=(0,o.useState)({}),[i,l]=(0,o.useState)([]),s=(0,o.useRef)(null),c=(0,o.useRef)({}),u=(0,o.useRef)(null),{getSignalKValue:d,convertLatLonToXY:g}=(0,f.yC)(),h=(0,o.useRef)(),m=(0,o.useRef)(),v=(0,o.useCallback)(e=>{let n=d("navigation.position");if(e.latitude&&e.longitude&&n&&n.latitude&&n.longitude&&e.latitude!=n.latitude&&e.longitude!=n.longitude){let t=b.Z.get("aisLengthScalingFactor")||.7,{x:r,y:o}=g({lat:e.latitude,lon:e.longitude},{lat:n.latitude,lon:n.longitude});e.sceneX=r*t,e.sceneZ=-o*t,e.rotationAngleY=S(e),e.distanceMeters=Math.sqrt(r**2+o**2);let a=e.visible;return e.visible=e.distanceMeters>10&&e.distanceMeters<=5e3,a!==e.visible}return!1},[d,g]),p=(0,o.useCallback)(()=>{u.current&&(clearTimeout(u.current),u.current=null);let e=Object.values(t).filter(e=>e.visible);R(i,e)&&(console.log("Updating visible vessels: ".concat(e.length," vessels")),l(e))},[t,i]),x=(0,o.useCallback)(()=>{u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{p(),u.current=null},100)},[p]);return(0,o.useEffect)(()=>{h.current=v,m.current=x},[v,x]),(0,o.useEffect)(()=>{let e=setInterval(()=>{let e=Date.now();a(n=>{let t=!1,r={...n};return(Object.entries(r).forEach(n=>{let[o,a]=n;e-a.lastUpdate>6e5&&(delete r[o],t=!0)}),t)?(x(),r):n})},6e4);return()=>clearInterval(e)},[x]),(0,o.useEffect)(()=>{let e=async e=>{console.log("Fetching static vessel info...");try{let n=await e.API().then(e=>e.vessels()),t=Object.entries(n).map(e=>{let[n,t]=e,r={mmsi:n};return j(r,"name","name",t),j(r,"latitude","navigation.position.value.latitude",t),j(r,"longitude","navigation.position.value.longitude",t),j(r,"sog","navigation.speedOverGround.value",t),j(r,"cog","navigation.courseOverGroundTrue.value",t),j(r,"cogMagnetic","navigation.courseOverGroundMagnetic.value",t),j(r,"heading","navigation.headingTrue.value",t),j(r,"headingMagnetic","navigation.headingMagnetic.value",t),j(r,"length","design.length.value.overall",t),j(r,"beam","design.beam.value",t),j(r,"callsign","communication.callsignVhf",t),j(r,"shipType","design.aisShipType.value.id",t),r.lastUpdate=Date.now(),r.distanceMeters=null,r.sceneX=null,r.sceneZ=null,r.rotationAngleY=null,r.visible=!1,r}),r={};if(t.forEach(e=>{e.mmsi&&"self"!=e.mmsi&&(null!==e.latitude||null!==e.longitude)&&(h.current(e),r[e.mmsi]=e)}),console.log("Fetched ".concat(t.length," vessels.")),Object.keys(r).length>0){console.log("Initializing AIS data with ".concat(Object.keys(r).length," vessels")),a(r);let e=Object.values(r).filter(e=>e.visible);l(e),console.log("".concat(e.length," vessels initially visible"))}}catch(e){console.error("Error fetching static info:",e)}},n=e=>{if(!(null==e?void 0:e.updates)){console.warn("Missing delta or no updates:",e);return}let n=e=>({mmsi:e,name:"unknown",latitude:null,longitude:null,sog:null,cog:null,cogMagnetic:null,heading:null,headingMagnetic:null,distanceMeters:null,sceneX:null,sceneZ:null,rotationAngleY:null,visible:!1,length:null,beam:null,shipType:null}),t=e.context.replace("vessels.","");if(!t){console.warn("Update without MMSI context:",e);return}c.current[t]=Date.now(),a(r=>{let o=r[t]||n(t);o.lastUpdate=c.current[t];let a=!1,i=!1;return e.updates.forEach(e=>{e.values.forEach(e=>{switch(e.path){case"name":o.name=e.value;break;case"navigation.position":o.latitude=e.value.latitude,o.longitude=e.value.longitude,a=!0;break;case"navigation.speedOverGround":o.sog=e.value;break;case"navigation.courseOverGroundTrue":o.cog=e.value,i=!0;break;case"navigation.courseOverGroundMagnetic":o.cogMagnetic=e.value,i=!0;break;case"navigation.headingTrue":o.heading=e.value,i=!0;break;case"navigation.headingMagnetic":o.headingMagnetic=e.value,i=!0}})}),(h.current(o)||a||i)&&m.current(),{...r,[t]:o}})};return(async()=>{try{let{signalkUrl:t}=b.Z.getAll();if(console.log("SignalK URL:",t),!t)throw Error("SignalK URL is undefined or invalid.");let[r,o]=t.replace(/https?:\/\//,"").split(":");console.log("Connecting to SignalK at: ".concat(r,", port: ").concat(o));let a=new y.default({hostname:r||"localhost",port:parseInt(o)||3e3,useTLS:t.startsWith("https"),reconnect:!0,autoConnect:!1,notifications:!1,subscriptions:[{context:"vessels.*",subscribe:[{path:"navigation.position"},{path:"navigation.speedOverGround"},{path:"navigation.courseOverGroundTrue"},{path:"navigation.courseOverGroundMagnetic"},{path:"navigation.headingTrue"},{path:"navigation.headingMagnetic"}]}]});s.current=a,await a.connect(),console.log("SignalK client connected."),await e(a),a.on("delta",n)}catch(e){console.error("Error connecting to SignalK:",e)}})(),()=>{var e;console.log("Disconnecting SignalK client..."),u.current&&clearTimeout(u.current),null===(e=s.current)||void 0===e||e.disconnect()}},[]),(0,r.jsx)(M.Provider,{value:{aisData:t,vesselIds:i},children:n})},P=async e=>{try{let n=await t(29927)("./".concat(e,"/Scene.jsx"));return n.default?n.default:n.Model}catch(n){throw console.error("Error loading ".concat(e," component:"),n),n}},I=e=>0===e?"windsurf":30===e?"optimist":36===e?"sailboat":"ship",T=(0,o.forwardRef)((e,n)=>{let{position:t,visible:a,boatData:i,onClick:l}=e,[s,c]=(0,o.useState)(null),u=I(i.shipType);if((0,o.useEffect)(()=>{let e=!0;return P(u).then(n=>{e&&c(()=>n)}).catch(e=>console.error("Failed to load ".concat(u,":"),e)),()=>{e=!1}},[u]),!s)return null;let d=Math.max(i.length||10,4)/10;return(0,r.jsx)("group",{ref:n,position:t,visible:a,onClick:e=>{e.stopPropagation(),s&&l&&l(i)},children:(0,r.jsx)(s,{scale:[d,d,d]})})});T.displayName="AISBoat";let _=e=>{var n;if(e.isMesh&&e.material)return e;if(null===(n=e.children)||void 0===n?void 0:n.length)for(let n of e.children){let e=_(n);if(e)return e}return null},k=function(e,n){let t=!(arguments.length>2)||void 0===arguments[2]||arguments[2],r=-n.rotationAngleY;if(t){e.position.lerp(new g.Pa4(n.sceneX,e.position.y,n.sceneZ),.1);let t=new g._fP().setFromEuler(e.rotation),o=new g._fP().setFromEuler(new g.USm(0,r,0));t.slerp(o,.1),e.rotation.setFromQuaternion(t)}else e.position.set(n.sceneX,0,n.sceneZ),e.rotation.set(0,r,0)};var N=e=>{let{onUpdateInfoPanel:n}=e,{getBoatRotationAngle:t}=(0,f.yC)(),{aisData:a,vesselIds:i}=C(),l=(0,o.useRef)({}),s=(0,o.useRef)({}),[c,d]=(0,o.useState)(null),g=(0,o.useRef)(0);(0,u.F)(()=>{g.current=t(),a&&0!==Object.keys(l.current).length&&Object.entries(l.current).forEach(e=>{let[n,t]=e;if(!t)return;let r=a[n];if(!r){t.visible=!1;return}if(k(t,r,!0),t.visible=r.visible,t.visible){let e=_(t);if(!e)return;if(!s.current[n]){let t=e.material;if(!t)return;s.current[n]={white:t.clone(),red:t.clone(),originalColor:t.color.clone()},s.current[n].white.color.copy(s.current[n].originalColor),s.current[n].red.color.set("red")}let o=s.current[n],a=t.userData.proximityColor||"white",i=a;"red"===a&&r.distanceMeters>550?i="white":"white"===a&&r.distanceMeters<500&&(i="red"),i!==a?(e.material="red"===i?o.red:o.white,t.userData.proximityColor=i):e.material&&(e.material===o.red||e.material===o.white)||(e.material="red"===a?o.red:o.white)}})},[a]);let h=(0,o.useMemo)(()=>(console.log("Re-rendering boat list"),i.map(e=>e?(0,r.jsx)(T,{ref:n=>{n?(n.userData={...n.userData,mmsi:e.mmsi},l.current[e.mmsi]=n):(delete l.current[e.mmsi],delete s.current[e.mmsi])},rotation:[0,-e.rotationAngleY,0],position:[e.sceneX,0,e.sceneZ],visible:e.visible,boatData:e,onClick:e=>{c&&e&&c.mmsi===e.mmsi?d(null):d(e)}},e.mmsi):null).filter(Boolean)),[i,c]),m=function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return null==n||""===n||"string"==typeof n&&0===n.trim().length?null:(r&&null!==n&&(n=(0,f.Ux)(n)),o&&null!==n&&(n=(0,f.Qj)(n)),"".concat(e,": ").concat(n).concat(t))},v=c?[m("Name",c.name),m("MMSI",(e=>{if(!e)return null;let n=String(e);for(let e of["urn:mrn:imo:mmsi:","urn:mrn:signalk:uuid:"])if(n.startsWith(e)){n=n.substring(e.length);break}return n})(c.mmsi)),m("Distance",c.distanceMeters?c.distanceMeters.toFixed(0):O,"m"),m("Length",c.length,"m"),m("Type",c.shipType),m("SOG",c.sog," kts",!1,!0),m("COG",c.cog,"\xb0",!0),m("Heading",c.heading,"\xb0",!0),m("Beam",c.beam,"m"),m("Draft",c.draft,"m"),m("Callsign",c.callsign),m("Destination",c.destination)].filter(e=>null!==e).join("\n"):"";return(0,o.useEffect)(()=>{n&&n(v)},[v,n]),(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("group",{rotation:[0,g.current,0],children:h})})},A=t(45476),F=t(1);let D=o.memo(e=>{let{radius:n,isOuter:t,markerColorPrimary:a,markerColorGreen:i,markerColorRed:l}=e,s=(0,o.useMemo)(()=>{let e=[];for(let o=0;o<360;o+=10){let s=g.M8C.degToRad(o-90),c=o%30==0,u=t?c?.4:.2:c?.3:.15,d=(n+.5*u+.2)*Math.cos(s),f=(n+.5*u+.2)*Math.sin(s),h=t&&o>0&&o<61,m=t&&o>=300&&o<360,v=h?i:m?l:a;if(!t&&c){let n;n=0===o?"N":90===o?"E":180===o?"S":270===o?"W":o.toString(),e.push((0,r.jsx)(A.x,{characters:"NESW0123456789",position:[d,.01,f],color:a,fontSize:.5,rotation:[-Math.PI/2,0,Math.PI/2-s],font:"fonts/Roboto-Bold.ttf",anchorY:"middle",children:n},"text-".concat(o)))}else e.push((0,r.jsx)(F.aL,{args:[u/2,16,16],position:[d,0,f],children:(0,r.jsx)("meshBasicMaterial",{color:v})},"marker-".concat(t?"outer":"inner","-").concat(o)))}return e},[n,t,a,i,l]);return(0,r.jsx)(r.Fragment,{children:s})});D.displayName="StaticMarkers";let G=o.memo(e=>{let{innerRadius:n,outerRadius:t,dialColor:o,opacity:a=1,transparent:i=!1}=e;return(0,r.jsx)(F.FM,{args:[n,t,64],rotation:[Math.PI/2,0,0],children:(0,r.jsx)("meshBasicMaterial",{color:o,side:g.ehD,transparent:i,opacity:a})})});G.displayName="StaticRing";let U=e=>{let{outerRadius:n,innerRadius:t}=e,a=f.FV,i=f.HH,{nightMode:l,getSignalKValue:s,getBoatRotationAngle:c}=(0,f.yC)(),u=l?f.eF:16777215,d=c(),g=b.Z.get("compassNorthUp"),h=(0,o.useMemo)(()=>({innerRadius:t,outerRadius:n,dialColor:u,markerColorPrimary:0,markerColorGreen:a,markerColorRed:i}),[t,n,u,0,a,i]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("group",{rotation:[0,d+(g?0:Math.PI),0],children:[(0,r.jsx)(G,{innerRadius:h.innerRadius,outerRadius:h.outerRadius,dialColor:h.dialColor}),(0,r.jsx)(D,{radius:h.innerRadius,isOuter:!1,markerColorPrimary:h.markerColorPrimary,markerColorGreen:h.markerColorGreen,markerColorRed:h.markerColorRed})]}),(0,r.jsxs)("group",{children:[(0,r.jsx)(G,{innerRadius:h.innerRadius+1,outerRadius:h.outerRadius+1,dialColor:h.dialColor,transparent:!0,opacity:.5}),(0,r.jsx)(D,{radius:h.innerRadius+1,isOuter:!0,markerColorPrimary:h.markerColorPrimary,markerColorGreen:h.markerColorGreen,markerColorRed:h.markerColorRed})]})]})};U.displayName="CompassDial";var L=t(95723),z=()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(U,{outerRadius:5.6,innerRadius:5}),(0,r.jsx)(L.Z,{outerRadius:5.6+1.1})]}),H=t(58181),W=JSON.parse('{"N":{"52":[4.98,5.86,6.31,6.45,6.51,6.52,6.41],"60":[5.25,6.11,6.56,6.73,6.79,6.82,6.79],"75":[5.45,6.33,6.77,7.01,7.13,7.2,7.24],"90":[5.66,6.55,7,7.25,7.38,7.53,7.7],"110":[5.49,6.49,7.04,7.4,7.69,7.97,8.38],"120":[5.32,6.36,6.97,7.39,7.77,8.1,8.6],"135":[4.81,5.92,6.68,7.15,7.55,7.95,8.85],"150":[4.09,5.17,6.04,6.61,6.99,7.31,7.93],"angles":[52,60,75,90,110,120,135,150],"speeds":[6,8,10,12,14,16,20],"beat_angle":[43.6,42,41.2,41.2,41.7,42.1,44.2],"beat_vmg":[3.26,3.91,4.24,4.34,4.36,4.34,4.16],"run_angle":[144.8,147.8,148.5,149.6,171.8,175.4,177.2],"run_vmg":[3.54,4.48,5.23,5.73,6.17,6.67,7.36]}}');let Z={DEG2RAD:Math.PI/180,ROTATION_INTERPOLATION_FACTOR:.05,SOG_SMOOTHING_FACTOR:.1,DEFAULT_SOG:3,ANGLE_INCREMENT:10,SPHERE_SIZE:.4,SPHERE_SEGMENTS:32,DEFAULT_LINE_WIDTH:1,PLOTS_COUNT:5,FRAME_TO_MINUTE_RATIO:3600},B=(e,n)=>26.8224*e*n*.1,K=(e,n,t)=>{if(!e||!n)return new g.Pa4(0,0,0);let r=e*Z.DEG2RAD,o=B(n,t);return new g.Pa4(o*Math.sin(r),0,-o*Math.cos(r))},q=(e,n)=>{if(!(null==e?void 0:e.length))return 0;let t=0,r=e.length-1;for(;t<r;){let o=Math.floor((t+r)/2);e[o]<n?t=o+1:r=o}return t},Y=e=>{let{position:n,color:t}=e;return n?(0,r.jsxs)("mesh",{position:n,children:[(0,r.jsx)("sphereGeometry",{args:[Z.SPHERE_SIZE,Z.SPHERE_SEGMENTS,Z.SPHERE_SEGMENTS]}),(0,r.jsx)("meshStandardMaterial",{color:t})]}):null},V=e=>{let{points:n,color:t}=e;return(null==n?void 0:n.length)?(0,r.jsx)(H.x,{points:n,color:t,lineWidth:Z.DEFAULT_LINE_WIDTH}):null},X=o.memo(e=>{let{timeInMinute:n,windSpeed:t}=e,a=(0,o.useRef)(W.N),i=(0,o.useCallback)((e,n,t,r)=>{if(!(null==e?void 0:e.length)||!(null==n?void 0:n.length)||e.length<=t||n.length<=t)return console.warn("Invalid angle or VMG data"),null;let o=e[t],a=n[t],i=o*Z.DEG2RAD,l=B(a,r);return new g.Pa4(l*Math.sin(i),0,-l*Math.cos(i))},[]),l=(0,o.useCallback)((e,n)=>{let{speeds:t,angles:r,beat_angle:o,beat_vmg:i,run_angle:l,run_vmg:s}=a.current;if(!(null==t?void 0:t.length)||!(null==r?void 0:r.length))return console.warn("Invalid polar data"),null;let c=(e,n,t)=>e+t*(n-e),u=[],d=(e,t,r)=>{for(let o=e;o<=t;o+=Z.ANGLE_INCREMENT)u.push(K(o,r(o),n))};d(0,o[e]-Z.ANGLE_INCREMENT,n=>c(0,i[e],n/o[e]));let f=K(o[e],i[e],n);u.push(f),r.forEach(t=>{if(t>o[e]&&t<l[e]){var r;let o=(null===(r=a.current[Math.floor(t)])||void 0===r?void 0:r[e])||0;u.push(K(t,o,n))}});let h=K(l[e],s[e],n);return u.push(h),d(l[e]+Z.ANGLE_INCREMENT,180,()=>s[e]),new g.YT8(u,!0)},[]),s=(0,o.useMemo)(()=>{var e;let r=a.current;if(!(null==r?void 0:null===(e=r.speeds)||void 0===e?void 0:e.length))return console.warn("Invalid polar data structure"),{curve:null,beat:null,run:null};let o=q(r.speeds,t);return{curve:l(o,n),beat:i(r.beat_angle,r.beat_vmg,o,n),run:i(r.run_angle,r.run_vmg,o,n)}},[n,t,i,l]);return(0,r.jsx)(r.Fragment,{children:[0,-Math.PI].map((e,n)=>(0,r.jsxs)("group",{position:[0,-.7,0],rotation:[0,0,e],children:[s.curve&&(0,r.jsx)(V,{points:s.curve.getPoints(100),color:f.gK}),(0,r.jsx)(Y,{position:s.beat,color:f.FV}),(0,r.jsx)(Y,{position:s.run,color:f.HH})]},n))})});X.displayName="PolarPlot";var Q=function(){let e=(0,o.useRef)([]),[n,t]=(0,o.useState)([]),a=(0,o.useRef)(0),i=(0,o.useRef)([]),l=(0,o.useRef)(Z.DEFAULT_SOG),{getSignalKValue:s}=(0,f.yC)(),c=-s("environment.wind.angleApparent"),d=(0,f.HQ)(s("environment.wind.speedOverGround"))||0,h=s("navigation.speedOverGround")||Z.DEFAULT_SOG,m=(0,o.useRef)(d),[v,p]=(0,o.useState)(Date.now()),x=(0,o.useRef)(null);return(0,o.useEffect)(()=>{let n=Array.from({length:Z.PLOTS_COUNT},(e,n)=>({id:n,timeInMinute:5*(n+1)}));return t(n),e.current=n.map(()=>new g.ZAu),i.current=Array(Z.PLOTS_COUNT).fill(0),x.current=setInterval(()=>{p(Date.now()),a.current=0,console.log("Forcing redraw of polar plots")},12e4),()=>{x.current&&clearInterval(x.current)}},[]),(0,o.useEffect)(()=>{Math.abs(m.current-d)>5&&(console.log("Wind speed changed from ".concat(m.current," to ").concat(d,", recreating polar curves")),p(Date.now()),a.current=0,m.current=d)},[d]),(0,u.F)((t,r)=>{a.current+=1,l.current=g.M8C.lerp(l.current,h,Z.SOG_SMOOTHING_FACTOR),n.forEach((n,t)=>{let r=e.current[t];if(r&&n.timeInMinute-a.current/Z.FRAME_TO_MINUTE_RATIO>0){let e=i.current[t],n=g.M8C.lerp(e,c,Z.ROTATION_INTERPOLATION_FACTOR);r.rotation.set(0,n,0),i.current[t]=n}})}),(0,r.jsx)(r.Fragment,{children:n.map((n,t)=>(0,r.jsx)("group",{ref:n=>{n&&(e.current[t]=n)},children:(0,r.jsx)(X,{timeInMinute:n.timeInMinute,windSpeed:d},"plot-".concat(v,"-").concat(t))},"".concat(n.id,"-").concat(v)))})},J=()=>{let{states:e,nightMode:n}=(0,f.yC)(),t=n?.2:.4;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("ambientLight",{intensity:n?.3:.5}),(0,r.jsx)("directionalLight",{position:[0,70,-100],intensity:n?.8:1.4,castShadow:!0,"shadow-mapSize-width":1024,"shadow-mapSize-height":1024,"shadow-camera-near":.5,"shadow-camera-far":200,"shadow-camera-left":-50,"shadow-camera-right":50,"shadow-camera-top":50,"shadow-camera-bottom":-50,"shadow-bias":-.0001,color:n?"#c8e6ff":"#ffffff"}),(0,r.jsx)("pointLight",{position:[0,40,-80],intensity:2.5*t,distance:150,decay:2}),(0,r.jsx)("pointLight",{position:[0,30,100],intensity:.8*t,distance:120,decay:2})]})},$=e=>{let{onUpdateInfoPanel:n}=e,{states:t}=(0,f.yC)(),u=(0,o.useRef)();return(0,r.jsxs)(o.Suspense,{fallback:(0,r.jsx)(a.V,{children:"Loading..."}),children:[(0,r.jsx)(i.c,{makeDefault:!0,fov:60,near:5,far:500,position:[0,5,20]}),(0,r.jsx)(l.z,{enableZoom:!0,enableRotate:!0,maxPolarAngle:Math.PI/2,minPolarAngle:Math.PI/4,enableDamping:!1,zoomSpeed:.5,rotateSpeed:.5}),(0,r.jsx)(s.qA,{files:"./assets/ocearo_env.hdr",background:!1,intensity:.8,resolution:256}),(0,r.jsx)(J,{}),(0,r.jsxs)("group",{position:[0,-3,0],children:[(0,r.jsx)(c.Z,{position:[0,0,.7],scale:[.7,.7,.7],ref:u,showSail:!0,onUpdateInfoPanel:n}),t.showOcean&&(0,r.jsx)(w,{}),(0,r.jsx)(m,{}),t.showPolar&&!t.showOcean&&(0,r.jsx)(Q,{}),t.ais&&(0,r.jsx)(E,{children:(0,r.jsx)(N,{onUpdateInfoPanel:n})}),(0,r.jsx)(z,{visible:!1})]})]})}},95723:function(e,n,t){"use strict";var r=t(57437),o=t(2265),a=t(40718),i=t.n(a),l=t(53082),s=t(72079),c=t(45476);let u={TRUE_WIND:1,APP_WIND:1},d=e=>{let{position:n=[0,0,0],rotation:t=[0,0,0],speed:o,color:a="#ffffff",fontSize:i=.5,textPosition:l=[0,.8,0],arrowSize:u=1}=e;return(0,r.jsxs)("group",{position:n,rotation:t,children:[(0,r.jsx)(c.x,{characters:".0123456789",color:a,fontSize:i*u,position:l,font:"fonts/Roboto-Bold.ttf",anchorX:"center",anchorY:"middle",children:o.toFixed(1)}),(0,r.jsxs)("mesh",{children:[(0,r.jsx)("shapeGeometry",{args:[new s.bnF([new s.FM8(0,0),new s.FM8(.5*u*Math.cos(5*Math.PI/6),.5*u*Math.sin(5*Math.PI/6)),new s.FM8(0,-.577*u),new s.FM8(-.5*u*Math.cos(5*Math.PI/6),.5*u*Math.sin(5*Math.PI/6)),new s.FM8(0,0)])]}),(0,r.jsx)("meshStandardMaterial",{color:a,side:s.ehD})]})]})};d.propTypes={position:i().oneOfType([i().instanceOf(s.Pa4),i().arrayOf(i().number)]).isRequired,rotation:i().arrayOf(i().number).isRequired,speed:i().number.isRequired,color:i().oneOfType([i().string,i().number]).isRequired,fontSize:i().number,textPosition:i().arrayOf(i().number),arrowSize:i().number};let g=e=>{let{outerRadius:n}=e,{getSignalKValue:t}=(0,l.yC)(),a=Math.PI/2-t("environment.wind.angleTrueGround")||0,i=(0,l.HQ)(t("environment.wind.speedOverGround"))||0,c=Math.PI/2-t("environment.wind.angleApparent")||0,g=(0,l.HQ)(t("environment.wind.speedApparent"))||0,f=(0,o.useMemo)(()=>new s.Pa4((n+.7)*Math.cos(a),0,-(n+.7)*Math.sin(a)),[n,a]),h=(0,o.useMemo)(()=>new s.Pa4((n+.7)*Math.cos(c),0,-(n+.7)*Math.sin(c)),[n,c]);return(0,r.jsxs)("group",{children:[i>0&&(0,r.jsx)(d,{position:f,rotation:[-Math.PI/2,0,-(Math.PI/2-a)],speed:i,color:"#0000FF",fontSize:u.TRUE_WIND}),g>0&&(0,r.jsx)(d,{position:h,rotation:[-Math.PI/2,0,-(Math.PI/2-c)],speed:g,color:l.gK,fontSize:u.APP_WIND})]})};g.propTypes={outerRadius:i().number.isRequired},n.Z=g}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[487],{5487:function(t,e,i){i.r(e),i.d(e,{default:function(){return s}});var l=i(57437),n=i(2265),a=i(53082);function s(){let t=(0,n.useRef)(null),{nightMode:e,getSignalKValue:i}=(0,a.yC)(),[s,o]=(0,n.useState)("canvas"),[r,c]=(0,n.useState)(0),[h,d]=(0,n.useState)(0),[u,v]=(0,n.useState)(0);return(0,n.useEffect)(()=>{let e;let l=t.current,n=null;if(!l||"canvas"!==s||(n=l.getContext("2d")))return function t(){let l=i("navigation.attitude")||{},o=(0,a.Ux)(null==l?void 0:l.roll)||0,r=(0,a.Ux)(null==l?void 0:l.pitch)||0,h=(0,a.Ux)(null==l?void 0:l.yaw)||0;c(o),d(r),v(h),"canvas"===s&&function(t,e,i){if(!n)return;n.clearRect(0,0,80,80),n.lineWidth=1,n.strokeStyle=a.n5,n.lineWidth=2,n.beginPath(),n.arc(40,40,38,0,2*Math.PI),n.stroke(),n.save(),n.translate(40,40),n.strokeStyle="#FFFFFF",n.lineWidth=1;for(let t=0;t<360;t+=15){let e=t*Math.PI/180,i=t%90==0,l=35-(i?5:2),a=35*Math.cos(e),s=35*Math.sin(e),o=l*Math.cos(e),r=l*Math.sin(e);n.beginPath(),n.moveTo(a,s),n.lineTo(o,r),n.lineWidth=i?1.5:.75,n.stroke()}n.restore(),n.save(),n.beginPath(),n.arc(40,40,32,0,2*Math.PI),n.clip(),n.translate(40,40),n.rotate(t*Math.PI/180);let l=.35555555555555557;n.translate(0,e*l),n.fillStyle=a.n5,n.fillRect(-48,0,96,64),n.beginPath(),n.moveTo(-48,0),n.lineTo(48,0),n.strokeStyle=a.gK,n.lineWidth=1.5,n.stroke(),n.strokeStyle=a.vd,n.lineWidth=.75;for(let t=-60;t<=60;t+=20){if(0===t)continue;let e=-t*l;n.beginPath(),n.moveTo(-7.5,e),n.lineTo(7.5,e),n.stroke()}n.restore(),n.save(),n.translate(40,40),n.rotate(i*Math.PI/180),n.lineWidth=1,n.beginPath(),n.moveTo(0,-10),n.lineTo(5,5),n.lineTo(-5,5),n.closePath(),n.fillStyle=a.gK,n.fill(),n.strokeStyle=a.vd,n.stroke(),n.restore()}(o,r,h),e=requestAnimationFrame(t)}(),()=>{cancelAnimationFrame(e)}},[i,s]),(0,l.jsx)("div",{className:"mt-4 cursor-pointer",style:{width:"".concat(80,"px"),height:"".concat(80,"px"),boxSizing:"content-box"},onClick:()=>{o(t=>"canvas"===t?"text":"canvas")},title:"Click to toggle view",children:"canvas"===s?(0,l.jsx)("canvas",{ref:t,width:80,height:80}):(0,l.jsxs)("div",{className:"text-sm font-bold cursor-pointer flex flex-col items-end w-full ".concat(e?"text-oNight":"text-white"),children:[(0,l.jsxs)("div",{className:"text-right",children:["Roll: ",r.toFixed(1),"\xb0"]}),(0,l.jsxs)("div",{className:"text-right",children:["Pitch: ",h.toFixed(1),"\xb0"]}),(0,l.jsxs)("div",{className:"text-right",children:["Yaw: ",u.toFixed(1),"\xb0"]})]})})}}}]);
|