Building a
keyboard
from
scratch Jesse Vincent
jesse@fsck.com
http://keyboard.io
@obra / @keyboardio
Wednesday, April 24, 13
Why?
Wednesday, April 24, 13
My boss stole
my keyboard
Wednesday, April 24, 13
Wednesday, April 24, 13
I couldn’t find a
keyboard I wanted
Wednesday, April 24, 13
I tried
Wednesday, April 24, 13
So, you want to
make a keyboard?
Wednesday, April 24, 13
Tools you’ll need
Wednesday, April 24, 13
Soldering
Iron
Wednesday, April 24, 13
Wire
cutter
Wednesday, April 24, 13
Tools you’ll want
Wednesday, April 24, 13
Wire
cutter
Wednesday, April 24, 13
Solder Sucker
Wednesday, April 24, 13
Fine-tipped
tweezers
Wednesday, April 24, 13
Multimeter
Wednesday, April 24, 13
Hot Glue
Gun
Wednesday, April 24, 13
Parts you’ll need
Wednesday, April 24, 13
Keyswitches
Wednesday, April 24, 13
IN418
Diodes
Wednesday, April 24, 13
Magnet
Wire
Wednesday, April 24, 13
Rosin-core
Solder
Wednesday, April 24, 13
Microcontroller
Wednesday, April 24, 13
PJRC.com Teensy
(Atmel Atmega)
Wednesday, April 24, 13
Key Caps
Wednesday, April 24, 13
A Case
Wednesday, April 24, 13
Parts you’ll want
Wednesday, April 24, 13
Jumper
wires
Wednesday, April 24, 13
MiniUSB
cable
Wednesday, April 24, 13
A bit more
explanation
Wednesday, April 24, 13
The
case &
layout
Wednesday, April 24, 13
Design your own!
Wednesday, April 24, 13
14mm square holes
Wednesday, April 24, 13
3+ mm apart
Wednesday, April 24, 13
Top plate:
1.5 mm
thick
Wednesday, April 24, 13
Edge & bottom
plates:
Much thicker
Wednesday, April 24, 13
I designed my first
keyboards in
Omingraffle
Wednesday, April 24, 13
14mm
14mm
3+mm
3+mm
Wednesday, April 24, 13
Prototype
with paper
Wednesday, April 24, 13
Wednesday, April 24, 13
3D Printer for
crazy designs
Wednesday, April 24, 13
Diodes
Wednesday, April 24, 13
Key Ghosting
Wednesday, April 24, 13
Credit: @pdcawley
Wednesday, April 24, 13
Credit: @pdcawley
Wednesday, April 24, 13
Credit: @pdcawley
Wednesday, April 24, 13
Credit: @pdcawley
Wednesday, April 24, 13
Putting it together
Wednesday, April 24, 13
Try the keys & keycaps
Wednesday, April 24, 13
Start Soldering
Wednesday, April 24, 13
Flat pin:
Connect Diode
Square pin:
Connect wire
Wednesday, April 24, 13
Connect
the keys in
each row
Wednesday, April 24, 13
Solder the
diodes in
columns
Wednesday, April 24, 13
Connect
them in
parallel
Wednesday, April 24, 13
Connect the
black ends
to the keys
Wednesday, April 24, 13
Solder a wire
to each row
& column
Wednesday, April 24, 13
Connect those wires
to the microcontroller
Wednesday, April 24, 13
Install avr-gcc
pjrc.com/teensy/gcc.html
Wednesday, April 24, 13
Teensy
Loader
pjrc.com/teensy/loader.html
Wednesday, April 24, 13
Configure some
keyboard firmware
Wednesday, April 24, 13
github.com/humblehacker/keyboard
Wednesday, April 24, 13
% vi config.kspec
Wednesday, April 24, 13
Wednesday, April 24, 13
% make
Wednesday, April 24, 13
Wednesday, April 24, 13
Install your firmware
Wednesday, April 24, 13
Test your
keyboard
Wednesday, April 24, 13
(This is why
you want
a multimeter)
Wednesday, April 24, 13
What didn’t I
mention?
Wednesday, April 24, 13
Printed
Circuit
Board
Wednesday, April 24, 13
You do not
need one!
Wednesday, April 24, 13
My experiences
Wednesday, April 24, 13
Mark 1 Keyboard
Wednesday, April 24, 13
shell from
ergodox.org
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Mark 2 Keyboard
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Mark 3 Keyboard
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13
Mark 4 Keyboard
Wednesday, April 24, 13
Wednesday, April 24, 13
Wednesday, April 24, 13

So, I made a keyboard

",o=o.removeChild(o.firstChild);break;case"select":o="string"==typeof r.is?i.createElement("select",{is:r.is}):i.createElement("select"),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o="string"==typeof r.is?i.createElement(a,{is:r.is}):i.createElement(a)}}o[eL]=t,o[eD]=r;e:for(i=t.child;null!==i;){if(5===i.tag||6===i.tag)o.appendChild(i.stateNode);else if(4!==i.tag&&27!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}switch(t.stateNode=o,ud(o,a,r),a){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break;case"img":r=!0;break;default:r=!1}r&&iV(t)}}return iZ(t),iQ(t,t.type,null===e?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&iV(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(s(166));if(e=G.current,rO(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(a=rw))switch(a.tag){case 27:case 5:r=a.memoizedProps}e[eL]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||us(e.nodeValue,n)))||rP(t,!0)}else(e=uh(e).createTextNode(r))[eL]=t,t.stateNode=e}return iZ(t),null;case 31:if(n=t.memoizedState,null===e||null!==e.memoizedState){if(r=rO(t),null!==n){if(null===e){if(!r)throw Error(s(318));if(!(e=null!==(e=t.memoizedState)?e.dehydrated:null))throw Error(s(557));e[eL]=t}else rL(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;iZ(t),e=!1}else n=rD(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e){if(256&t.flags)return aH(t),t;return aH(t),null}if(0!=(128&t.flags))throw Error(s(558))}return iZ(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(a=rO(t),null!==r&&null!==r.dehydrated){if(null===e){if(!a)throw Error(s(318));if(!(a=null!==(a=t.memoizedState)?a.dehydrated:null))throw Error(s(317));a[eL]=t}else rL(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;iZ(t),a=!1}else a=rD(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a){if(256&t.flags)return aH(t),t;return aH(t),null}}if(aH(t),0!=(128&t.flags))return t.lanes=n,t;return n=null!==r,e=null!==e&&null!==e.memoizedState,n&&(r=t.child,a=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(a=r.alternate.memoizedState.cachePool.pool),o=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),iK(t,t.updateQueue),iZ(t),null;case 4:return Y(),null===e&&s9(t.stateNode.containerInfo),iZ(t),null;case 10:return rj(t.type),iZ(t),null;case 19:if(F(aG),null===(r=t.memoizedState))return iZ(t),null;if(a=0!=(128&t.flags),null===(o=r.rendering))if(a)iJ(r,!1);else{if(0!==lq||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(o=aq(e))){for(t.flags|=128,iJ(r,!1),t.updateQueue=e=o.updateQueue,iK(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)rn(n,e),n=n.sibling;return j(aG,1&aG.current|2),rN&&rb(t,r.treeForkCount),t.child}e=e.sibling}null!==r.tail&&eo()>l2&&(t.flags|=128,a=!0,iJ(r,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=aq(o))){if(t.flags|=128,a=!0,t.updateQueue=e=e.updateQueue,iK(t,e),iJ(r,!0),null===r.tail&&"hidden"===r.tailMode&&!o.alternate&&!rN)return iZ(t),null}else 2*eo()-r.renderingStartTime>l2&&0x20000000!==n&&(t.flags|=128,a=!0,iJ(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(null!==(e=r.last)?e.sibling=o:t.child=o,r.last=o)}if(null!==r.tail)return e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=eo(),e.sibling=null,n=aG.current,j(aG,a?1&n|2:1&n),rN&&rb(t,r.treeForkCount),e;return iZ(t),null;case 22:case 23:return aH(t),aM(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?0!=(0x20000000&n)&&0==(128&t.flags)&&(iZ(t),6&t.subtreeFlags&&(t.flags|=8192)):iZ(t),null!==(n=t.updateQueue)&&iK(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&F(r9),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),rj(rZ),iZ(t),null;case 25:case 30:return null}throw Error(s(156,t.tag))}(t.alternate,t,lG);if(null!==n){lU=n;return}if(null!==(t=t.sibling)){lU=t;return}lU=t=e}while(null!==t)0===lq&&(lq=5)}function sT(e,t){do{var n=function(e,t){switch(rE(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return rj(rZ),Y(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return Q(t),null;case 31:if(null!==t.memoizedState){if(aH(t),null===t.alternate)throw Error(s(340));rL()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 13:if(aH(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(s(340));rL()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return F(aG),null;case 4:return Y(),null;case 10:return rj(t.type),null;case 22:case 23:return aH(t),aM(),null!==e&&F(r9),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return rj(rZ),null;default:return null}}(e.alternate,e);if(null!==n){n.flags&=32767,lU=n;return}if(null!==(n=e.return)&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&null!==(e=e.sibling)){lU=e;return}lU=e=n}while(null!==e)lq=6,lU=null}function sw(e,t,n,r,a,o,i,l,u){e.cancelPendingCommit=null;do sC();while(0!==l8)if(0!=(6&lD))throw Error(s(327));if(null!==t){if(t===e.current)throw Error(s(177));if(!function(e,t,n,r,a,o){var i=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(n=i&~n;0g&&(i=g,g=h,h=i);var y=nx(l,h),v=nx(l,g);if(y&&v&&(1!==p.rangeCount||p.anchorNode!==y.node||p.anchorOffset!==y.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var b=d.createRange();b.setStart(y.node,y.offset),p.removeAllRanges(),h>g?(p.addRange(b),p.extend(v.node,v.offset)):(b.setEnd(v.node,v.offset),p.addRange(b))}}}}for(d=[],p=l;p=p.parentNode;)1===p.nodeType&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for("function"==typeof l.focus&&l.focus(),l=0;ln?32:n,L.T=null,n=se,se=null;var o=l5,i=l9;if(l8=0,l6=l5=null,l9=0,0!=(6&lD))throw Error(s(331));var l=lD;if(lD|=4,lI(o.current),lw(o,o.current,i,n),lD=l,sq(0,!1),ep&&"function"==typeof ep.onPostCommitFiberRoot)try{ep.onPostCommitFiberRoot(ef,o)}catch(e){}return!0}finally{D.p=a,L.T=r,sR(e,t)}}function sI(e,t,n){t=ru(n,t),t=ig(e.stateNode,t,2),null!==(e=aw(e,t,2))&&(ek(e,2),sG(e))}function sA(e,t,n){if(3===e.tag)sI(e,e,n);else for(;null!==t;){if(3===t.tag){sI(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===l4||!l4.has(r))){e=ru(n,e),null!==(r=aw(t,n=iy(2),2))&&(iv(n,r,t,e),ek(r,2),sG(r));break}}t=t.return}}function sO(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new lL;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(lH=!0,a.add(n),e=sL.bind(null,e,t,n),t.then(e,e))}function sL(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,lM===e&&(lz&n)===n&&(4===lq||3===lq&&(0x3c00000&lz)===lz&&300>eo()-l0?0==(2&lD)&&sf(e,0):lV|=n,lX===lz&&(lX=0)),sG(e)}function sD(e,t){0===t&&(t=eT()),null!==(e=n4(e,t))&&(ek(e,t),sG(e))}function sM(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),sD(e,n)}function sU(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(s(314))}null!==r&&r.delete(t),sD(e,n)}var sz=null,sB=null,sF=!1,sj=!1,s$=!1,sH=0;function sG(e){e!==sB&&null===e.next&&(null===sB?sz=sB=e:sB=sB.next=e),sj=!0,sF||(sF=!0,uT(function(){0!=(6&lD)?et(el,sW):sY()}))}function sq(e,t){if(!s$&&sj){s$=!0;do for(var n=!1,r=sz;null!==r;){if(!t)if(0!==e){var a=r.pendingLanes;if(0===a)var o=0;else{var i=r.suspendedLanes,l=r.pingedLanes;o=0xc000095&(o=(1<<31-em(42|e)+1)-1&(a&~(i&~l)))?0xc000095&o|1:o?2|o:0}0!==o&&(n=!0,sX(r,o))}else o=lz,0==(3&(o=eS(r,r===lM?o:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||eE(r,o)||(n=!0,sX(r,o));r=r.next}while(n)s$=!1}}function sW(){sY()}function sY(){sj=sF=!1;var e,t=0;0===sH||((e=window.event)&&"popstate"===e.type?e===ub||(ub=e,0):(ub=null,1))||(t=sH);for(var n=eo(),r=null,a=sz;null!==a;){var o=a.next,i=sV(a,n);0===i?(a.next=null,null===r?sz=o:r.next=o,null===o&&(sB=r)):(r=a,(0!==t||0!=(3&i))&&(sj=!0)),a=o}0!==l8&&5!==l8||sq(t,!1),0!==sH&&(sH=0)}function sV(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=-0x3c00001&e.pendingLanes;0 title"):null)}function u3(e){return"stylesheet"!==e.type||0!=(3&e.state.loading)}var u4=0;function u8(){if(this.count--,0===this.count&&(0===this.imgCount||!this.waitingForImages)){if(this.stylesheets)u6(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var u5=null;function u6(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,u5=new Map,t.forEach(u9,e),u5=null,u8.call(e))}function u9(e,t){if(!(4&t.state.loading)){var n=u5.get(e);if(n)var r=n.get(null);else{n=new Map,u5.set(e,n);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;otypeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var cU=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!cU.isDisabled&&cU.supportsFiber)try{ef=cU.inject({bundleType:0,version:"19.2.5",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.5"}),ep=cU}catch(e){}}n.createRoot=function(e,t){if(!u(e))throw Error(s(299));var n=!1,r="",a=ic,o=id,i=ip;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onUncaughtError&&(a=t.onUncaughtError),void 0!==t.onCaughtError&&(o=t.onCaughtError),void 0!==t.onRecoverableError&&(i=t.onRecoverableError)),t=ct(e,1,!1,null,null,n,r,null,a,o,i,cO),e[eM]=t.current,s9(e),new cL(t)},n.hydrateRoot=function(e,t,n){if(!u(e))throw Error(s(299));var r,a=!1,o="",i=ic,l=id,c=ip,d=null;return null!=n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(o=n.identifierPrefix),void 0!==n.onUncaughtError&&(i=n.onUncaughtError),void 0!==n.onCaughtError&&(l=n.onCaughtError),void 0!==n.onRecoverableError&&(c=n.onRecoverableError),void 0!==n.formState&&(d=n.formState)),(t=ct(e,1,!0,t,null!=n?n:null,a,o,d,i,l,c,cO)).context=(r=null,n6),n=t.current,(o=aT(a=eC(a=sa()))).callback=null,aw(n,o,a),n=a,t.current.lanes=n,ek(t,n),sG(t),e[eM]=t.current,s9(e),new cD(t)},n.version="19.2.5"},3362,(e,t,n)=>{"use strict";!function e(){if("u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),t.exports=e.r(855852)},645419,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"Portal",{enumerable:!0,get:function(){return o}});let r=e.r(687652),a=e.r(615882),o=({children:e,type:t})=>{let[n,o]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let e=document.createElement(t);return document.body.appendChild(e),o(e),()=>{document.body.removeChild(e)}},[t]),n?(0,a.createPortal)(e,n):null};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},782587,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return l},isEqualNode:function(){return i}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o=e.r(310849);function i(e,t){if(e instanceof HTMLElement&&t instanceof HTMLElement){let n=t.getAttribute("nonce");if(n&&!e.getAttribute("nonce")){let r=t.cloneNode(!0);return r.setAttribute("nonce",""),r.nonce=n,n===e.nonce&&e.isEqualNode(r)}}return e.isEqualNode(t)}function l(){return{mountedInstances:new Set,updateHead:e=>{let t={};e.forEach(e=>{if("link"===e.type&&e.props["data-optimized-fonts"])if(document.querySelector(`style[data-href="${e.props["data-href"]}"]`))return;else e.props.href=e.props["data-href"],e.props["data-href"]=void 0;let n=t[e.type]||[];n.push(e),t[e.type]=n});let n=t.title?t.title[0]:null,r="";if(n){let{children:e}=n.props;r="string"==typeof e?e:Array.isArray(e)?e.join(""):""}r!==document.title&&(document.title=r),["meta","base","link","style","script"].forEach(e=>{!function(e,t){let n=document.querySelector("head");if(!n)return;let r=new Set(n.querySelectorAll(`${e}[data-next-head]`));if("meta"===e){let e=n.querySelector("meta[charset]");null!==e&&r.add(e)}let a=[];for(let e=0;e{"use strict";t.exports=["chrome 111","edge 111","firefox 111","safari 16.4"]},683969,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={UNDERSCORE_GLOBAL_ERROR_ROUTE:function(){return l},UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY:function(){return s},UNDERSCORE_NOT_FOUND_ROUTE:function(){return o},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return i}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o="/_not-found",i=`${o}/page`,l="/_global-error",s=`${l}/page`},324080,(e,t,n)=>{"use strict";var r,a=e.i(710931);Object.defineProperty(n,"__esModule",{value:!0});var o={APP_CLIENT_INTERNALS:function(){return en},APP_PATHS_MANIFEST:function(){return _},APP_PATH_ROUTES_MANIFEST:function(){return S},AdapterOutputType:function(){return d},BARREL_OPTIMIZATION_PREFIX:function(){return Y},BLOCKED_PAGES:function(){return $},BUILD_ID_FILE:function(){return j},BUILD_MANIFEST:function(){return E},CLIENT_PUBLIC_FILES_PATH:function(){return H},CLIENT_REFERENCE_MANIFEST:function(){return V},CLIENT_STATIC_FILES_PATH:function(){return G},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return ee},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return et},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return eo},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return ei},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return er},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return ea},COMPILER_INDEXES:function(){return c},COMPILER_NAMES:function(){return u},CONFIG_FILES:function(){return F},DEFAULT_RUNTIME_WEBPACK:function(){return el},DEFAULT_SANS_SERIF_FONT:function(){return ef},DEFAULT_SERIF_FONT:function(){return ed},DEV_CLIENT_MIDDLEWARE_MANIFEST:function(){return U},DEV_CLIENT_PAGES_MANIFEST:function(){return O},DYNAMIC_CSS_MANIFEST:function(){return Z},EDGE_RUNTIME_WEBPACK:function(){return es},EDGE_UNSUPPORTED_NODE_APIS:function(){return ey},EXPORT_DETAIL:function(){return x},EXPORT_MARKER:function(){return N},FUNCTIONS_CONFIG_MANIFEST:function(){return T},IMAGES_MANIFEST:function(){return I},INTERCEPTION_ROUTE_REWRITE_MANIFEST:function(){return J},MIDDLEWARE_BUILD_MANIFEST:function(){return X},MIDDLEWARE_MANIFEST:function(){return L},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return K},MODERN_BROWSERSLIST_TARGET:function(){return l.default},NEXT_BUILTIN_DOCUMENT:function(){return W},NEXT_FONT_MANIFEST:function(){return k},PAGES_MANIFEST:function(){return b},PHASE_ANALYZE:function(){return p},PHASE_DEVELOPMENT_SERVER:function(){return g},PHASE_EXPORT:function(){return f},PHASE_INFO:function(){return v},PHASE_PRODUCTION_BUILD:function(){return m},PHASE_PRODUCTION_SERVER:function(){return h},PHASE_TEST:function(){return y},PREFETCH_HINTS:function(){return C},PRERENDER_MANIFEST:function(){return R},REACT_LOADABLE_MANIFEST:function(){return z},ROUTES_MANIFEST:function(){return P},RSC_MODULE_TYPES:function(){return eg},SERVER_DIRECTORY:function(){return B},SERVER_FILES_MANIFEST:function(){return A},SERVER_PROPS_ID:function(){return ec},SERVER_REFERENCE_MANIFEST:function(){return Q},STATIC_PROPS_ID:function(){return eu},STATIC_STATUS_PAGES:function(){return ep},STRING_LITERAL_DROP_BUNDLE:function(){return q},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return w},SYSTEM_ENTRYPOINTS:function(){return ev},TRACE_OUTPUT_VERSION:function(){return em},TURBOPACK_CLIENT_BUILD_MANIFEST:function(){return M},TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST:function(){return D},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return eh},UNDERSCORE_GLOBAL_ERROR_ROUTE:function(){return s.UNDERSCORE_GLOBAL_ERROR_ROUTE},UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY:function(){return s.UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY},UNDERSCORE_NOT_FOUND_ROUTE:function(){return s.UNDERSCORE_NOT_FOUND_ROUTE},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return s.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY}};for(var i in o)Object.defineProperty(n,i,{enumerable:!0,get:o[i]});let l=e.r(2879)._(e.r(425862)),s=e.r(683969),u={client:"client",server:"server",edgeServer:"edge-server"},c={[u.client]:0,[u.server]:1,[u.edgeServer]:2};var d=((r={}).PAGES="PAGES",r.PAGES_API="PAGES_API",r.APP_PAGE="APP_PAGE",r.APP_ROUTE="APP_ROUTE",r.PRERENDER="PRERENDER",r.STATIC_FILE="STATIC_FILE",r.MIDDLEWARE="MIDDLEWARE",r);let f="phase-export",p="phase-analyze",m="phase-production-build",h="phase-production-server",g="phase-development-server",y="phase-test",v="phase-info",b="pages-manifest.json",_="app-paths-manifest.json",S="app-path-routes-manifest.json",E="build-manifest.json",T="functions-config-manifest.json",w="subresource-integrity-manifest",k="next-font-manifest",N="export-marker.json",x="export-detail.json",R="prerender-manifest.json",C="prefetch-hints.json",P="routes-manifest.json",I="images-manifest.json",A="required-server-files",O="_devPagesManifest.json",L="middleware-manifest.json",D="_clientMiddlewareManifest.js",M="client-build-manifest.json",U="_devMiddlewareManifest.json",z="react-loadable-manifest.json",B="server",F=["next.config.js","next.config.mjs","next.config.ts",...a.default?.features?.typescript?["next.config.mts"]:[]],j="BUILD_ID",$=["/_document","/_app","/_error"],H="public",G="static",q="__NEXT_DROP_CLIENT_FILE__",W="__NEXT_BUILTIN_DOCUMENT__",Y="__barrel_optimize__",V="client-reference-manifest",Q="server-reference-manifest",X="middleware-build-manifest",K="middleware-react-loadable-manifest",J="interception-route-rewrite-manifest",Z="dynamic-css-manifest",ee="main",et=`${ee}-app`,en="app-pages-internals",er="react-refresh",ea="webpack",eo="polyfills",ei=Symbol(eo),el="webpack-runtime",es="edge-runtime-webpack",eu="__N_SSG",ec="__N_SSP",ed={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},ef={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},ep=["/500"],em=1,eh=6e3,eg={client:"client",server:"server"},ey=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],ev=new Set([ee,er,et]);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},212547,(e,t,n)=>{"use strict";var r=e.i(710931);Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return m}});let a=e.r(2879),o=e.r(417572),i=e.r(337991),l=a._(e.r(332806)),s=e.r(441526),u=e.r(321238),c=e.r(183530),d=e.r(320989),f=e.r(381361);e.r(324080);let p=e.r(330681);class m{constructor(e,t){this.routeLoader=(0,f.createRouteLoader)(t),this.buildId=e,this.assetPrefix=t,this.promisedSsgManifest=new Promise(e=>{window.__SSG_MANIFEST?e(window.__SSG_MANIFEST):window.__SSG_MANIFEST_CB=()=>{e(window.__SSG_MANIFEST)}})}getPageList(){return(0,f.getClientBuildManifest)().then(e=>e.sortedPages)}getMiddleware(){if(r.default.env.__NEXT_MIDDLEWARE_MATCHERS){let e=r.default.env.__NEXT_MIDDLEWARE_MATCHERS;return window.__MIDDLEWARE_MATCHERS=e||void 0,window.__MIDDLEWARE_MATCHERS}if(window.__MIDDLEWARE_MATCHERS)return window.__MIDDLEWARE_MATCHERS;{let e=new Promise(e=>{let t=self.__MIDDLEWARE_MATCHERS_CB;self.__MIDDLEWARE_MATCHERS_CB=()=>{e(self.__MIDDLEWARE_MATCHERS),t&&t()}});return(0,p.resolvePromiseWithTimeout)(e,(0,f.markAssetError)(Object.defineProperty(Error("Failed to load client middleware manifest"),"__NEXT_ERROR_CODE",{value:"E980",enumerable:!1,configurable:!0})),void 0)}}getDataHref(e){var t;let n,{asPath:r,href:a,locale:f}=e,{pathname:p,query:m,search:h}=(0,c.parseRelativeUrl)(a),{pathname:g}=(0,c.parseRelativeUrl)(r),y=(0,d.removeTrailingSlash)(p);if("/"!==y[0])throw Object.defineProperty(Error(`Route name should start with a "/", got "${y}"`),"__NEXT_ERROR_CODE",{value:"E303",enumerable:!1,configurable:!0});return t=e.skipInterpolation?g:(0,u.isDynamicRoute)(y)?(0,i.interpolateAs)(p,g,m).result:y,n=(0,l.default)((0,d.removeTrailingSlash)((0,s.addLocale)(t,f)),".json"),(0,o.addBasePath)(`/_next/data/${this.buildId}${n}${h}`,!0)}_isSsg(e){return this.promisedSsgManifest.then(t=>t.has(e))}loadPage(e){return this.routeLoader.loadRoute(e).then(e=>{if("component"in e)return{page:e.component,mod:e.exports,styleSheets:e.styles.map(e=>({href:e.href,text:e.content}))};throw e.error})}prefetch(e){return this.routeLoader.prefetch(e)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},402321,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={RouteAnnouncer:function(){return c},default:function(){return d}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o=e.r(2879),i=e.r(318008),l=o._(e.r(687652)),s=e.r(812444),u={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",top:0,width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},c=()=>{let{asPath:e}=(0,s.useRouter)(),[t,n]=l.default.useState(""),r=l.default.useRef(e);return l.default.useEffect(()=>{if(r.current!==e)if(r.current=e,document.title)n(document.title);else{let t=document.querySelector("h1");n((t?.innerText??t?.textContent)||e)}},[e]),(0,i.jsx)("p",{"aria-live":"assertive",id:"__next-route-announcer__",role:"alert",style:u,children:t})},d=c;("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},543127,(e,t,n)=>{"use strict";function r(e){return new URL(e,"http://n").searchParams}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"asPathToSearchParams",{enumerable:!0,get:function(){return r}})},609896,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={PathnameContextProviderAdapter:function(){return h},adaptForAppRouterInstance:function(){return f},adaptForPathParams:function(){return m},adaptForSearchParams:function(){return p}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o=e.r(887602),i=e.r(318008),l=o._(e.r(687652)),s=e.r(153400),u=e.r(315500),c=e.r(543127),d=e.r(948805);function f(e){return{back(){e.back()},forward(){e.forward()},refresh(){e.reload()},hmrRefresh(){},push(t,{scroll:n}={}){e.push(t,void 0,{scroll:n})},replace(t,{scroll:n}={}){e.replace(t,void 0,{scroll:n})},prefetch(t){e.prefetch(t)}}}function p(e){return e.isReady&&e.query?(0,c.asPathToSearchParams)(e.asPath):new URLSearchParams}function m(e){if(!e.isReady||!e.query)return null;let t={};for(let n of Object.keys((0,d.getRouteRegex)(e.pathname).groups))t[n]=e.query[n];return t}function h({children:e,router:t,...n}){let r=(0,l.useRef)(n.isAutoExport),a=(0,l.useMemo)(()=>{let e,n=r.current;if(n&&(r.current=!1),(0,u.isDynamicRoute)(t.pathname)&&(t.isFallback||n&&!t.isReady))return null;try{e=new URL(t.asPath,"http://f")}catch(e){return"/"}return e.pathname},[t.asPath,t.isFallback,t.isReady,t.pathname]);return(0,i.jsx)(s.PathnameContext.Provider,{value:a,children:e})}},458627,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"reportGlobalError",{enumerable:!0,get:function(){return r}});let r="function"==typeof reportError?reportError:e=>{globalThis.console.error(e)};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},394173,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={isRecoverableError:function(){return c},onRecoverableError:function(){return d}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o=e.r(2879),i=e.r(456737),l=o._(e.r(646286)),s=e.r(458627),u=new WeakSet;function c(e){return u.has(e)}let d=e=>{let t=(0,l.default)(e)&&"cause"in e?e.cause:e;(0,i.isBailoutToCSRError)(t)||(0,s.reportGlobalError)(t)};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},765161,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return o}});let r=e.r(2879)._(e.r(321774));class a{constructor(e,t,n){this.name=e,this.attributes=t.attributes??{},this.startTime=t.startTime??Date.now(),this.onSpanEnd=n,this.state={state:"inprogress"}}end(e){if("ended"===this.state.state)throw Object.defineProperty(Error("Span has already ended"),"__NEXT_ERROR_CODE",{value:"E17",enumerable:!1,configurable:!0});this.state={state:"ended",endTime:e??Date.now()},this.onSpanEnd(this)}}let o=new class{startSpan(e,t){return new a(e,t,this.handleSpanEnd)}onSpanEnd(e){return this._emitter.on("spanend",e),()=>{this._emitter.off("spanend",e)}}constructor(){this._emitter=(0,r.default)(),this.handleSpanEnd=e=>{this._emitter.emit("spanend",e)}}};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},778414,(e,t,n)=>{"use strict";let r,a,o,i,l,s,u,c,d,f,p,m;Object.defineProperty(n,"__esModule",{value:!0});var h={emitter:function(){return $},hydrate:function(){return ef},initialize:function(){return q},router:function(){return r},version:function(){return j}};for(var g in h)Object.defineProperty(n,g,{enumerable:!0,get:h[g]});let y=e.r(2879),v=e.r(318008);e.r(465906);let b=y._(e.r(687652)),_=y._(e.r(3362)),S=e.r(85373),E=y._(e.r(321774)),T=e.r(655337),w=e.r(502311),k=e.r(321238),N=e.r(220877),x=e.r(8929),R=e.r(645419),C=y._(e.r(782587)),P=y._(e.r(212547)),I=e.r(402321),A=e.r(812444),O=e.r(646286),L=e.r(646403),D=e.r(155659),M=e.r(346108),U=e.r(914463),z=e.r(609896),B=e.r(153400),F=e.r(394173);e.r(765161),e.r(592707);let j="16.2.3",$=(0,E.default)(),H=!1;class G extends b.default.Component{componentDidCatch(e,t){this.props.fn(e,t)}componentDidMount(){this.scrollToHash(),r.isSsr&&(a.isFallback||a.nextExport&&((0,k.isDynamicRoute)(r.pathname)||location.search||H)||a.props&&a.props.__N_SSG&&(location.search||H))&&r.replace(r.pathname+"?"+String((0,N.assign)((0,N.urlQueryToSearchParams)(r.query),new URLSearchParams(location.search))),o,{_h:1,shallow:!a.isFallback&&!H}).catch(e=>{if(!e.cancelled)throw e})}componentDidUpdate(){this.scrollToHash()}scrollToHash(){let{hash:e}=location;if(!(e=e&&e.substring(1)))return;let t=document.getElementById(e);t&&setTimeout(()=>t.scrollIntoView(),0)}render(){return this.props.children}}async function q(t={}){a=JSON.parse(document.getElementById("__NEXT_DATA__").textContent),window.__NEXT_DATA__=a,m=a.defaultLocale;let n=a.assetPrefix||"";self.__next_set_public_path__(`${n}/_next/`),o=(0,x.getURL)(),(0,M.hasBasePath)(o)&&(o=(0,D.removeBasePath)(o));{let{normalizeLocalePath:t}=e.r(47776),{detectDomainLocale:n}=e.r(890020),{parseRelativeUrl:r}=e.r(183530),{formatUrl:i}=e.r(439837);if(a.locales){let e=r(o),l=t(e.pathname,a.locales);l.detectedLocale?(e.pathname=l.pathname,o=i(e)):m=a.locale;let s=n([{domain:"www.slideshare.net",defaultLocale:"en"},{domain:"de.slideshare.net",defaultLocale:"de"},{domain:"es.slideshare.net",defaultLocale:"es"},{domain:"pt.slideshare.net",defaultLocale:"pt"},{domain:"fr.slideshare.net",defaultLocale:"fr"}],window.location.hostname);s&&(m=s.defaultLocale)}}if(a.scriptLoader){let{initScriptLoader:t}=e.r(23331);t(a.scriptLoader)}i=new P.default(a.buildId,n);let u=([e,t])=>i.routeLoader.onEntrypoint(e,t);return window.__NEXT_P&&window.__NEXT_P.map(e=>setTimeout(()=>u(e),0)),window.__NEXT_P=[],window.__NEXT_P.push=u,(s=(0,C.default)()).getIsSsr=()=>r.isSsr,l=document.getElementById("__next"),{assetPrefix:n}}function W(e,t){return(0,v.jsx)(e,{...t})}function Y({children:e}){let t=b.default.useMemo(()=>(0,z.adaptForAppRouterInstance)(r),[]);return(0,v.jsx)(G,{fn:e=>Q({App:d,err:e}).catch(e=>console.error("Error rendering page: ",e)),children:(0,v.jsx)(U.AppRouterContext.Provider,{value:t,children:(0,v.jsx)(B.SearchParamsContext.Provider,{value:(0,z.adaptForSearchParams)(r),children:(0,v.jsx)(z.PathnameContextProviderAdapter,{router:r,isAutoExport:self.__NEXT_DATA__.autoExport??!1,children:(0,v.jsx)(B.PathParamsContext.Provider,{value:(0,z.adaptForPathParams)(r),children:(0,v.jsx)(T.RouterContext.Provider,{value:(0,A.makePublicRouterInstance)(r),children:(0,v.jsx)(S.HeadManagerContext.Provider,{value:s,children:(0,v.jsx)(L.ImageConfigContext.Provider,{value:{deviceSizes:[],imageSizes:[],qualities:[75],path:"/_next/image/",loader:"custom",dangerouslyAllowSVG:!1,unoptimized:!1},children:e})})})})})})})})}let V=e=>t=>{let n={...t,Component:p,err:a.err,router:r};return(0,v.jsx)(Y,{children:W(e,n)})};function Q(t){let{App:n,err:l}=t;return console.error(l),console.error("A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred"),i.loadPage("/_error").then(({page:r,styleSheets:a})=>u?.Component===r?e.A(163192).then(r=>e.A(186384).then(e=>(t.App=n=e.default,r))).then(e=>({ErrorComponent:e.default,styleSheets:[]})):{ErrorComponent:r,styleSheets:a}).then(({ErrorComponent:e,styleSheets:i})=>{let s=V(n),u={Component:e,AppTree:s,router:r,ctx:{err:l,pathname:a.page,query:a.query,asPath:o,AppTree:s}};return Promise.resolve(t.props?.err?t.props:(0,x.loadGetInitialProps)(n,u)).then(n=>ec({...t,err:l,Component:e,styleSheets:i,props:n}))})}function X({callback:e}){return b.default.useLayoutEffect(()=>e(),[e]),null}let K="beforeRender",J="afterRender",Z="afterHydrate",ee="routeChange",et="Next.js-hydration",en="Next.js-route-change-to-render",er="Next.js-render",ea=null,eo=!0;function ei(){[K,Z,J,ee].forEach(e=>performance.clearMarks(e))}function el(){x.ST&&(performance.mark(Z),performance.getEntriesByName(K,"mark").length&&(performance.measure("Next.js-before-hydration","navigationStart",K),performance.measure(et,K,Z)),f&&performance.getEntriesByName(et).forEach(f),ei())}function es(){if(!x.ST)return;performance.mark(J);let e=performance.getEntriesByName(ee,"mark");e.length&&(performance.getEntriesByName(K,"mark").length&&(performance.measure(en,e[0].name,K),performance.measure(er,K,J),f&&(performance.getEntriesByName(er).forEach(f),performance.getEntriesByName(en).forEach(f))),ei(),[en,er].forEach(e=>performance.clearMeasures(e)))}function eu({callbacks:e,children:t}){return b.default.useLayoutEffect(()=>e.forEach(e=>e()),[e]),t}function ec(e){var t,n;let a,o,{App:i,Component:s,props:d,err:f}=e,p="initial"in e?void 0:e.styleSheets;s=s||u.Component;let m={...d=d||u.props,Component:s,err:f,router:r};u=m;let h=new Promise((e,t)=>{c&&c(),o=()=>{c=null,e()},c=()=>{c=null;let e=Object.defineProperty(Error("Cancel rendering route"),"__NEXT_ERROR_CODE",{value:"E503",enumerable:!1,configurable:!0});e.cancelled=!0,t(e)}});function g(){o()}!function(){let e;if(!p)return;let t=new Set((e=document.querySelectorAll("style[data-n-href]"),[].slice.call(e)).map(e=>e.getAttribute("data-n-href"))),n=document.querySelector("noscript[data-n-css]"),r=n?.getAttribute("data-n-css");p.forEach(({href:e,text:n})=>{if(!t.has(e)){let t=document.createElement("style");t.setAttribute("data-n-href",e),t.setAttribute("media","x"),r&&t.setAttribute("nonce",r),document.head.appendChild(t),t.appendChild(document.createTextNode(n))}})}();let y=(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(X,{callback:function(){if(e.scroll){let{x:t,y:n}=e.scroll;(0,w.disableSmoothScrollDuringRouteTransition)(()=>{window.scrollTo(t,n)})}}}),(0,v.jsxs)(Y,{children:[W(i,m),(0,v.jsx)(R.Portal,{type:"next-route-announcer",children:(0,v.jsx)(I.RouteAnnouncer,{})})]})]});return t=l,n=e=>(0,v.jsx)(eu,{callbacks:[e,g],children:y}),x.ST&&performance.mark(K),a=n(eo?el:es),ea?(0,b.default.startTransition)(()=>{ea.render(a)}):(ea=_.default.hydrateRoot(t,a,{onRecoverableError:F.onRecoverableError}),eo=!1),h}async function ed(e){if(e.err&&(void 0===e.Component||!e.isHydratePass))return void await Q(e);try{await ec(e)}catch(n){let t=(0,O.getProperError)(n);if(t.cancelled)throw t;await Q({...e,err:t})}}async function ef(e){let t=a.err;try{let e=await i.routeLoader.whenEntrypoint("/_app");if("error"in e)throw e.error;let{component:t,exports:n}=e;d=t,n&&n.reportWebVitals&&(f=({id:e,name:t,startTime:r,value:a,duration:o,entryType:i,entries:l,attribution:s})=>{let u,c=`${Date.now()}-${Math.floor(Math.random()*(9e12-1))+1e12}`;l&&l.length&&(u=l[0].startTime);let d={id:e||c,name:t,startTime:r||u,value:null==a?o:a,label:"mark"===i||"measure"===i?"custom":"web-vital"};s&&(d.attribution=s),n.reportWebVitals(d)});let r=await i.routeLoader.whenEntrypoint(a.page);if("error"in r)throw r.error;p=r.component}catch(e){t=(0,O.getProperError)(e)}window.__NEXT_PRELOADREADY&&await window.__NEXT_PRELOADREADY(a.dynamicIds),r=(0,A.createRouter)(a.page,a.query,o,{initialProps:a.props,pageLoader:i,App:d,Component:p,wrapApp:V,err:t,isFallback:!!a.isFallback,subscription:(e,t,n)=>ed(Object.assign({},e,{App:t,scroll:n})),locale:a.locale,locales:a.locales,defaultLocale:m,domainLocales:a.domainLocales,isPreview:a.isPreview}),H=await r._initialMatchesMiddlewarePromise;let n={App:d,initial:!0,Component:p,props:a.props,err:t,isHydratePass:!0};e?.beforeRender&&await e.beforeRender(),ed(n)}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},448911,(e,t,n)=>{"use strict";function r(){return new Promise(e=>{var t;t=function(){for(var t=document.querySelectorAll("[data-next-hide-fouc]"),n=t.length;n--;)t[n].parentNode.removeChild(t[n]);e()},window.requestAnimationFrame&&window.self===window.top?window.requestAnimationFrame(t):window.setTimeout(t)})}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"displayContent",{enumerable:!0,get:function(){return r}}),("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},920090,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),e.r(584733),e.r(770159);let r=e.r(778414),a=e.r(448911);window.next={version:r.version,turbopack:!0,get router(){return r.router},emitter:r.emitter},self.__next_set_public_path__=()=>{},self.__webpack_hash__="",(0,r.initialize)({}).then(()=>(self.__turbopack_load_page_chunks__=(t,n)=>{Promise.all(n.map(t=>e.l(t))).catch(e=>console.error("failed to load chunks for page "+t,e))},(0,r.hydrate)({beforeRender:a.displayContent}))).catch(e=>{console.error("Error was not caught",e)}),("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)}]); //# debugId=50598d22-f811-c932-ce20-1290bdd1641c //# sourceMappingURL=0cn~9pvtnb-n~.js.map