diff --git a/out/2021/speakers/speakergrid/index.html b/out/2021/speakers/speakergrid/index.html index 1ad0370d..3e187d84 100644 --- a/out/2021/speakers/speakergrid/index.html +++ b/out/2021/speakers/speakergrid/index.html @@ -1 +1 @@ -Speakers 2021

Click on the images of our wonderful speakers to find out more about them and what they will be talking about.

\ No newline at end of file +Speakers 2021

Click on the images of our wonderful speakers to find out more about them and what they will be talking about.

\ No newline at end of file diff --git a/out/2023/hacktober/index.html b/out/2023/hacktober/index.html index 3c5013a6..bbad9c12 100644 --- a/out/2023/hacktober/index.html +++ b/out/2023/hacktober/index.html @@ -1 +1 @@ -HacktoberFest 2023

This years Hacktoberfest corner is being supported by NewDay. Head over to their area on the 7th October at DDD East Midlands conference for more information on how to take part.

Introduction To Hacktoberfest

Hacktoberfest is a month-long celebration of Free and Open Source software during October, which is organised by Digital Ocean. It aims to get more folks dipping their toes in contributing to Free and Open Source software, and showing everyone that there's more to a project than just code!

HacktoberFest is there to encourage you to take part in Open Source. If you are beginner there are many ways to find issues you can help with which you can read about here. In return for braving the world of OSS (Open Source Software), you get some awesome Hacktoberfest swag including t-shirts and stickers.

Contribute to DDD East Midlands

There are a number of issues that can be picked up on the DDD East Midlands repositories. We have labelled the issues with up-for-grabs, hacktober if we think they are small enough to be picked up for a PR.

  • Pick up an issue.
  • Write a blog post.
  • Fix spelling mistakes.
  • Raise an issue.

Below are links to the DDD East Midlands repositories.

DDD East Midlands Website Repository


First PR?

Add your name!

List yourself as someone who has taken part.

How to do this?

Some information about HacktoberFest and how to contribute can be read about in this linked blog post. Below are some instructions on how to make changes to this page.

Fork the repository

Create a branch

  • In your forked repository create a branch, which is named according to the contribution guidelines for the repository.
  • If there are no guidelines available, give your branch a short name that summarises your changes.

Add your change to this page

  • Add your name topages/2023/hacktoberfest.js page under the "Hacktoberfest Corner Contributors!" section.

Run prettier

In your terminal of choice (command line, bash etc) run the command `npm run prettier:fix`. This will fix the formatting in your changes.

Commit, push and raise a Pull Request

Ask for Help!

If you need some help, ask any one of our fantastic Hacktoberfest volunteers!

Hacktoberfest Corner Contributors!

  • Jessica Brentnall
  • \ No newline at end of file +HacktoberFest 2023

    This years Hacktoberfest corner is being supported by NewDay. Head over to their area on the 7th October at DDD East Midlands conference for more information on how to take part.

    Introduction To Hacktoberfest

    Hacktoberfest is a month-long celebration of Free and Open Source software during October, which is organised by Digital Ocean. It aims to get more folks dipping their toes in contributing to Free and Open Source software, and showing everyone that there's more to a project than just code!

    HacktoberFest is there to encourage you to take part in Open Source. If you are beginner there are many ways to find issues you can help with which you can read about here. In return for braving the world of OSS (Open Source Software), you get some awesome Hacktoberfest swag including t-shirts and stickers.

    Contribute to DDD East Midlands

    There are a number of issues that can be picked up on the DDD East Midlands repositories. We have labelled the issues with up-for-grabs, hacktober if we think they are small enough to be picked up for a PR.

    • Pick up an issue.
    • Write a blog post.
    • Fix spelling mistakes.
    • Raise an issue.

    Below are links to the DDD East Midlands repositories.

    DDD East Midlands Website Repository


    First PR?

    Add your name!

    List yourself as someone who has taken part.

    How to do this?

    Some information about HacktoberFest and how to contribute can be read about in this linked blog post. Below are some instructions on how to make changes to this page.

    Fork the repository

    Create a branch

    • In your forked repository create a branch, which is named according to the contribution guidelines for the repository.
    • If there are no guidelines available, give your branch a short name that summarises your changes.

    Add your change to this page

    • Add your name topages/2023/hacktoberfest.js page under the "Hacktoberfest Corner Contributors!" section.

    Run prettier

    In your terminal of choice (command line, bash etc) run the command `npm run prettier:fix`. This will fix the formatting in your changes.

    Commit, push and raise a Pull Request

    Ask for Help!

    If you need some help, ask any one of our fantastic Hacktoberfest volunteers!

    Hacktoberfest Corner Contributors!

  • Jessica Brentnall
  • \ No newline at end of file diff --git a/out/2023/notable-companies/index.html b/out/2023/notable-companies/index.html index 398c6ef6..ae59029c 100644 --- a/out/2023/notable-companies/index.html +++ b/out/2023/notable-companies/index.html @@ -1 +1 @@ -Sponsors and Partners

    Sponsors


    Partners

    \ No newline at end of file +Sponsors and Partners

    Sponsors


    Partners

    \ No newline at end of file diff --git a/out/404.html b/out/404.html index aaa03ffb..010710ff 100644 --- a/out/404.html +++ b/out/404.html @@ -1 +1 @@ -404: This page could not be found

    404

    This page could not be found.

    \ No newline at end of file +404: This page could not be found

    404

    This page could not be found.

    \ No newline at end of file diff --git a/out/404/index.html b/out/404/index.html index aaa03ffb..010710ff 100644 --- a/out/404/index.html +++ b/out/404/index.html @@ -1 +1 @@ -404: This page could not be found

    404

    This page could not be found.

    \ No newline at end of file +404: This page could not be found

    404

    This page could not be found.

    \ No newline at end of file diff --git a/out/_next/static/chunks/9829-5d0067eef43b3992.js b/out/_next/static/chunks/9829-5d0067eef43b3992.js new file mode 100644 index 00000000..900ee0ac --- /dev/null +++ b/out/_next/static/chunks/9829-5d0067eef43b3992.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9829],{8658:function(e,t){"use strict";t.DF={prefix:"fab",iconName:"github",icon:[496,512,[],"f09b","M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"]},t.zh=t.DF},8279:function(e,t){"use strict";t.DF={prefix:"fab",iconName:"instagram",icon:[448,512,[],"f16d","M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"]},t.Zz=t.DF},8259:function(e,t){"use strict";t.DF={prefix:"fab",iconName:"linkedin",icon:[448,512,[],"f08c","M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"]},t.D9=t.DF},338:function(e,t){"use strict";t.DF={prefix:"fab",iconName:"mastodon",icon:[448,512,[],"f4f6","M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"]},t.ky=t.DF},8138:function(e,t){"use strict";t.DF={prefix:"fab",iconName:"youtube",icon:[576,512,[61802],"f167","M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"]},t.op=t.DF},7814:function(e,t,n){"use strict";n.d(t,{G:function(){return h}});var r=n(3636),a=n(5697),o=n.n(a),i=n(7294);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0||!Array.isArray(t)&&t?u({},e,t):{}}var g={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},h=i.forwardRef(function(e,t){var n,a,o,i,c,l,d,p,m,h,w,j,x,P,k,E,S,C,N,D=s(s({},g),e),A=D.icon,R=D.mask,Z=D.symbol,T=D.className,M=D.title,_=D.titleId,L=D.maskId,I=v(A),z=y("classes",[].concat(f((a=D.beat,o=D.fade,i=D.beatFade,c=D.bounce,l=D.shake,d=D.flash,p=D.spin,m=D.spinPulse,h=D.spinReverse,w=D.pulse,j=D.fixedWidth,x=D.inverse,P=D.border,k=D.listItem,E=D.flip,S=D.size,C=D.rotation,N=D.pull,Object.keys((u(n={"fa-beat":a,"fa-fade":o,"fa-beat-fade":i,"fa-bounce":c,"fa-shake":l,"fa-flash":d,"fa-spin":p,"fa-spin-reverse":h,"fa-spin-pulse":m,"fa-pulse":w,"fa-fw":j,"fa-inverse":x,"fa-border":P,"fa-li":k,"fa-flip":!0===E,"fa-flip-horizontal":"horizontal"===E||"both"===E,"fa-flip-vertical":"vertical"===E||"both"===E},"fa-".concat(S),null!=S),u(n,"fa-rotate-".concat(C),null!=C&&0!==C),u(n,"fa-pull-".concat(N),null!=N),u(n,"fa-swap-opacity",D.swapOpacity),n)).map(function(e){return n[e]?e:null}).filter(function(e){return e}))),f((T||"").split(" ")))),F=y("transform","string"==typeof D.transform?r.Qc.transform(D.transform):D.transform),B=y("mask",v(R)),H=(0,r.qv)(I,s(s(s(s({},z),F),B),{},{symbol:Z,title:M,titleId:_,maskId:L}));if(!H)return!function(){if(!b&&console&&"function"==typeof console.error){var e;(e=console).error.apply(e,arguments)}}("Could not find icon",I),null;var W=H.abstract,V={ref:t};return Object.keys(D).forEach(function(e){g.hasOwnProperty(e)||(V[e]=D[e])}),O(W[0],V)});h.displayName="FontAwesomeIcon",h.propTypes={beat:o().bool,border:o().bool,beatFade:o().bool,bounce:o().bool,className:o().string,fade:o().bool,flash:o().bool,mask:o().oneOfType([o().object,o().array,o().string]),maskId:o().string,fixedWidth:o().bool,inverse:o().bool,flip:o().oneOf([!0,!1,"horizontal","vertical","both"]),icon:o().oneOfType([o().object,o().array,o().string]),listItem:o().bool,pull:o().oneOf(["right","left"]),pulse:o().bool,rotation:o().oneOf([0,90,180,270]),shake:o().bool,size:o().oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:o().bool,spinPulse:o().bool,spinReverse:o().bool,symbol:o().oneOfType([o().bool,o().string]),title:o().string,titleId:o().string,transform:o().oneOfType([o().string,o().object]),swapOpacity:o().bool};var O=(function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof n)return n;var a=(n.children||[]).map(function(n){return e(t,n)}),o=Object.keys(n.attributes||{}).reduce(function(e,t){var r=n.attributes[t];switch(t){case"class":e.attrs.className=r,delete n.attributes.class;break;case"style":e.attrs.style=r.split(";").map(function(e){return e.trim()}).filter(function(e){return e}).reduce(function(e,t){var n=t.indexOf(":"),r=p(t.slice(0,n)),a=t.slice(n+1).trim();return r.startsWith("webkit")?e[r.charAt(0).toUpperCase()+r.slice(1)]=a:e[r]=a,e},{});break;default:0===t.indexOf("aria-")||0===t.indexOf("data-")?e.attrs[t.toLowerCase()]=r:e.attrs[p(t)]=r}return e},{attrs:{}}),i=r.style,c=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(r,m);return o.attrs.style=s(s({},o.attrs.style),void 0===i?{}:i),t.apply(void 0,[n.tag,s(s({},o.attrs),c)].concat(f(a)))}).bind(null,i.createElement)},9028:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294);function a(){return(0,r.useState)(null)}},2029:function(e,t,n){"use strict";var r=n(7294);t.Z=function(e){let t=(0,r.useRef)(e);return(0,r.useEffect)(()=>{t.current=e},[e]),t}},8146:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294),a=n(2029);function o(e){let t=(0,a.Z)(e);return(0,r.useCallback)(function(...e){return t.current&&t.current(...e)},[t])}},5111:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294),a=n(8146);function o(e,t,n,o=!1){let i=(0,a.Z)(n);(0,r.useEffect)(()=>{let n="function"==typeof e?e():e;return n.addEventListener(t,i,o),()=>n.removeEventListener(t,i,o)},[e])}},4357:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294);function a(){let[,e]=(0,r.useReducer)(e=>!e,!1);return e}},9585:function(e,t,n){"use strict";var r=n(7294);let a=void 0!==n.g&&n.g.navigator&&"ReactNative"===n.g.navigator.product,o="undefined"!=typeof document;t.Z=o||a?r.useLayoutEffect:r.useEffect},5654:function(e,t,n){"use strict";var r=n(7294);let a=e=>e&&"function"!=typeof e?t=>{e.current=t}:e;t.Z=function(e,t){return(0,r.useMemo)(()=>(function(e,t){let n=a(e),r=a(t);return e=>{n&&n(e),r&&r(e)}})(e,t),[e,t])}},6454:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294);function a(){let e=(0,r.useRef)(!0),t=(0,r.useRef)(()=>e.current);return(0,r.useEffect)(()=>(e.current=!0,()=>{e.current=!1}),[]),t.current}},8833:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294);function a(e){let t=(0,r.useRef)(null);return(0,r.useEffect)(()=>{t.current=e}),t.current}},3551:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var r=n(7294);n(9028),n(2029);var a=n(8146);n(5111),n(6454),n(8833),n(9585),new WeakMap;var o=n(861),i=n(5893);let c=["onKeyDown"],s=r.forwardRef((e,t)=>{var n;let{onKeyDown:r}=e,s=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,c),[l]=(0,o.FT)(Object.assign({tagName:"a"},s)),u=(0,a.Z)(e=>{l.onKeyDown(e),null==r||r(e)});return(n=s.href)&&"#"!==n.trim()&&"button"!==s.role?(0,i.jsx)("a",Object.assign({ref:t},s,{onKeyDown:r})):(0,i.jsx)("a",Object.assign({ref:t},s,l,{onKeyDown:u}))});s.displayName="Anchor";var l=s},861:function(e,t,n){"use strict";n.d(t,{FT:function(){return i}});var r=n(7294),a=n(5893);let o=["as","disabled"];function i({tagName:e,disabled:t,href:n,target:r,rel:a,role:o,onClick:i,tabIndex:c=0,type:s}){e||(e=null!=n||null!=r||null!=a?"a":"button");let l={tagName:e};if("button"===e)return[{type:s||"button",disabled:t},l];let u=r=>{var a;if(!t&&("a"!==e||(a=n)&&"#"!==a.trim())||r.preventDefault(),t){r.stopPropagation();return}null==i||i(r)};return"a"===e&&(n||(n="#"),t&&(n=void 0)),[{role:null!=o?o:"button",disabled:void 0,tabIndex:t?void 0:c,href:n,target:"a"===e?r:void 0,"aria-disabled":t||void 0,rel:"a"===e?a:void 0,onClick:u,onKeyDown:e=>{" "===e.key&&(e.preventDefault(),u(e))}},l]}let c=r.forwardRef((e,t)=>{let{as:n,disabled:r}=e,c=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,o),[s,{tagName:l}]=i(Object.assign({tagName:n,disabled:r},c));return(0,a.jsx)(l,Object.assign({},c,s,{ref:t}))});c.displayName="Button",t.ZP=c},2747:function(e,t,n){"use strict";function r(e){return`data-rr-ui-${e}`}function a(e){return`rrUi${e}`}n.d(t,{$F:function(){return a},PB:function(){return r}})},6056:function(e,t,n){"use strict";let r=n(7294).createContext(null);r.displayName="NavContext",t.Z=r},3716:function(e,t,n){"use strict";n.d(t,{v:function(){return d}});var r=n(7294),a=n(8146),o=n(6056),i=n(7126),c=n(861),s=n(2747),l=n(6626),u=n(5893);let f=["as","active","eventKey"];function d({key:e,onClick:t,active:n,id:c,role:u,disabled:f}){let d=(0,r.useContext)(i.Z),p=(0,r.useContext)(o.Z),m=(0,r.useContext)(l.Z),b=n,v={role:u};if(p){u||"tablist"!==p.role||(v.role="tab");let t=p.getControllerId(null!=e?e:null),r=p.getControlledId(null!=e?e:null);v[(0,s.PB)("event-key")]=e,v.id=t||c,((b=null==n&&null!=e?p.activeKey===e:n)||!(null!=m&&m.unmountOnExit)&&!(null!=m&&m.mountOnEnter))&&(v["aria-controls"]=r)}return"tab"===v.role&&(v["aria-selected"]=b,b||(v.tabIndex=-1),f&&(v.tabIndex=-1,v["aria-disabled"]=!0)),v.onClick=(0,a.Z)(n=>{f||(null==t||t(n),null!=e&&d&&!n.isPropagationStopped()&&d(e,n))}),[v,{isActive:b}]}let p=r.forwardRef((e,t)=>{let{as:n=c.ZP,active:r,eventKey:a}=e,o=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,f),[l,p]=d(Object.assign({key:(0,i.h)(a,o.href),active:r},o));return l[(0,s.PB)("active")]=p.isActive,(0,u.jsx)(n,Object.assign({},o,l,{ref:t}))});p.displayName="NavItem",t.Z=p},7126:function(e,t,n){"use strict";n.d(t,{h:function(){return a}});let r=n(7294).createContext(null),a=(e,t=null)=>null!=e?String(e):t||null;t.Z=r},6626:function(e,t,n){"use strict";let r=n(7294).createContext(null);t.Z=r},2963:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(7294),a=n(3004);let o=(0,r.createContext)(a.Z?window:void 0);function i(){return(0,r.useContext)(o)}o.Provider},9351:function(e,t,n){"use strict";var r=n(3004),a=!1,o=!1;try{var i={get passive(){return a=!0},get once(){return o=a=!0}};r.Z&&(window.addEventListener("test",i,i),window.removeEventListener("test",i,!0))}catch(e){}t.ZP=function(e,t,n,r){if(r&&"boolean"!=typeof r&&!o){var i=r.once,c=r.capture,s=n;!o&&i&&(s=n.__once||function e(r){this.removeEventListener(t,e,c),n.call(this,r)},n.__once=s),e.addEventListener(t,s,a?r:c)}e.addEventListener(t,n,r)}},3004:function(e,t){"use strict";t.Z=!!("undefined"!=typeof window&&window.document&&window.document.createElement)},424:function(e,t,n){"use strict";function r(e,t){return e.contains?e.contains(t):e.compareDocumentPosition?e===t||!!(16&e.compareDocumentPosition(t)):void 0}n.d(t,{Z:function(){return r}})},5096:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(9351),a=function(e,t,n,r){var a=r&&"boolean"!=typeof r?r.capture:r;e.removeEventListener(t,n,a),n.__once&&e.removeEventListener(t,n.__once,a)},o=function(e,t,n,o){return(0,r.ZP)(e,t,n,o),function(){a(e,t,n,o)}}},7216:function(e,t,n){"use strict";function r(e){return e&&e.ownerDocument||document}n.d(t,{Z:function(){return r}})},930:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=Function.prototype.bind.call(Function.prototype.call,[].slice);function a(e,t){return r(e.querySelectorAll(t))}},1143:function(e){"use strict";e.exports=function(e,t,n,r,a,o,i,c){if(!e){var s;if(void 0===t)s=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,a,o,i,c],u=0;(s=Error(t.replace(/%s/g,function(){return l[u++]}))).name="Invariant Violation"}throw s.framesToPop=1,s}}},1234:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION_FAST_REFRESH:function(){return f},ACTION_NAVIGATE:function(){return c},ACTION_PREFETCH:function(){return u},ACTION_REFRESH:function(){return i},ACTION_RESTORE:function(){return s},ACTION_SERVER_ACTION:function(){return d},ACTION_SERVER_PATCH:function(){return l},PrefetchCacheEntryStatus:function(){return o},PrefetchKind:function(){return a},isThenable:function(){return p}});var n,r,a,o,i="refresh",c="navigate",s="restore",l="server-patch",u="prefetch",f="fast-refresh",d="server-action";function p(e){return e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}(n=a||(a={})).AUTO="auto",n.FULL="full",n.TEMPORARY="temporary",(r=o||(o={})).fresh="fresh",r.reusable="reusable",r.expired="expired",r.stale="stale",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6004:function(e,t,n){"use strict";function r(e,t,n,r){return!1}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDomainLocale",{enumerable:!0,get:function(){return r}}),n(8740),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7179:function(e,t,n){"use strict";var r=n(3171),a=n(8416),o=n(7069),i=n(968),c=["src","srcSet","sizes","height","width","decoding","className","style","fetchPriority","placeholder","loading","unoptimized","fill","onLoadRef","onLoadingCompleteRef","setBlurComplete","setShowAltText","sizesInput","onLoad","onError"];function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function l(e){for(var t=1;t0;t&&n&&t(n)})},e),elements:a},s.push(n),c.set(n,t),t}({root:null==t?void 0:t.current,rootMargin:n})).id,u=r.observer,(m=r.elements).set(b,e),u.observe(b),function(){if(m.delete(b),u.unobserve(b),0===m.size){u.disconnect(),c.delete(a);var e=s.findIndex(function(e){return e.root===a.root&&e.margin===a.margin});e>-1&&s.splice(e,1)}}}}else if(!f){var v=(0,o.requestIdleCallback)(function(){return d(!0)});return function(){return(0,o.cancelIdleCallback)(v)}}},[l,n,t,f,p.current]),[m,f,(0,a.useCallback)(function(){d(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8767:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return r}});var r=n(8754)._(n(7294)).default.createContext({})},1057:function(e,t){"use strict";function n(e){var t=void 0===e?{}:e,n=t.ampFirst,r=t.hybrid,a=t.hasQuery;return void 0!==n&&n||void 0!==r&&r&&void 0!==a&&a}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return n}})},7837:function(e,t,n){"use strict";var r=n(968);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=r[0]*l}),kind:"w"}}return{widths:a,kind:"w"}}return"number"!=typeof t?{widths:r,kind:"w"}:{widths:o(new Set([t,2*t].map(function(e){return a.find(function(t){return t>=e})||a[a.length-1]}))),kind:"x"}}(t,a,c),u=l.widths,f=l.kind,d=u.length-1;return{sizes:c||"w"!==f?c:"100vw",srcSet:u.map(function(e,r){return s({config:t,src:n,quality:i,width:e})+" "+("w"===f?e:r+1)+f}).join(", "),src:s({config:t,src:n,quality:i,width:u[d]})}}({config:r,src:b,unoptimized:g,width:J,quality:ea,sizes:v,loader:Y});return{props:l(l({},I),{},{loading:er?"lazy":w,fetchPriority:Z,width:J,height:Q,decoding:void 0===T?"async":T,className:j,style:l(l({},eo),ec),sizes:es.sizes,srcSet:es.srcSet,src:N||es.src}),meta:{unoptimized:g,priority:O,placeholder:A,fill:S}}}},4394:function(e,t,n){"use strict";var r=n(968);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return y},defaultHead:function(){return p}});var o=n(8754),i=n(1757),c=n(5893),s=i._(n(7294)),l=o._(n(5562)),u=n(8767),f=n(4376),d=n(1057);function p(e){void 0===e&&(e=!1);var t=[(0,c.jsx)("meta",{charSet:"utf-8"})];return e||t.push((0,c.jsx)("meta",{name:"viewport",content:"width=device-width"})),t}function m(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===s.default.Fragment?e.concat(s.default.Children.toArray(t.props.children).reduce(function(e,t){return"string"==typeof t||"number"==typeof t?e:e.concat(t)},[])):e.concat(t)}n(3678);var b=["name","httpEquiv","charSet","itemProp"];function v(e,t){var n,o,i,c,l=t.inAmpMode;return e.reduce(m,[]).reverse().concat(p(l).reverse()).filter((n=new Set,o=new Set,i=new Set,c={},function(e){var t=!0,r=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){r=!0;var a=e.key.slice(e.key.indexOf("$")+1);n.has(a)?t=!1:n.add(a)}switch(e.type){case"title":case"base":o.has(e.type)?t=!1:o.add(e.type);break;case"meta":for(var s=0,l=b.length;se.length)&&(t=e.length);for(var n=0,r=Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){c=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}(o);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(e.includes(r))return a()}}catch(e){n.e(e)}finally{n.f()}})}function i(e,t){a(),(o=l.default.useContext(u.LoadableContext))&&Array.isArray(n.modules)&&n.modules.forEach(function(e){o(e)});var o,i=l.default.useSyncExternalStore(r.subscribe,r.getCurrentValue,r.getCurrentValue);return l.default.useImperativeHandle(t,function(){return{retry:r.retry}},[]),l.default.useMemo(function(){var t;return i.loading||i.error?l.default.createElement(n.loading,{isLoading:i.loading,pastDelay:i.pastDelay,timedOut:i.timedOut,error:i.error,retry:r.retry}):i.loaded?l.default.createElement((t=i.loaded)&&t.default?t.default:t,e):null},[e,i])}return i.preload=function(){return a()},i.displayName="LoadableComponent",l.default.forwardRef(i)}(m,e)}function y(e,t){for(var n=[];e.length;){var r=e.pop();n.push(r(t))}return Promise.all(n).then(function(){if(e.length)return y(e,t)})}v.preloadAll=function(){return new Promise(function(e,t){y(f).then(e,t)})},v.preloadReady=function(e){return void 0===e&&(e=[]),new Promise(function(t){var n=function(){return p=!0,t()};y(d,e).then(n,n)})},window.__NEXT_PRELOADREADY=v.preloadReady;var g=v},5562:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});var r=n(7294),a=r.useLayoutEffect,o=r.useEffect;function i(e){var t=e.headManager,n=e.reduceComponentsToState;function i(){if(t&&t.mountedInstances){var a=r.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(n(a,e))}}return a(function(){var n;return null==t||null==(n=t.mountedInstances)||n.add(e.children),function(){var n;null==t||null==(n=t.mountedInstances)||n.delete(e.children)}}),a(function(){return t&&(t._pendingUpdate=i),function(){t&&(t._pendingUpdate=i)}}),o(function(){return t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),function(){t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)}}),null}},3678:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});var n=function(e){}},2230:function(e,t,n){"use strict";n.d(t,{Z:function(){return Z}});var r=n(9499),a=n(4730),o=n(3967),i=n.n(o);n(4391);var c=n(7294),s=n(5446),l=n(930),u=n(4357),f=n(5654),d=n(6056),p=n(7126),m=n(6626),b=n(2747),v=n(3716),y=n(5893);let g=["as","onSelect","activeKey","role","onKeyDown"],h=()=>{},O=(0,b.PB)("event-key"),w=c.forwardRef((e,t)=>{let n,r,{as:a="div",onSelect:o,activeKey:i,role:s,onKeyDown:v}=e,w=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,g),j=(0,u.Z)(),x=(0,c.useRef)(!1),P=(0,c.useContext)(p.Z),k=(0,c.useContext)(m.Z);k&&(s=s||"tablist",i=k.activeKey,n=k.getControlledId,r=k.getControllerId);let E=(0,c.useRef)(null),S=e=>{let t=E.current;if(!t)return null;let n=(0,l.Z)(t,`[${O}]:not([aria-disabled=true])`),r=t.querySelector("[aria-selected=true]");if(!r||r!==document.activeElement)return null;let a=n.indexOf(r);if(-1===a)return null;let o=a+e;return o>=n.length&&(o=0),o<0&&(o=n.length-1),n[o]},C=(e,t)=>{null!=e&&(null==o||o(e,t),null==P||P(e,t))};(0,c.useEffect)(()=>{if(E.current&&x.current){let e=E.current.querySelector(`[${O}][aria-selected=true]`);null==e||e.focus()}x.current=!1});let N=(0,f.Z)(t,E);return(0,y.jsx)(p.Z.Provider,{value:C,children:(0,y.jsx)(d.Z.Provider,{value:{role:s,activeKey:(0,p.h)(i),getControlledId:n||h,getControllerId:r||h},children:(0,y.jsx)(a,Object.assign({},w,{onKeyDown:e=>{let t;if(null==v||v(e),k){switch(e.key){case"ArrowLeft":case"ArrowUp":t=S(-1);break;case"ArrowRight":case"ArrowDown":t=S(1);break;default:return}t&&(e.preventDefault(),C(t.dataset[(0,b.$F)("EventKey")]||null,e),x.current=!0,j())}},ref:N,role:s}))})})});w.displayName="Nav";var j=Object.assign(w,{Item:v.Z}),x=n(3833),P=n(6499),k=c.createContext(null);k.displayName="CardHeaderContext";var E=["className","bsPrefix","as"];function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var C=c.forwardRef(function(e,t){var n=e.className,o=e.bsPrefix,c=e.as,s=(0,a.Z)(e,E);return o=(0,x.vE)(o,"nav-item"),(0,y.jsx)(void 0===c?"div":c,function(e){for(var t=1;t{if(t())return e[1](n)},[t,e[1]])]};function S(e){return e.split("-")[0]}function C(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function N(e){var t=C(e).Element;return e instanceof t||e instanceof Element}function D(e){var t=C(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function A(e){if("undefined"==typeof ShadowRoot)return!1;var t=C(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}var R=Math.max,Z=Math.min,T=Math.round;function M(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function _(){return!/^((?!chrome|android).)*safari/i.test(M())}function L(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var r=e.getBoundingClientRect(),a=1,o=1;t&&D(e)&&(a=e.offsetWidth>0&&T(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&T(r.height)/e.offsetHeight||1);var i=(N(e)?C(e):window).visualViewport,c=!_()&&n,s=(r.left+(c&&i?i.offsetLeft:0))/a,l=(r.top+(c&&i?i.offsetTop:0))/o,u=r.width/a,f=r.height/o;return{width:u,height:f,top:l,right:s+u,bottom:l+f,left:s,x:s,y:l}}function I(e){var t=L(e),n=e.offsetWidth,r=e.offsetHeight;return 1>=Math.abs(t.width-n)&&(n=t.width),1>=Math.abs(t.height-r)&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function z(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&A(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function F(e){return e?(e.nodeName||"").toLowerCase():null}function B(e){return C(e).getComputedStyle(e)}function H(e){return((N(e)?e.ownerDocument:e.document)||window.document).documentElement}function W(e){return"html"===F(e)?e:e.assignedSlot||e.parentNode||(A(e)?e.host:null)||H(e)}function V(e){return D(e)&&"fixed"!==B(e).position?e.offsetParent:null}function U(e){for(var t=C(e),n=V(e);n&&["table","td","th"].indexOf(F(n))>=0&&"static"===B(n).position;)n=V(n);return n&&("html"===F(n)||"body"===F(n)&&"static"===B(n).position)?t:n||function(e){var t=/firefox/i.test(M());if(/Trident/i.test(M())&&D(e)&&"fixed"===B(e).position)return null;var n=W(e);for(A(n)&&(n=n.host);D(n)&&0>["html","body"].indexOf(F(n));){var r=B(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}function Y(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function q(e,t,n){return R(e,Z(t,n))}function K(){return{top:0,right:0,bottom:0,left:0}}function $(e){return Object.assign({},K(),e)}function G(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}var X="bottom",J="right",Q="left",ee="auto",et=["top",X,J,Q],en="start",er="viewport",ea="popper",eo=et.reduce(function(e,t){return e.concat([t+"-"+en,t+"-end"])},[]),ei=[].concat(et,[ee]).reduce(function(e,t){return e.concat([t,t+"-"+en,t+"-end"])},[]),ec=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function es(e){return e.split("-")[1]}var el={top:"auto",right:"auto",bottom:"auto",left:"auto"};function eu(e){var t,n,r,a,o,i,c,s=e.popper,l=e.popperRect,u=e.placement,f=e.variation,d=e.offsets,p=e.position,m=e.gpuAcceleration,b=e.adaptive,v=e.roundOffsets,y=e.isFixed,g=d.x,h=void 0===g?0:g,O=d.y,w=void 0===O?0:O,j="function"==typeof v?v({x:h,y:w}):{x:h,y:w};h=j.x,w=j.y;var x=d.hasOwnProperty("x"),P=d.hasOwnProperty("y"),k=Q,E="top",S=window;if(b){var N=U(s),D="clientHeight",A="clientWidth";N===C(s)&&"static"!==B(N=H(s)).position&&"absolute"===p&&(D="scrollHeight",A="scrollWidth"),("top"===u||(u===Q||u===J)&&"end"===f)&&(E=X,w-=(y&&N===S&&S.visualViewport?S.visualViewport.height:N[D])-l.height,w*=m?1:-1),(u===Q||("top"===u||u===X)&&"end"===f)&&(k=J,h-=(y&&N===S&&S.visualViewport?S.visualViewport.width:N[A])-l.width,h*=m?1:-1)}var R=Object.assign({position:p},b&&el),Z=!0===v?(t={x:h,y:w},n=C(s),r=t.x,a=t.y,{x:T(r*(o=n.devicePixelRatio||1))/o||0,y:T(a*o)/o||0}):{x:h,y:w};return(h=Z.x,w=Z.y,m)?Object.assign({},R,((c={})[E]=P?"0":"",c[k]=x?"0":"",c.transform=1>=(S.devicePixelRatio||1)?"translate("+h+"px, "+w+"px)":"translate3d("+h+"px, "+w+"px, 0)",c)):Object.assign({},R,((i={})[E]=P?w+"px":"",i[k]=x?h+"px":"",i.transform="",i))}var ef={passive:!0},ed={left:"right",right:"left",bottom:"top",top:"bottom"};function ep(e){return e.replace(/left|right|bottom|top/g,function(e){return ed[e]})}var em={start:"end",end:"start"};function eb(e){return e.replace(/start|end/g,function(e){return em[e]})}function ev(e){var t=C(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function ey(e){return L(H(e)).left+ev(e).scrollLeft}function eg(e){var t=B(e),n=t.overflow,r=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+r)}function eh(e,t){void 0===t&&(t=[]);var n,r=function e(t){return["html","body","#document"].indexOf(F(t))>=0?t.ownerDocument.body:D(t)&&eg(t)?t:e(W(t))}(e),a=r===(null==(n=e.ownerDocument)?void 0:n.body),o=C(r),i=a?[o].concat(o.visualViewport||[],eg(r)?r:[]):r,c=t.concat(i);return a?c:c.concat(eh(W(i)))}function eO(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function ew(e,t,n){var r,a,o,i,c,s,l,u,f,d;return t===er?eO(function(e,t){var n=C(e),r=H(e),a=n.visualViewport,o=r.clientWidth,i=r.clientHeight,c=0,s=0;if(a){o=a.width,i=a.height;var l=_();(l||!l&&"fixed"===t)&&(c=a.offsetLeft,s=a.offsetTop)}return{width:o,height:i,x:c+ey(e),y:s}}(e,n)):N(t)?((r=L(t,!1,"fixed"===n)).top=r.top+t.clientTop,r.left=r.left+t.clientLeft,r.bottom=r.top+t.clientHeight,r.right=r.left+t.clientWidth,r.width=t.clientWidth,r.height=t.clientHeight,r.x=r.left,r.y=r.top,r):eO((a=H(e),i=H(a),c=ev(a),s=null==(o=a.ownerDocument)?void 0:o.body,l=R(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),u=R(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),f=-c.scrollLeft+ey(a),d=-c.scrollTop,"rtl"===B(s||i).direction&&(f+=R(i.clientWidth,s?s.clientWidth:0)-l),{width:l,height:u,x:f,y:d}))}function ej(e){var t,n=e.reference,r=e.element,a=e.placement,o=a?S(a):null,i=a?es(a):null,c=n.x+n.width/2-r.width/2,s=n.y+n.height/2-r.height/2;switch(o){case"top":t={x:c,y:n.y-r.height};break;case X:t={x:c,y:n.y+n.height};break;case J:t={x:n.x+n.width,y:s};break;case Q:t={x:n.x-r.width,y:s};break;default:t={x:n.x,y:n.y}}var l=o?Y(o):null;if(null!=l){var u="y"===l?"height":"width";switch(i){case en:t[l]=t[l]-(n[u]/2-r[u]/2);break;case"end":t[l]=t[l]+(n[u]/2-r[u]/2)}}return t}function ex(e,t){void 0===t&&(t={});var n,r,a,o,i,c,s,l,u=t,f=u.placement,d=void 0===f?e.placement:f,p=u.strategy,m=void 0===p?e.strategy:p,b=u.boundary,v=u.rootBoundary,y=u.elementContext,g=void 0===y?ea:y,h=u.altBoundary,O=u.padding,w=void 0===O?0:O,j=$("number"!=typeof w?w:G(w,et)),x=e.rects.popper,P=e.elements[void 0!==h&&h?g===ea?"reference":ea:g],k=(n=N(P)?P:P.contextElement||H(e.elements.popper),r=void 0===b?"clippingParents":b,a=void 0===v?er:v,s=(c=[].concat("clippingParents"===r?(o=eh(W(n)),N(i=["absolute","fixed"].indexOf(B(n).position)>=0&&D(n)?U(n):n)?o.filter(function(e){return N(e)&&z(e,i)&&"body"!==F(e)}):[]):[].concat(r),[a]))[0],(l=c.reduce(function(e,t){var r=ew(n,t,m);return e.top=R(r.top,e.top),e.right=Z(r.right,e.right),e.bottom=Z(r.bottom,e.bottom),e.left=R(r.left,e.left),e},ew(n,s,m))).width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l),E=L(e.elements.reference),S=ej({reference:E,element:x,strategy:"absolute",placement:d}),C=eO(Object.assign({},x,S)),A=g===ea?C:E,T={top:k.top-A.top+j.top,bottom:A.bottom-k.bottom+j.bottom,left:k.left-A.left+j.left,right:A.right-k.right+j.right},M=e.modifiersData.offset;if(g===ea&&M){var _=M[d];Object.keys(T).forEach(function(e){var t=[J,X].indexOf(e)>=0?1:-1,n=["top",X].indexOf(e)>=0?"y":"x";T[e]+=_[n]*t})}return T}function eP(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ek(e){return["top",J,X,Q].some(function(t){return e[t]>=0})}var eE={placement:"bottom",modifiers:[],strategy:"absolute"};function eS(){for(var e=arguments.length,t=Array(e),n=0;n=0?-1:1,s=(c="function"==typeof o?o(Object.assign({},r,{placement:n})):o)[0],l=c[1],s=s||0,l=(l||0)*i,[Q,J].indexOf(a)>=0?{x:l,y:s}:{x:s,y:l}),e},{}),c=i[t.placement],s=c.x,l=c.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=s,t.modifiersData.popperOffsets.y+=l),t.modifiersData[r]=i}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var a=n.mainAxis,o=void 0===a||a,i=n.altAxis,c=void 0===i||i,s=n.fallbackPlacements,l=n.padding,u=n.boundary,f=n.rootBoundary,d=n.altBoundary,p=n.flipVariations,m=void 0===p||p,b=n.allowedAutoPlacements,v=t.options.placement,y=S(v)===v,g=s||(y||!m?[ep(v)]:function(e){if(S(e)===ee)return[];var t=ep(e);return[eb(e),t,eb(t)]}(v)),h=[v].concat(g).reduce(function(e,n){var r,a,o,i,c,s,d,p,v,y,g,h;return e.concat(S(n)===ee?(a=(r={placement:n,boundary:u,rootBoundary:f,padding:l,flipVariations:m,allowedAutoPlacements:b}).placement,o=r.boundary,i=r.rootBoundary,c=r.padding,s=r.flipVariations,p=void 0===(d=r.allowedAutoPlacements)?ei:d,0===(g=(y=(v=es(a))?s?eo:eo.filter(function(e){return es(e)===v}):et).filter(function(e){return p.indexOf(e)>=0})).length&&(g=y),Object.keys(h=g.reduce(function(e,n){return e[n]=ex(t,{placement:n,boundary:o,rootBoundary:i,padding:c})[S(n)],e},{})).sort(function(e,t){return h[e]-h[t]})):n)},[]),O=t.rects.reference,w=t.rects.popper,j=new Map,x=!0,P=h[0],k=0;k=0,A=D?"width":"height",R=ex(t,{placement:E,boundary:u,rootBoundary:f,altBoundary:d,padding:l}),Z=D?N?J:Q:N?X:"top";O[A]>w[A]&&(Z=ep(Z));var T=ep(Z),M=[];if(o&&M.push(R[C]<=0),c&&M.push(R[Z]<=0,R[T]<=0),M.every(function(e){return e})){P=E,x=!1;break}j.set(E,M)}if(x)for(var _=m?3:1,L=function(e){var t=h.find(function(t){var n=j.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return P=t,"break"},I=_;I>0&&"break"!==L(I);I--);t.placement!==P&&(t.modifiersData[r]._skip=!0,t.placement=P,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,a=n.mainAxis,o=n.altAxis,i=n.boundary,c=n.rootBoundary,s=n.altBoundary,l=n.padding,u=n.tether,f=void 0===u||u,d=n.tetherOffset,p=void 0===d?0:d,m=ex(t,{boundary:i,rootBoundary:c,padding:l,altBoundary:s}),b=S(t.placement),v=es(t.placement),y=!v,g=Y(b),h="x"===g?"y":"x",O=t.modifiersData.popperOffsets,w=t.rects.reference,j=t.rects.popper,x="function"==typeof p?p(Object.assign({},t.rects,{placement:t.placement})):p,P="number"==typeof x?{mainAxis:x,altAxis:x}:Object.assign({mainAxis:0,altAxis:0},x),k=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,E={x:0,y:0};if(O){if(void 0===a||a){var C,N="y"===g?"top":Q,D="y"===g?X:J,A="y"===g?"height":"width",T=O[g],M=T+m[N],_=T-m[D],L=f?-j[A]/2:0,z=v===en?w[A]:j[A],F=v===en?-j[A]:-w[A],B=t.elements.arrow,H=f&&B?I(B):{width:0,height:0},W=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:K(),V=W[N],$=W[D],G=q(0,w[A],H[A]),ee=y?w[A]/2-L-G-V-P.mainAxis:z-G-V-P.mainAxis,et=y?-w[A]/2+L+G+$+P.mainAxis:F+G+$+P.mainAxis,er=t.elements.arrow&&U(t.elements.arrow),ea=er?"y"===g?er.clientTop||0:er.clientLeft||0:0,eo=null!=(C=null==k?void 0:k[g])?C:0,ei=q(f?Z(M,T+ee-eo-ea):M,T,f?R(_,T+et-eo):_);O[g]=ei,E[g]=ei-T}if(void 0!==o&&o){var ec,el,eu="x"===g?"top":Q,ef="x"===g?X:J,ed=O[h],ep="y"===h?"height":"width",em=ed+m[eu],eb=ed-m[ef],ev=-1!==["top",Q].indexOf(b),ey=null!=(el=null==k?void 0:k[h])?el:0,eg=ev?em:ed-w[ep]-j[ep]-ey+P.altAxis,eh=ev?ed+w[ep]+j[ep]-ey-P.altAxis:eb,eO=f&&ev?(ec=q(eg,ed,eh))>eh?eh:ec:q(f?eg:em,ed,f?eh:eb);O[h]=eO,E[h]=eO-ed}t.modifiersData[r]=E}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n,r=e.state,a=e.name,o=e.options,i=r.elements.arrow,c=r.modifiersData.popperOffsets,s=S(r.placement),l=Y(s),u=[Q,J].indexOf(s)>=0?"height":"width";if(i&&c){var f=$("number"!=typeof(t="function"==typeof(t=o.padding)?t(Object.assign({},r.rects,{placement:r.placement})):t)?t:G(t,et)),d=I(i),p="y"===l?"top":Q,m="y"===l?X:J,b=r.rects.reference[u]+r.rects.reference[l]-c[l]-r.rects.popper[u],v=c[l]-r.rects.reference[l],y=U(i),g=y?"y"===l?y.clientHeight||0:y.clientWidth||0:0,h=f[p],O=g-d[u]-f[m],w=g/2-d[u]/2+(b/2-v/2),j=q(h,w,O);r.modifiersData[a]=((n={})[l]=j,n.centerOffset=j-w,n)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&z(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]}]}).defaultModifiers)?[]:a,c=void 0===(i=r.defaultOptions)?eE:i,function(e,t,n){void 0===n&&(n=c);var r,a,i={placement:"bottom",orderedModifiers:[],options:Object.assign({},eE,c),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},s=[],l=!1,u={state:i,setOptions:function(n){var r,a,l,d,p,m="function"==typeof n?n(i.options):n;f(),i.options=Object.assign({},c,i.options,m),i.scrollParents={reference:N(e)?eh(e):e.contextElement?eh(e.contextElement):[],popper:eh(t)};var b=(a=Object.keys(r=[].concat(o,i.options.modifiers).reduce(function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e},{})).map(function(e){return r[e]}),l=new Map,d=new Set,p=[],a.forEach(function(e){l.set(e.name,e)}),a.forEach(function(e){d.has(e.name)||function e(t){d.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach(function(t){if(!d.has(t)){var n=l.get(t);n&&e(n)}}),p.push(t)}(e)}),ec.reduce(function(e,t){return e.concat(p.filter(function(e){return e.phase===t}))},[]));return i.orderedModifiers=b.filter(function(e){return e.enabled}),i.orderedModifiers.forEach(function(e){var t=e.name,n=e.options,r=e.effect;if("function"==typeof r){var a=r({state:i,name:t,instance:u,options:void 0===n?{}:n});s.push(a||function(){})}}),u.update()},forceUpdate:function(){if(!l){var e,t,n,r,a,o,c,s,f,d,p,m,b=i.elements,v=b.reference,y=b.popper;if(eS(v,y)){i.rects={reference:(t=U(y),n="fixed"===i.options.strategy,r=D(t),s=D(t)&&(o=T((a=t.getBoundingClientRect()).width)/t.offsetWidth||1,c=T(a.height)/t.offsetHeight||1,1!==o||1!==c),f=H(t),d=L(v,s,n),p={scrollLeft:0,scrollTop:0},m={x:0,y:0},(r||!r&&!n)&&(("body"!==F(t)||eg(f))&&(p=(e=t)!==C(e)&&D(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:ev(e)),D(t)?(m=L(t,!0),m.x+=t.clientLeft,m.y+=t.clientTop):f&&(m.x=ey(f))),{x:d.left+p.scrollLeft-m.x,y:d.top+p.scrollTop-m.y,width:d.width,height:d.height}),popper:I(y)},i.reset=!1,i.placement=i.options.placement,i.orderedModifiers.forEach(function(e){return i.modifiersData[e.name]=Object.assign({},e.data)});for(var g=0;gvoid 0},eA={name:"ariaDescribedBy",enabled:!0,phase:"afterWrite",effect:({state:e})=>()=>{let{reference:t,popper:n}=e.elements;if("removeAttribute"in t){let e=(t.getAttribute("aria-describedby")||"").split(",").filter(e=>e.trim()!==n.id);e.length?t.setAttribute("aria-describedby",e.join(",")):t.removeAttribute("aria-describedby")}},fn:({state:e})=>{var t;let{popper:n,reference:r}=e.elements,a=null==(t=n.getAttribute("role"))?void 0:t.toLowerCase();if(n.id&&"tooltip"===a&&"setAttribute"in r){let e=r.getAttribute("aria-describedby");if(e&&-1!==e.split(",").indexOf(n.id))return;r.setAttribute("aria-describedby",e?`${e},${n.id}`:n.id)}}},eR=[];var eZ=function(e,t,n={}){let{enabled:r=!0,placement:a="bottom",strategy:o="absolute",modifiers:i=eR}=n,c=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(n,eN),s=(0,d.useRef)(i),l=(0,d.useRef)(),u=(0,d.useCallback)(()=>{var e;null==(e=l.current)||e.update()},[]),f=(0,d.useCallback)(()=>{var e;null==(e=l.current)||e.forceUpdate()},[]),[p,m]=E((0,d.useState)({placement:a,update:u,forceUpdate:f,attributes:{},styles:{popper:{},arrow:{}}})),b=(0,d.useMemo)(()=>({name:"updateStateModifier",enabled:!0,phase:"write",requires:["computeStyles"],fn:({state:e})=>{let t={},n={};Object.keys(e.elements).forEach(r=>{t[r]=e.styles[r],n[r]=e.attributes[r]}),m({state:e,styles:t,attributes:n,update:u,forceUpdate:f,placement:e.placement})}}),[u,f,m]),v=(0,d.useMemo)(()=>(P(s.current,i)||(s.current=i),s.current),[i]);return(0,d.useEffect)(()=>{l.current&&r&&l.current.setOptions({placement:a,strategy:o,modifiers:[...v,b,eD]})},[o,a,b,r,v]),(0,d.useEffect)(()=>{if(r&&null!=e&&null!=t)return l.current=eC(e,t,Object.assign({},c,{placement:a,strategy:o,modifiers:[...v,eA,b]})),()=>{null!=l.current&&(l.current.destroy(),l.current=void 0,m(e=>Object.assign({},e,{attributes:{},styles:{popper:{}}})))}},[r,e,t]),p},eT=n(424),eM=n(5096),e_=n(7216),eL=n(2473),eI=n.n(eL);let ez=()=>{},eF=e=>e&&("current"in e?e.current:e),eB={click:"mousedown",mouseup:"mousedown",pointerup:"pointerdown"};var eH=function(e,t=ez,{disabled:n,clickTrigger:r="click"}={}){let a=(0,d.useRef)(!1),o=(0,d.useRef)(!1),i=(0,d.useCallback)(t=>{let n=eF(e);eI()(!!n,"ClickOutside captured a close event but does not have a ref to compare it to. useClickOutside(), should be passed a ref that resolves to a DOM node"),a.current=!n||!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)||0!==t.button||!!(0,eT.Z)(n,t.target)||o.current,o.current=!1},[e]),c=(0,h.Z)(t=>{let n=eF(e);n&&(0,eT.Z)(n,t.target)&&(o.current=!0)}),s=(0,h.Z)(e=>{a.current||t(e)});(0,d.useEffect)(()=>{var t,a;if(n||null==e)return;let o=(0,e_.Z)(eF(e)),l=o.defaultView||window,u=null!=(t=l.event)?t:null==(a=l.parent)?void 0:a.event,f=null;eB[r]&&(f=(0,eM.Z)(o,eB[r],c,!0));let d=(0,eM.Z)(o,r,i,!0),p=(0,eM.Z)(o,r,e=>{if(e===u){u=void 0;return}s(e)}),m=[];return"ontouchstart"in o.documentElement&&(m=[].slice.call(o.body.children).map(e=>(0,eM.Z)(e,"mousemove",ez))),()=>{null==f||f(),d(),p(),m.forEach(e=>e())}},[e,n,r,i,c,s])},eW=n(5893);let eV=["children","usePopper"],eU=()=>{};function eY(e={}){let t=(0,d.useContext)(O),[n,r]=(0,w.Z)(),a=(0,d.useRef)(!1),{flip:o,offset:i,rootCloseEvent:c,fixed:s=!1,placement:l,popperConfig:u={},enableEventListeners:f=!0,usePopper:p=!!t}=e,m=(null==t?void 0:t.show)==null?!!e.show:t.show;m&&!a.current&&(a.current=!0);let{placement:b,setMenu:v,menuElement:y,toggleElement:g}=t||{},h=eZ(g,y,function({enabled:e,enableEvents:t,placement:n,flip:r,offset:a,fixed:o,containerPadding:i,arrowElement:c,popperConfig:s={}}){var l,u,f,d,p;let m=function(e){let t={};return Array.isArray(e)?(null==e||e.forEach(e=>{t[e.name]=e}),t):e||t}(s.modifiers);return Object.assign({},s,{placement:n,enabled:e,strategy:o?"fixed":s.strategy,modifiers:function(e={}){return Array.isArray(e)?e:Object.keys(e).map(t=>(e[t].name=t,e[t]))}(Object.assign({},m,{eventListeners:{enabled:t,options:null==(l=m.eventListeners)?void 0:l.options},preventOverflow:Object.assign({},m.preventOverflow,{options:i?Object.assign({padding:i},null==(u=m.preventOverflow)?void 0:u.options):null==(f=m.preventOverflow)?void 0:f.options}),offset:{options:Object.assign({offset:a},null==(d=m.offset)?void 0:d.options)},arrow:Object.assign({},m.arrow,{enabled:!!c,options:Object.assign({},null==(p=m.arrow)?void 0:p.options,{element:c})}),flip:Object.assign({enabled:!!r},m.flip)}))})}({placement:l||b||"bottom-start",enabled:p,enableEvents:null==f?m:f,offset:i,flip:o,fixed:s,arrowElement:n,popperConfig:u})),j=Object.assign({ref:v||eU,"aria-labelledby":null==g?void 0:g.id},h.attributes.popper,{style:h.styles.popper}),x={show:m,placement:b,hasShown:a.current,toggle:null==t?void 0:t.toggle,popper:p?h:null,arrowProps:p?Object.assign({ref:r},h.attributes.arrow,{style:h.styles.arrow}):{}};return eH(y,e=>{null==t||t.toggle(!1,e)},{clickTrigger:c,disabled:!m}),[j,x]}function eq(e){let{children:t,usePopper:n=!0}=e,[r,a]=eY(Object.assign({},function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,eV),{usePopper:n}));return(0,eW.jsx)(eW.Fragment,{children:t(r,a)})}eq.displayName="DropdownMenu";var eK=n(7385);let e$=e=>{var t;return(null==(t=e.getAttribute("role"))?void 0:t.toLowerCase())==="menu"},eG=()=>{};function eX(){let e=(0,eK.gP)(),{show:t=!1,toggle:n=eG,setToggle:r,menuElement:a}=(0,d.useContext)(O)||{},o={id:e,ref:r||eG,onClick:(0,d.useCallback)(e=>{n(!t,e)},[t,n]),"aria-expanded":!!t};return a&&e$(a)&&(o["aria-haspopup"]=!0),[o,{show:t,toggle:n}]}function eJ({children:e}){let[t,n]=eX();return(0,eW.jsx)(eW.Fragment,{children:e(t,n)})}eJ.displayName="DropdownToggle";var eQ=n(7126),e0=n(6056),e1=n(861),e2=n(2747);let e3=["eventKey","disabled","onClick","active","as"];function e4({key:e,href:t,active:n,disabled:r,onClick:a}){let o=(0,d.useContext)(eQ.Z),{activeKey:i}=(0,d.useContext)(e0.Z)||{},c=(0,eQ.h)(e,t),s=null==n&&null!=e?(0,eQ.h)(i)===c:n;return[{onClick:(0,h.Z)(e=>{r||(null==a||a(e),o&&!e.isPropagationStopped()&&o(c,e))}),"aria-disabled":r||void 0,"aria-selected":s,[(0,e2.PB)("dropdown-item")]:""},{isActive:s}]}let e5=d.forwardRef((e,t)=>{let{eventKey:n,disabled:r,onClick:a,active:o,as:i=e1.ZP}=e,c=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,e3),[s]=e4({key:n,href:c.href,disabled:r,onClick:a,active:o});return(0,eW.jsx)(i,Object.assign({},c,{ref:t},s))});e5.displayName="DropdownItem";var e6=n(2963);function e9(){let e=(0,y.Z)(),t=(0,d.useRef)(null),n=(0,d.useCallback)(n=>{t.current=n,e()},[e]);return[t,n]}function e7({defaultShow:e,show:t,onSelect:n,onToggle:r,itemSelector:a=`* [${(0,e2.PB)("dropdown-item")}]`,focusFirstItemOnShow:o,placement:i="bottom-start",children:c}){let s=(0,e6.Z)(),[l,u]=function(e,t,n){let r=(0,d.useRef)(void 0!==e),[a,o]=(0,d.useState)(t),i=void 0!==e,c=r.current;return r.current=i,!i&&c&&a!==t&&o(t),[i?e:a,(0,d.useCallback)((...e)=>{let[t,...r]=e,a=null==n?void 0:n(t,...r);return o(t),a},[n])]}(t,e,r),[f,p]=e9(),y=f.current,[w,j]=e9(),x=w.current,P=(0,v.Z)(l),k=(0,d.useRef)(null),E=(0,d.useRef)(!1),S=(0,d.useContext)(eQ.Z),C=(0,d.useCallback)((e,t,n=null==t?void 0:t.type)=>{u(e,{originalEvent:t,source:n})},[u]),N=(0,h.Z)((e,t)=>{null==n||n(e,t),C(!1,t,"select"),t.isPropagationStopped()||null==S||S(e,t)}),D=(0,d.useMemo)(()=>({toggle:C,placement:i,show:l,menuElement:y,toggleElement:x,setMenu:p,setToggle:j}),[C,i,l,y,x,p,j]);y&&P&&!l&&(E.current=y.contains(y.ownerDocument.activeElement));let A=(0,h.Z)(()=>{x&&x.focus&&x.focus()}),R=(0,h.Z)(()=>{let e=k.current,t=o;if(null==t&&(t=!!(f.current&&e$(f.current))&&"keyboard"),!1===t||"keyboard"===t&&!/^key.+$/.test(e))return;let n=(0,m.Z)(f.current,a)[0];n&&n.focus&&n.focus()});(0,d.useEffect)(()=>{l?R():E.current&&(E.current=!1,A())},[l,E,A,R]),(0,d.useEffect)(()=>{k.current=null});let Z=(e,t)=>{if(!f.current)return null;let n=(0,m.Z)(f.current,a),r=n.indexOf(e)+t;return r=Math.max(0,Math.min(r,n.length)),n[r]};return(0,g.Z)((0,d.useCallback)(()=>s.document,[s]),"keydown",e=>{var t,n;let{key:r}=e,a=e.target,o=null==(t=f.current)?void 0:t.contains(a),i=null==(n=w.current)?void 0:n.contains(a);if(/input|textarea/i.test(a.tagName)&&(" "===r||"Escape"!==r&&o||"Escape"===r&&"search"===a.type)||!o&&!i||"Tab"===r&&(!f.current||!l))return;k.current=e.type;let c={originalEvent:e,source:e.type};switch(r){case"ArrowUp":{let t=Z(a,-1);t&&t.focus&&t.focus(),e.preventDefault();return}case"ArrowDown":if(e.preventDefault(),l){let e=Z(a,1);e&&e.focus&&e.focus()}else u(!0,c);return;case"Tab":(0,b.ZP)(a.ownerDocument,"keyup",e=>{var t;("Tab"!==e.key||e.target)&&null!=(t=f.current)&&t.contains(e.target)||u(!1,c)},{once:!0});break;case"Escape":"Escape"===r&&(e.preventDefault(),e.stopPropagation()),u(!1,c)}}),(0,eW.jsx)(eQ.Z.Provider,{value:N,children:(0,eW.jsx)(O.Provider,{value:D,children:c})})}e7.displayName="Dropdown",e7.Menu=eq,e7.Toggle=eJ,e7.Item=e5;var e8=n(5446),te=d.createContext({});te.displayName="DropdownContext";var tt=["className","bsPrefix","as","role"];function tn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var tr=d.forwardRef(function(e,t){var n=e.className,r=e.bsPrefix,a=e.as,o=e.role,i=(0,l.Z)(e,tt);return r=(0,p.vE)(r,"dropdown-divider"),(0,eW.jsx)(void 0===a?"hr":a,function(e){for(var t=1;t{if(!e||!t)return;let n=ep.get(t)||new Map;ep.set(t,n);let r=n.get(e);return r||((r=t.matchMedia(e)).refCount=0,n.set(r.media,r)),r},eb=function(e){let t=Object.keys(e);function n(e,t){return e===t?t:e?`${e} and ${t}`:t}return function(r,a,o){let i;return"object"==typeof r?(i=r,o=a,a=!0):i={[r]:a=a||!0},function(e,t="undefined"==typeof window?void 0:window){let n=em(e,t),[r,a]=(0,d.useState)(()=>!!n&&n.matches);return(0,ed.Z)(()=>{let n=em(e,t);if(!n)return a(!1);let r=ep.get(t),o=()=>{a(n.matches)};return n.refCount++,n.addListener(o),o(),()=>{n.removeListener(o),n.refCount--,n.refCount<=0&&(null==r||r.delete(n.media)),n=void 0}},[e]),r}((0,d.useMemo)(()=>Object.entries(i).reduce((r,[a,o])=>{if("up"===o||!0===o){let t;r=n(r,("number"==typeof(t=e[a])&&(t=`${t}px`),`(min-width: ${t})`))}if("down"===o||!0===o){let o;r=n(r,(o="number"==typeof(o=e[t[Math.min(t.indexOf(a)+1,t.length-1)]])?`${o-.2}px`:`calc(${o} - 0.2px)`,`(max-width: ${o})`))}return r},""),[JSON.stringify(i)]),o)}}({xs:0,sm:576,md:768,lg:992,xl:1200,xxl:1400});function ev(e){void 0===e&&(e=(0,w.Z)());try{var t=e.activeElement;if(!t||!t.nodeName)return null;return t}catch(t){return e.body}}var ey=n(424),eg=n(3004),eh=n(6454),eO=n(8833);let ew=(0,n(2747).PB)("modal-open");class ej{constructor({ownerDocument:e,handleContainerOverflow:t=!0,isRTL:n=!1}={}){this.handleContainerOverflow=t,this.isRTL=n,this.modals=[],this.ownerDocument=e}getScrollbarWidth(){return function(e=document){return Math.abs(e.defaultView.innerWidth-e.documentElement.clientWidth)}(this.ownerDocument)}getElement(){return(this.ownerDocument||document).body}setModalAttributes(e){}removeModalAttributes(e){}setContainerStyle(e){let t={overflow:"hidden"},n=this.isRTL?"paddingLeft":"paddingRight",r=this.getElement();e.style={overflow:r.style.overflow,[n]:r.style[n]},e.scrollBarWidth&&(t[n]=`${parseInt(E(r,n)||"0",10)+e.scrollBarWidth}px`),r.setAttribute(ew,""),E(r,t)}reset(){[...this.modals].forEach(e=>this.remove(e))}removeContainerStyle(e){let t=this.getElement();t.removeAttribute(ew),Object.assign(t.style,e.style)}add(e){let t=this.modals.indexOf(e);return -1!==t||(t=this.modals.length,this.modals.push(e),this.setModalAttributes(e),0!==t||(this.state={scrollBarWidth:this.getScrollbarWidth(),style:{}},this.handleContainerOverflow&&this.setContainerStyle(this.state))),t}remove(e){let t=this.modals.indexOf(e);-1!==t&&(this.modals.splice(t,1),!this.modals.length&&this.handleContainerOverflow&&this.removeContainerStyle(this.state),this.removeModalAttributes(e))}isTopModal(e){return!!this.modals.length&&this.modals[this.modals.length-1]===e}}var ex=n(2963);let eP=(e,t)=>eg.Z?null==e?(t||(0,w.Z)()).body:("function"==typeof e&&(e=e()),e&&"current"in e&&(e=e.current),e&&("nodeType"in e||e.getBoundingClientRect))?e:null:null;var ek=function({children:e,in:t,onExited:n,mountOnEnter:r,unmountOnExit:a}){let o=(0,d.useRef)(null),i=(0,d.useRef)(t),c=(0,ec.Z)(n);(0,d.useEffect)(()=>{t?i.current=!0:c(o.current)},[t,c]);let s=(0,V.Z)(o,e.ref),l=(0,d.cloneElement)(e,{ref:s});return t?l:a||!i.current&&r?null:l};function eE(){let e=d.version.split(".");return{major:+e[0],minor:+e[1],patch:+e[2]}}let eS=["onEnter","onEntering","onEntered","onExit","onExiting","onExited","addEndListener","children"],eC=["component"],eN=d.forwardRef((e,t)=>{let{component:n}=e,r=function(e){let{onEnter:t,onEntering:n,onEntered:r,onExit:a,onExiting:o,onExited:i,addEndListener:c,children:s}=e,l=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,eS),{major:u}=eE(),f=u>=19?s.props.ref:s.ref,p=(0,d.useRef)(null),m=(0,V.Z)(p,"function"==typeof s?null:f),b=e=>t=>{e&&p.current&&e(p.current,t)},v=(0,d.useCallback)(b(t),[t]),y=(0,d.useCallback)(b(n),[n]),g=(0,d.useCallback)(b(r),[r]),h=(0,d.useCallback)(b(a),[a]),O=(0,d.useCallback)(b(o),[o]),w=(0,d.useCallback)(b(i),[i]),j=(0,d.useCallback)(b(c),[c]);return Object.assign({},l,{nodeRef:p},t&&{onEnter:v},n&&{onEntering:y},r&&{onEntered:g},a&&{onExit:h},o&&{onExiting:O},i&&{onExited:w},c&&{addEndListener:j},{children:"function"==typeof s?(e,t)=>s(e,Object.assign({},t,{ref:m})):(0,d.cloneElement)(s,{ref:m})})}(function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,eC));return(0,v.jsx)(n,Object.assign({ref:t},r))});function eD({children:e,in:t,onExited:n,onEntered:r,transition:a}){let[o,i]=(0,d.useState)(!t);t&&o&&i(!1);let c=function({in:e,onTransition:t}){let n=(0,d.useRef)(null),r=(0,d.useRef)(!0),a=(0,ec.Z)(t);return(0,ed.Z)(()=>{if(!n.current)return;let t=!1;return a({in:e,element:n.current,initial:r.current,isStale:()=>t}),()=>{t=!0}},[e,a]),(0,ed.Z)(()=>(r.current=!1,()=>{r.current=!0}),[]),n}({in:!!t,onTransition:e=>{Promise.resolve(a(e)).then(()=>{e.isStale()||(e.in?null==r||r(e.element,e.initial):(i(!0),null==n||n(e.element)))},t=>{throw e.in||i(!0),t})}}),s=(0,V.Z)(c,e.ref);return o&&!t?null:(0,d.cloneElement)(e,{ref:s})}function eA(e,t,n){return e?(0,v.jsx)(eN,Object.assign({},n,{component:e})):t?(0,v.jsx)(eD,Object.assign({},n,{transition:t})):(0,v.jsx)(ek,Object.assign({},n))}let eR=["show","role","className","style","children","backdrop","keyboard","onBackdropClick","onEscapeKeyDown","transition","runTransition","backdropTransition","runBackdropTransition","autoFocus","enforceFocus","restoreFocus","restoreFocusOptions","renderDialog","renderBackdrop","manager","container","onShow","onHide","onExit","onExited","onExiting","onEnter","onEntering","onEntered"],eZ=(0,d.forwardRef)((e,t)=>{let{show:n=!1,role:a="dialog",className:o,style:i,children:c,backdrop:s=!0,keyboard:l=!0,onBackdropClick:u,onEscapeKeyDown:f,transition:p,runTransition:m,backdropTransition:b,runBackdropTransition:y,autoFocus:g=!0,enforceFocus:h=!0,restoreFocus:O=!0,restoreFocusOptions:w,renderDialog:j,renderBackdrop:x=e=>(0,v.jsx)("div",Object.assign({},e)),manager:P,container:k,onShow:E,onHide:S=()=>{},onExit:C,onExited:D,onExiting:A,onEnter:R,onEntering:Z,onEntered:T}=e,M=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,eR),_=(0,ex.Z)(),L=function(e,t){let n=(0,ex.Z)(),[r,a]=(0,d.useState)(()=>eP(e,null==n?void 0:n.document));if(!r){let t=eP(e);t&&a(t)}return(0,d.useEffect)(()=>{},[void 0,r]),(0,d.useEffect)(()=>{let t=eP(e);t!==r&&a(t)},[e,r]),r}(k),I=function(e){let t=(0,ex.Z)(),n=e||(r||(r=new ej({ownerDocument:null==t?void 0:t.document})),r),a=(0,d.useRef)({dialog:null,backdrop:null});return Object.assign(a.current,{add:()=>n.add(a.current),remove:()=>n.remove(a.current),isTopModal:()=>n.isTopModal(a.current),setDialogRef:(0,d.useCallback)(e=>{a.current.dialog=e},[]),setBackdropRef:(0,d.useCallback)(e=>{a.current.backdrop=e},[])})}(P),F=(0,eh.Z)(),B=(0,eO.Z)(n),[H,W]=(0,d.useState)(!n),V=(0,d.useRef)(null);(0,d.useImperativeHandle)(t,()=>I,[I]),eg.Z&&!B&&n&&(V.current=ev(null==_?void 0:_.document)),n&&H&&W(!1);let U=(0,ec.Z)(()=>{if(I.add(),X.current=(0,z.Z)(document,"keydown",$),G.current=(0,z.Z)(document,"focus",()=>setTimeout(q),!0),E&&E(),g){var e,t;let n=ev(null!=(e=null==(t=I.dialog)?void 0:t.ownerDocument)?e:null==_?void 0:_.document);I.dialog&&n&&!(0,ey.Z)(I.dialog,n)&&(V.current=n,I.dialog.focus())}}),Y=(0,ec.Z)(()=>{if(I.remove(),null==X.current||X.current(),null==G.current||G.current(),O){var e;null==(e=V.current)||null==e.focus||e.focus(w),V.current=null}});(0,d.useEffect)(()=>{n&&L&&U()},[n,L,U]),(0,d.useEffect)(()=>{H&&Y()},[H,Y]),function(e){let t=function(e){let t=(0,d.useRef)(e);return t.current=e,t}(e);(0,d.useEffect)(()=>()=>t.current(),[])}(()=>{Y()});let q=(0,ec.Z)(()=>{if(!h||!F()||!I.isTopModal())return;let e=ev(null==_?void 0:_.document);I.dialog&&e&&!(0,ey.Z)(I.dialog,e)&&I.dialog.focus()}),K=(0,ec.Z)(e=>{e.target===e.currentTarget&&(null==u||u(e),!0===s&&S())}),$=(0,ec.Z)(e=>{l&&("Escape"===e.code||27===e.keyCode)&&I.isTopModal()&&(null==f||f(e),e.defaultPrevented||S())}),G=(0,d.useRef)(),X=(0,d.useRef)();if(!L)return null;let J=Object.assign({role:a,ref:I.setDialogRef,"aria-modal":"dialog"===a||void 0},M,{style:i,className:o,tabIndex:-1}),Q=j?j(J):(0,v.jsx)("div",Object.assign({},J,{children:d.cloneElement(c,{role:"document"})}));Q=eA(p,m,{unmountOnExit:!0,mountOnEnter:!0,appear:!0,in:!!n,onExit:C,onExiting:A,onExited:(...e)=>{W(!0),null==D||D(...e)},onEnter:R,onEntering:Z,onEntered:T,children:Q});let ee=null;return s&&(ee=eA(b,y,{in:!!n,appear:!0,mountOnEnter:!0,unmountOnExit:!0,children:ee=x({ref:I.setBackdropRef,onClick:K})})),(0,v.jsx)(v.Fragment,{children:N.createPortal((0,v.jsxs)(v.Fragment,{children:[ee,Q]}),L)})});eZ.displayName="Modal";var eT=Object.assign(eZ,{Manager:ej}),eM=["className","children","transitionClasses","onEnter"];function e_(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function eL(e){for(var t=1;t=19?r.props.ref:r.ref;return(0,v.jsx)(K,eL(eL({ref:t,addEndListener:B},c),{},{onEnter:s,childRef:u,children:function(e,t){return d.cloneElement(r,eL(eL({},t),{},{className:f()("fade",n,r.props.className,eI[e],o[e])}))}}))});ez.displayName="Fade";var eF=["className","bsPrefix","as"];function eB(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var eH=d.forwardRef(function(e,t){var n=e.className,r=e.bsPrefix,a=e.as,o=(0,l.Z)(e,eF);return r=(0,b.vE)(r,"offcanvas-body"),(0,v.jsx)(void 0===a?"div":a,function(e){for(var t=1;t1?t-1:0),r=1;r1?t-1:0),r=1;r>",s=i||r;if(null==n[r])return t?Error("Required "+o+" `"+s+"` was not specified in `"+c+"`."):null;for(var l=arguments.length,u=Array(l>6?l-6:0),f=6;f=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,l)),{},{target:n,href:t,onClick:this.handleClick});return n===v&&(r.rel="".concat(r.rel?r.rel:""," noopener noreferrer").trim()),delete r.eventLabel,delete r.trackerNames,a.createElement("a",r)}}],function(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]?arguments[0]:"",r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2)||void 0===arguments[2]||arguments[2],o=n||"";return r&&(o=g(n).replace(/[A-Za-z0-9\u00C0-\u00FF]+[^\s-]*/g,function(e,t,n){return t>0&&t+e.length!==n.length&&e.search(h)>-1&&":"!==n.charAt(t-2)&&("-"!==n.charAt(t+e.length)||"-"===n.charAt(t-1))&&0>n.charAt(t-1).search(/[^\s-]/)?e.toLowerCase():e.substr(1).search(/[A-Z]|\../)>-1?e:e.charAt(0).toUpperCase()+e.substr(1)})),a&&(o="string"==typeof(t=e=o)&&-1!==t.indexOf("@")?(c("This arg looks like an email address, redacting."),"REDACTED (Potential Email Address)"):e),o}(e,D,Z)}function _(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r0&&(T.apply(void 0,t),N&&(w("called ga('arguments');"),w("with arguments: ".concat(JSON.stringify(t))))),window.ga}function B(e,t){if(!e){c("`fieldsObject` is required in .set()");return}if("object"!==E(e)){c("Expected `fieldsObject` arg to be an Object");return}0===Object.keys(e).length&&c("empty `fieldsObject` given to .set()"),_(t,"set",e),N&&(w("called ga('set', fieldsObject);"),w("with fieldsObject: ".concat(JSON.stringify(e))))}function H(e,t){_(t,"send",e),N&&(w("called ga('send', fieldObject);"),w("with fieldObject: ".concat(JSON.stringify(e))),w("with trackers: ".concat(JSON.stringify(t))))}function W(e,t,n){if(!e){c("path is required in .pageview()");return}var r=g(e);if(""===r){c("path cannot be an empty string in .pageview()");return}var a={};if(n&&(a.title=n),_(t,"send",function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.category,n=e.variable,r=e.value,a=e.label,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(!t||!n||"number"!=typeof r){c("args.category, args.variable AND args.value are required in timing() AND args.value has to be a number");return}var i={hitType:"timing",timingCategory:M(t),timingVar:M(n),timingValue:r};a&&(i.timingLabel=M(a)),H(i,o)}function Y(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.category,n=e.action,r=e.label,a=e.value,o=e.nonInteraction,i=e.transport,s=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,P),l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(!t||!n){c("args.category AND args.action are required in event()");return}var u={hitType:"event",eventCategory:M(t),eventAction:M(n)};r&&(u.eventLabel=M(r)),void 0!==a&&("number"!=typeof a?c("Expected `args.value` arg to be a Number."):u.eventValue=a),void 0!==o&&("boolean"!=typeof o?c("`args.nonInteraction` must be a boolean."):u.nonInteraction=o),void 0!==i&&("string"!=typeof i?c("`args.transport` must be a string."):(-1===["beacon","xhr","image"].indexOf(i)&&c("`args.transport` must be either one of these values: `beacon`, `xhr` or `image`"),u.transport=i)),Object.keys(s).filter(function(e){return"dimension"===e.substr(0,9)}).forEach(function(e){u[e]=s[e]}),Object.keys(s).filter(function(e){return"metric"===e.substr(0,6)}).forEach(function(e){u[e]=s[e]}),H(u,l)}function q(e,t){var n=e.description,r=e.fatal,a={hitType:"exception"};n&&(a.exDescription=M(n)),void 0!==r&&("boolean"!=typeof r?c("`args.fatal` must be a boolean."):a.exFatal=r),H(a,t)}var K={require:function(e,t,n){if(!e){c("`name` is required in .require()");return}var r=g(e);if(""===r){c("`name` cannot be an empty string in .require()");return}var a=n?"".concat(n,".require"):"require";if(t){if("object"!==E(t)){c("Expected `options` arg to be an Object");return}0===Object.keys(t).length&&c("Empty `options` given to .require()"),F(a,r,t),N&&w("called ga('require', '".concat(r,"', ").concat(JSON.stringify(t)))}else F(a,r),N&&w("called ga('require', '".concat(r,"');"))},execute:function(e,t){for(var n,r,a=arguments.length,o=Array(a>2?a-2:0),i=2;i1?t-1:0),r=1;r=0)continue;n[r]=e[r]}return n}n.d(t,{Z:function(){return r}})},3636:function(e,t,n){"use strict";function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function a(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0;)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return t}function ed(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function ep(e){return e.classList?ed(e.classList):(e.getAttribute("class")||"").split(" ").filter(function(e){return e})}function em(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function eb(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,": ").concat(e[n].trim(),";")},"")}function ev(e){return e.size!==eu.size||e.x!==eu.x||e.y!==eu.y||e.rotate!==eu.rotate||e.flipX||e.flipY}function ey(){var e=es.cssPrefix,t=es.replacementClass,n=':root, :host {\n --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid";\n --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular";\n --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light";\n --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin";\n --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";\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-brands: normal 400 1em/1 "Font Awesome 6 Brands";\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 -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\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 -webkit-transform: scale(var(--fa-counter-scale, 0.25));\n transform: scale(var(--fa-counter-scale, 0.25));\n -webkit-transform-origin: top right;\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom right;\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom left;\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top right;\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top left;\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(var(--fa-li-width, 2em) * -1);\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 -webkit-animation-name: fa-beat;\n animation-name: fa-beat;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n -webkit-animation-name: fa-bounce;\n animation-name: fa-bounce;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n -webkit-animation-name: fa-fade;\n animation-name: fa-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n -webkit-animation-name: fa-beat-fade;\n animation-name: fa-beat-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n -webkit-animation-name: fa-flip;\n animation-name: fa-flip;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n -webkit-animation-name: fa-shake;\n animation-name: fa-shake;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\n animation-duration: var(--fa-animation-duration, 2s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\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 -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\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 -webkit-animation-delay: -1ms;\n animation-delay: -1ms;\n -webkit-animation-duration: 1ms;\n animation-duration: 1ms;\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n -webkit-transition-delay: 0s;\n transition-delay: 0s;\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n }\n}\n@-webkit-keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@-webkit-keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\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 -webkit-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 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 -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\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 -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\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 -webkit-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 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 -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\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 -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@-webkit-keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@-webkit-keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@-webkit-keyframes fa-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\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-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\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@-webkit-keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n -webkit-transform: rotate(var(--fa-rotate-angle, 0));\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}\n\n.fad.fa-inverse,\n.fa-duotone.fa-inverse {\n color: var(--fa-inverse, #fff);\n}';if("fa"!==e||t!==Z){var r=RegExp("\\.".concat("fa","\\-"),"g"),a=RegExp("\\--".concat("fa","\\-"),"g"),o=RegExp("\\.".concat(Z),"g");n=n.replace(r,".".concat(e,"-")).replace(a,"--".concat(e,"-")).replace(o,".".concat(t))}return n}var eg=!1;function eh(){es.autoAddCss&&!eg&&(!function(e){if(e&&D){var t=S.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;for(var n=S.head.childNodes,r=null,a=n.length-1;a>-1;a--){var o=n[a];["STYLE","LINK"].indexOf((o.tagName||"").toUpperCase())>-1&&(r=o)}S.head.insertBefore(t,r)}}(ey()),eg=!0)}var eO=E||{};eO[R]||(eO[R]={}),eO[R].styles||(eO[R].styles={}),eO[R].hooks||(eO[R].hooks={}),eO[R].shims||(eO[R].shims=[]);var ew=eO[R],ej=[],ex=!1;function eP(e){var t,n=e.tag,r=e.attributes,a=e.children;return"string"==typeof e?em(e):"<".concat(n," ").concat(Object.keys((t=void 0===r?{}:r)||{}).reduce(function(e,n){return e+"".concat(n,'="').concat(em(t[n]),'" ')},"").trim(),">").concat((void 0===a?[]:a).map(eP).join(""),"")}function ek(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}!D||(ex=(S.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(S.readyState))||S.addEventListener("DOMContentLoaded",function e(){S.removeEventListener("DOMContentLoaded",e),ex=1,ej.map(function(e){return e()})});var eE=function(e,t,n,r){var a,o,i,c=Object.keys(e),s=c.length,l=void 0!==r?function(e,n,a,o){return t.call(r,e,n,a,o)}:t;for(void 0===n?(a=1,i=e[c[0]]):(a=0,i=n);a=55296&&a<=56319&&n2&&void 0!==arguments[2]?arguments[2]:{},r=n.skipHooks,o=eC(t);"function"!=typeof ew.hooks.addPack||void 0!==r&&r?ew.styles[e]=a(a({},ew.styles[e]||{}),o):ew.hooks.addPack(e,eC(t)),"fas"===e&&eN("fa",t)}var eD=ew.styles,eA=ew.shims,eR=(i(v={},B,Object.values(q[B])),i(v,H,Object.values(q[H])),v),eZ=null,eT={},eM={},e_={},eL={},eI={},ez=(i(y={},B,Object.keys(U[B])),i(y,H,Object.keys(U[H])),y),eF=function(){var e=function(e){return eE(eD,function(t,n,r){return t[r]=eE(n,e,{}),t},{})};eT=e(function(e,t,n){return t[3]&&(e[t[3]]=n),t[2]&&t[2].filter(function(e){return"number"==typeof e}).forEach(function(t){e[t.toString(16)]=n}),e}),eM=e(function(e,t,n){return e[n]=n,t[2]&&t[2].filter(function(e){return"string"==typeof e}).forEach(function(t){e[t]=n}),e}),eI=e(function(e,t,n){var r=t[2];return e[n]=n,r.forEach(function(t){e[t]=n}),e});var t="far"in eD||es.autoFetchSvg,n=eE(eA,function(e,n){var r=n[0],a=n[1],o=n[2];return"far"!==a||t||(a="fas"),"string"==typeof r&&(e.names[r]={prefix:a,iconName:o}),"number"==typeof r&&(e.unicodes[r.toString(16)]={prefix:a,iconName:o}),e},{names:{},unicodes:{}});e_=n.names,eL=n.unicodes,eZ=eU(es.styleDefault,{family:es.familyDefault})};function eB(e,t){return(eT[e]||{})[t]}function eH(e,t){return(eI[e]||{})[t]}function eW(e){return e_[e]||{prefix:null,iconName:null}}el.push(function(e){eZ=eU(e.styleDefault,{family:es.familyDefault})}),eF();var eV=function(){return{prefix:null,iconName:null,rest:[]}};function eU(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.family,r=void 0===n?B:n,a=U[r][e],o=Y[r][e]||Y[r][a],i=e in ew.styles?e:null;return o||i||null}var eY=(i(g={},B,Object.keys(q[B])),i(g,H,Object.keys(q[H])),g);function eq(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.skipLookups,a=void 0!==r&&r,o=(i(t={},B,"".concat(es.cssPrefix,"-").concat(B)),i(t,H,"".concat(es.cssPrefix,"-").concat(H)),t),c=null,s=B;(e.includes(o[B])||e.some(function(e){return eY[B].includes(e)}))&&(s=B),(e.includes(o[H])||e.some(function(e){return eY[H].includes(e)}))&&(s=H);var l=e.reduce(function(e,t){var n,r,i,l,u=(n=es.cssPrefix,i=(r=t.split("-"))[0],l=r.slice(1).join("-"),i!==n||""===l||~ea.indexOf(l)?null:l);if(eD[t]?(c=t=eR[s].includes(t)?K[s][t]:t,e.prefix=t):ez[s].indexOf(t)>-1?(c=t,e.prefix=eU(t,{family:s})):u?e.iconName=u:t!==es.replacementClass&&t!==o[B]&&t!==o[H]&&e.rest.push(t),!a&&e.prefix&&e.iconName){var f="fa"===c?eW(e.iconName):{},d=eH(e.prefix,e.iconName);f.prefix&&(c=null),e.iconName=f.iconName||d||e.iconName,e.prefix=f.prefix||e.prefix,"far"!==e.prefix||eD.far||!eD.fas||es.autoFetchSvg||(e.prefix="fas")}return e},eV());return(e.includes("fa-brands")||e.includes("fab"))&&(l.prefix="fab"),(e.includes("fa-duotone")||e.includes("fad"))&&(l.prefix="fad"),!l.prefix&&s===H&&(eD.fass||es.autoFetchSvg)&&(l.prefix="fass",l.iconName=eH(l.prefix,l.iconName)||l.iconName),("fa"===l.prefix||"fa"===c)&&(l.prefix=eZ||"fas"),l}var eK=function(){var e;function t(){!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,t),this.definitions={}}return e=[{key:"add",value:function(){for(var e=this,t=arguments.length,n=Array(t),r=0;r0&&c.forEach(function(t){"string"==typeof t&&(e[a][t]=i)}),e[a][o]=i}),e}}],function(e,t){for(var n=0;n2?n-2:0),a=2;a1?t-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{};return D?(e0("beforeI2svg",e),e1("pseudoElements2svg",e),e1("i2svg",e)):Promise.reject("Operation requires a DOM of some kind.")},watch:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.autoReplaceSvgRoot;!1===es.autoReplaceSvg&&(es.autoReplaceSvg=!0),es.observeMutations=!0,e=function(){e5({autoReplaceSvgRoot:n}),e0("watch",t)},D&&(ex?setTimeout(e,0):ej.push(e))}},parse:{icon:function(e){if(null===e)return null;if("object"===o(e)&&e.prefix&&e.iconName)return{prefix:e.prefix,iconName:eH(e.prefix,e.iconName)||e.iconName};if(Array.isArray(e)&&2===e.length){var t=0===e[1].indexOf("fa-")?e[1].slice(3):e[1],n=eU(e[0]);return{prefix:n,iconName:eH(n,t)||t}}if("string"==typeof e&&(e.indexOf("".concat(es.cssPrefix,"-"))>-1||e.match($))){var r=eq(e.split(" "),{skipLookups:!0});return{prefix:r.prefix||eZ,iconName:eH(r.prefix,r.iconName)||r.iconName}}if("string"==typeof e){var a=eZ;return{prefix:a,iconName:eH(a,e)||e}}}},library:e3,findIconDefinition:e2,toHtml:eP},e5=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.autoReplaceSvgRoot,n=void 0===t?S:t;(Object.keys(ew.styles).length>0||es.autoFetchSvg)&&D&&es.autoReplaceSvg&&e4.dom.i2svg({node:n})};function e6(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(e){return eP(e)})}}),Object.defineProperty(e,"node",{get:function(){if(D){var t=S.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function e9(e){var t,n,r,o,i,c,s=e.icons,l=s.main,u=s.mask,f=e.prefix,d=e.iconName,p=e.transform,m=e.symbol,b=e.title,v=e.maskId,y=e.titleId,g=e.extra,h=e.watchable,O=u.found?u:l,w=O.width,j=O.height,x="fak"===f,P=[es.replacementClass,d?"".concat(es.cssPrefix,"-").concat(d):""].filter(function(e){return -1===g.classes.indexOf(e)}).filter(function(e){return""!==e||!!e}).concat(g.classes).join(" "),k={children:[],attributes:a(a({},g.attributes),{},{"data-prefix":f,"data-icon":d,class:P,role:g.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(w," ").concat(j)})},E=x&&!~g.classes.indexOf("fa-fw")?{width:"".concat(w/j*1,"em")}:{};void 0!==h&&h&&(k.attributes[T]=""),b&&(k.children.push({tag:"title",attributes:{id:k.attributes["aria-labelledby"]||"title-".concat(y||ef())},children:[b]}),delete k.attributes.title);var S=a(a({},k),{},{prefix:f,iconName:d,main:l,mask:u,maskId:v,transform:p,symbol:m,styles:a(a({},E),g.styles)}),C=u.found&&l.found?e1("generateAbstractMask",S)||{children:[],attributes:{}}:e1("generateAbstractIcon",S)||{children:[],attributes:{}},N=C.children,D=C.attributes;return(S.children=N,S.attributes=D,m)?(t=S.prefix,n=S.iconName,r=S.children,o=S.attributes,c=!0===(i=S.symbol)?"".concat(t,"-").concat(es.cssPrefix,"-").concat(n):i,[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:a(a({},o),{},{id:c}),children:r}]}]):function(e){var t=e.children,n=e.main,r=e.mask,o=e.attributes,i=e.styles,c=e.transform;if(ev(c)&&n.found&&!r.found){var s={x:n.width/n.height/2,y:.5};o.style=eb(a(a({},i),{},{"transform-origin":"".concat(s.x+c.x/16,"em ").concat(s.y+c.y/16,"em")}))}return[{tag:"svg",attributes:o,children:t}]}(S)}function e7(e){var t,n,r,o,i,c,s,l=e.content,u=e.width,f=e.height,d=e.transform,p=e.title,m=e.extra,b=e.watchable,v=a(a(a({},m.attributes),p?{title:p}:{}),{},{class:m.classes.join(" ")});void 0!==b&&b&&(v[T]="");var y=a({},m.styles);ev(d)&&(y.transform=(n=(t={transform:d,startCentered:!0,width:u,height:f}).transform,r=t.width,o=t.height,c=void 0!==(i=t.startCentered)&&i,s="",c&&A?s+="translate(".concat(n.x/16-(void 0===r?16:r)/2,"em, ").concat(n.y/16-(void 0===o?16:o)/2,"em) "):c?s+="translate(calc(-50% + ".concat(n.x/16,"em), calc(-50% + ").concat(n.y/16,"em)) "):s+="translate(".concat(n.x/16,"em, ").concat(n.y/16,"em) "),s+="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") ")+"rotate(".concat(n.rotate,"deg) ")),y["-webkit-transform"]=y.transform);var g=eb(y);g.length>0&&(v.style=g);var h=[];return h.push({tag:"span",attributes:v,children:[l]}),p&&h.push({tag:"span",attributes:{class:"sr-only"},children:[p]}),h}var e8=ew.styles;function te(e){var t=e[0],n=e[1],r=c(e.slice(4),1)[0];return{found:!0,width:t,height:n,icon:Array.isArray(r)?{tag:"g",attributes:{class:"".concat(es.cssPrefix,"-").concat(en.GROUP)},children:[{tag:"path",attributes:{class:"".concat(es.cssPrefix,"-").concat(en.SECONDARY),fill:"currentColor",d:r[0]}},{tag:"path",attributes:{class:"".concat(es.cssPrefix,"-").concat(en.PRIMARY),fill:"currentColor",d:r[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:r}}}}var tt={found:!1,width:512,height:512};function tn(e,t){var n=t;return"fa"===t&&null!==es.styleDefault&&(t=eZ),new Promise(function(r,o){if(e1("missingIconAbstract"),"fa"===n){var i,c,s=eW(e)||{};e=s.iconName||e,t=s.prefix||t}if(e&&t&&e8[t]&&e8[t][e])return r(te(e8[t][e]));i=e,c=t,F||es.showMissingIcons||!i||console.error('Icon with name "'.concat(i,'" and prefix "').concat(c,'" is missing.')),r(a(a({},tt),{},{icon:es.showMissingIcons&&e&&e1("missingIconAbstract")||{}}))})}var tr=function(){},ta=es.measurePerformance&&N&&N.mark&&N.measure?N:{mark:tr,measure:tr},to='FA "6.5.2"',ti=function(e){ta.mark("".concat(to," ").concat(e," ends")),ta.measure("".concat(to," ").concat(e),"".concat(to," ").concat(e," begins"),"".concat(to," ").concat(e," ends"))},tc={begin:function(e){return ta.mark("".concat(to," ").concat(e," begins")),function(){return ti(e)}}},ts=function(){};function tl(e){return"string"==typeof(e.getAttribute?e.getAttribute(T):null)}function tu(e){return S.createElementNS("http://www.w3.org/2000/svg",e)}function tf(e){return S.createElement(e)}var td={replace:function(e){var t=e[0];if(t.parentNode){if(e[1].forEach(function(e){t.parentNode.insertBefore(function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.ceFn,a=void 0===r?"svg"===t.tag?tu:tf:r;if("string"==typeof t)return S.createTextNode(t);var o=a(t.tag);return Object.keys(t.attributes||[]).forEach(function(e){o.setAttribute(e,t.attributes[e])}),(t.children||[]).forEach(function(t){o.appendChild(e(t,{ceFn:a}))}),o}(e),t)}),null===t.getAttribute(T)&&es.keepOriginalSource){var n,r=S.createComment((n=" ".concat(t.outerHTML," "),n="".concat(n,"Font Awesome fontawesome.com ")));t.parentNode.replaceChild(r,t)}else t.remove()}},nest:function(e){var t=e[0],n=e[1];if(~ep(t).indexOf(es.replacementClass))return td.replace(e);var r=new RegExp("".concat(es.cssPrefix,"-.*"));if(delete n[0].attributes.id,n[0].attributes.class){var a=n[0].attributes.class.split(" ").reduce(function(e,t){return t===es.replacementClass||t.match(r)?e.toSvg.push(t):e.toNode.push(t),e},{toNode:[],toSvg:[]});n[0].attributes.class=a.toSvg.join(" "),0===a.toNode.length?t.removeAttribute("class"):t.setAttribute("class",a.toNode.join(" "))}var o=n.map(function(e){return eP(e)}).join("\n");t.setAttribute(T,""),t.innerHTML=o}};function tp(e){e()}function tm(e,t){var n="function"==typeof t?t:ts;if(0===e.length)n();else{var r=tp;"async"===es.mutateApproach&&(r=E.requestAnimationFrame||tp),r(function(){var t=!0===es.autoReplaceSvg?td.replace:td[es.autoReplaceSvg]||td.replace,r=tc.begin("mutate");e.map(t),r(),n()})}}var tb=!1,tv=null;function ty(e){if(C&&es.observeMutations){var t=e.treeCallback,n=void 0===t?ts:t,r=e.nodeCallback,a=void 0===r?ts:r,o=e.pseudoElementsCallback,i=void 0===o?ts:o,c=e.observeMutationsRoot,s=void 0===c?S:c;tv=new C(function(e){if(!tb){var t=eZ;ed(e).forEach(function(e){if("childList"===e.type&&e.addedNodes.length>0&&!tl(e.addedNodes[0])&&(es.searchPseudoElements&&i(e.target),n(e.target)),"attributes"===e.type&&e.target.parentNode&&es.searchPseudoElements&&i(e.target.parentNode),"attributes"===e.type&&tl(e.target)&&~et.indexOf(e.attributeName)){if("class"===e.attributeName&&(o=(r=e.target).getAttribute?r.getAttribute(_):null,c=r.getAttribute?r.getAttribute(L):null,o&&c)){var r,o,c,s,l=eq(ep(e.target)),u=l.prefix,f=l.iconName;e.target.setAttribute(_,u||t),f&&e.target.setAttribute(L,f)}else(s=e.target)&&s.classList&&s.classList.contains&&s.classList.contains(es.replacementClass)&&a(e.target)}})}}),D&&tv.observe(s,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function tg(e){var t,n,r,o,i,c,s,l,u,f,d,p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{styleParser:!0},m=(r=e.getAttribute("data-prefix"),o=e.getAttribute("data-icon"),i=void 0!==e.innerText?e.innerText.trim():"",(c=eq(ep(e))).prefix||(c.prefix=eZ),r&&o&&(c.prefix=r,c.iconName=o),c.iconName&&c.prefix||(c.prefix&&i.length>0&&(c.iconName=(t=c.prefix,n=e.innerText,(eM[t]||{})[n]||eB(c.prefix,eS(e.innerText)))),!c.iconName&&es.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(c.iconName=e.firstChild.data)),c),b=m.iconName,v=m.prefix,y=m.rest,g=(s=ed(e.attributes).reduce(function(e,t){return"class"!==e.name&&"style"!==e.name&&(e[t.name]=t.value),e},{}),l=e.getAttribute("title"),u=e.getAttribute("data-fa-title-id"),es.autoA11y&&(l?s["aria-labelledby"]="".concat(es.replacementClass,"-title-").concat(u||ef()):(s["aria-hidden"]="true",s.focusable="false")),s),h=eQ("parseNodeAttributes",{},e),O=p.styleParser?(f=e.getAttribute("style"),d=[],f&&(d=f.split(";").reduce(function(e,t){var n=t.split(":"),r=n[0],a=n.slice(1);return r&&a.length>0&&(e[r]=a.join(":").trim()),e},{})),d):[];return a({iconName:b,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:v,transform:eu,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:y,styles:O,attributes:g}},h)}var th=ew.styles;function tO(e){var t="nest"===es.autoReplaceSvg?tg(e,{styleParser:!1}):tg(e);return~t.extra.classes.indexOf(G)?e1("generateLayersText",e,t):e1("generateSvgReplacementMutation",e,t)}var tw=new Set;function tj(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!D)return Promise.resolve();var n=S.documentElement.classList,r=function(e){return n.add("".concat(I,"-").concat(e))},a=function(e){return n.remove("".concat(I,"-").concat(e))},o=es.autoFetchSvg?tw:W.map(function(e){return"fa-".concat(e)}).concat(Object.keys(th));o.includes("fa")||o.push("fa");var i=[".".concat(G,":not([").concat(T,"])")].concat(o.map(function(e){return".".concat(e,":not([").concat(T,"])")})).join(", ");if(0===i.length)return Promise.resolve();var c=[];try{c=ed(e.querySelectorAll(i))}catch(e){}if(!(c.length>0))return Promise.resolve();r("pending"),a("complete");var s=tc.begin("onTree"),l=c.reduce(function(e,t){try{var n=tO(t);n&&e.push(n)}catch(e){F||"MissingIcon"!==e.name||console.error(e)}return e},[]);return new Promise(function(e,n){Promise.all(l).then(function(n){tm(n,function(){r("active"),r("complete"),a("pending"),"function"==typeof t&&t(),s(),e()})}).catch(function(e){s(),n(e)})})}function tx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;tO(e).then(function(e){e&&tm([e],t)})}W.map(function(e){tw.add("fa-".concat(e))}),Object.keys(U[B]).map(tw.add.bind(tw)),Object.keys(U[H]).map(tw.add.bind(tw)),tw=s(tw);var tP=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,r=void 0===n?eu:n,o=t.symbol,i=void 0!==o&&o,c=t.mask,s=void 0===c?null:c,l=t.maskId,u=void 0===l?null:l,f=t.title,d=void 0===f?null:f,p=t.titleId,m=void 0===p?null:p,b=t.classes,v=void 0===b?[]:b,y=t.attributes,g=void 0===y?{}:y,h=t.styles,O=void 0===h?{}:h;if(e){var w=e.prefix,j=e.iconName,x=e.icon;return e6(a({type:"icon"},e),function(){return e0("beforeDOMElementCreation",{iconDefinition:e,params:t}),es.autoA11y&&(d?g["aria-labelledby"]="".concat(es.replacementClass,"-title-").concat(m||ef()):(g["aria-hidden"]="true",g.focusable="false")),e9({icons:{main:te(x),mask:s?te(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:w,iconName:j,transform:a(a({},eu),r),symbol:i,title:d,maskId:u,titleId:m,extra:{attributes:g,styles:O,classes:v}})})}},tk=RegExp('"',"ug");function tE(e,t){var n="".concat("data-fa-pseudo-element-pending").concat(t.replace(":","-"));return new Promise(function(r,o){if(null!==e.getAttribute(n))return r();var i=ed(e.children).filter(function(e){return e.getAttribute(M)===t})[0],c=E.getComputedStyle(e,t),s=c.getPropertyValue("font-family").match(X),l=c.getPropertyValue("font-weight"),u=c.getPropertyValue("content");if(i&&!s)return e.removeChild(i),r();if(s&&"none"!==u&&""!==u){var f=c.getPropertyValue("content"),d=~["Sharp"].indexOf(s[2])?H:B,p=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(s[2])?Y[d][s[2].toLowerCase()]:J[d][l],m=(x=(w=O=f.replace(tk,"")).length,k=(P=w.charCodeAt(0))>=55296&&P<=56319&&x>1&&(j=w.charCodeAt(1))>=56320&&j<=57343?(P-55296)*1024+j-56320+65536:P,{value:(C=2===O.length&&O[0]===O[1])?eS(O[0]):eS(O),isSecondary:k>=1105920&&k<=1112319||C}),b=m.value,v=m.isSecondary,y=s[0].startsWith("FontAwesome"),g=eB(p,b),h=g;if(y){var O,w,j,x,P,k,C,N,D,A=(N=eL[b],D=eB("fas",b),N||(D?{prefix:"fas",iconName:D}:null)||{prefix:null,iconName:null});A.iconName&&A.prefix&&(g=A.iconName,p=A.prefix)}if(!g||v||i&&i.getAttribute(_)===p&&i.getAttribute(L)===h)r();else{e.setAttribute(n,h),i&&e.removeChild(i);var R={iconName:null,title:null,titleId:null,prefix:null,transform:eu,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}},Z=R.extra;Z.attributes[M]=t,tn(g,p).then(function(o){var i=e9(a(a({},R),{},{icons:{main:o,mask:eV()},prefix:p,iconName:h,extra:Z,watchable:!0})),c=S.createElementNS("http://www.w3.org/2000/svg","svg");"::before"===t?e.insertBefore(c,e.firstChild):e.appendChild(c),c.outerHTML=i.map(function(e){return eP(e)}).join("\n"),e.removeAttribute(n),r()}).catch(o)}}else r()})}function tS(e){return Promise.all([tE(e,"::before"),tE(e,"::after")])}function tC(e){return e.parentNode!==document.head&&!~z.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(M)&&(!e.parentNode||"svg"!==e.parentNode.tagName)}function tN(e){if(D)return new Promise(function(t,n){var r=ed(e.querySelectorAll("*")).filter(tC).map(tS),a=tc.begin("searchPseudoElements");tb=!0,Promise.all(r).then(function(){a(),tb=!1,t()}).catch(function(){a(),tb=!1,n()})})}var tD=!1,tA=function(e){return e.toLowerCase().split(" ").reduce(function(e,t){var n=t.toLowerCase().split("-"),r=n[0],a=n.slice(1).join("-");if(r&&"h"===a)return e.flipX=!0,e;if(r&&"v"===a)return e.flipY=!0,e;if(isNaN(a=parseFloat(a)))return e;switch(r){case"grow":e.size=e.size+a;break;case"shrink":e.size=e.size-a;break;case"left":e.x=e.x-a;break;case"right":e.x=e.x+a;break;case"up":e.y=e.y-a;break;case"down":e.y=e.y+a;break;case"rotate":e.rotate=e.rotate+a}return e},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0})},tR={x:0,y:0,width:"100%",height:"100%"};function tZ(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}e$=[{mixout:function(){return{dom:{css:ey,insertCss:eh}}},hooks:function(){return{beforeDOMElementCreation:function(){eh()},beforeI2svg:function(){eh()}}}},{mixout:function(){return{icon:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(e||{}).icon?e:e2(e||{}),r=t.mask;return r&&(r=(r||{}).icon?r:e2(r||{})),tP(n,a(a({},t),{},{mask:r}))}}},hooks:function(){return{mutationObserverCallbacks:function(e){return e.treeCallback=tj,e.nodeCallback=tx,e}}},provides:function(e){e.i2svg=function(e){var t=e.node,n=void 0===t?S:t,r=e.callback;return tj(n,void 0===r?function(){}:r)},e.generateSvgReplacementMutation=function(e,t){var n=t.iconName,r=t.title,a=t.titleId,o=t.prefix,i=t.transform,s=t.symbol,l=t.mask,u=t.maskId,f=t.extra;return new Promise(function(t,d){Promise.all([tn(n,o),l.iconName?tn(l.iconName,l.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(l){var d=c(l,2);t([e,e9({icons:{main:d[0],mask:d[1]},prefix:o,iconName:n,transform:i,symbol:s,maskId:u,title:r,titleId:a,extra:f,watchable:!0})])}).catch(d)})},e.generateAbstractIcon=function(e){var t,n=e.children,r=e.attributes,a=e.main,o=e.transform,i=eb(e.styles);return i.length>0&&(r.style=i),ev(o)&&(t=e1("generateAbstractTransformGrouping",{main:a,transform:o,containerWidth:a.width,iconWidth:a.width})),n.push(t||a.icon),{children:n,attributes:r}}}},{mixout:function(){return{layer:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.classes,r=void 0===n?[]:n;return e6({type:"layer"},function(){e0("beforeDOMElementCreation",{assembler:e,params:t});var n=[];return e(function(e){Array.isArray(e)?e.map(function(e){n=n.concat(e.abstract)}):n=n.concat(e.abstract)}),[{tag:"span",attributes:{class:["".concat(es.cssPrefix,"-layers")].concat(s(r)).join(" ")},children:n}]})}}}},{mixout:function(){return{counter:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.title,r=void 0===n?null:n,o=t.classes,i=void 0===o?[]:o,c=t.attributes,l=void 0===c?{}:c,u=t.styles,f=void 0===u?{}:u;return e6({type:"counter",content:e},function(){var n,o,c,u,d,p,m;return e0("beforeDOMElementCreation",{content:e,params:t}),o=(n={content:e.toString(),title:r,extra:{attributes:l,styles:f,classes:["".concat(es.cssPrefix,"-layers-counter")].concat(s(i))}}).content,c=n.title,d=a(a(a({},(u=n.extra).attributes),c?{title:c}:{}),{},{class:u.classes.join(" ")}),(p=eb(u.styles)).length>0&&(d.style=p),(m=[]).push({tag:"span",attributes:d,children:[o]}),c&&m.push({tag:"span",attributes:{class:"sr-only"},children:[c]}),m})}}}},{mixout:function(){return{text:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,r=void 0===n?eu:n,o=t.title,i=void 0===o?null:o,c=t.classes,l=void 0===c?[]:c,u=t.attributes,f=void 0===u?{}:u,d=t.styles,p=void 0===d?{}:d;return e6({type:"text",content:e},function(){return e0("beforeDOMElementCreation",{content:e,params:t}),e7({content:e,transform:a(a({},eu),r),title:i,extra:{attributes:f,styles:p,classes:["".concat(es.cssPrefix,"-layers-text")].concat(s(l))}})})}}},provides:function(e){e.generateLayersText=function(e,t){var n=t.title,r=t.transform,a=t.extra,o=null,i=null;if(A){var c=parseInt(getComputedStyle(e).fontSize,10),s=e.getBoundingClientRect();o=s.width/c,i=s.height/c}return es.autoA11y&&!n&&(a.attributes["aria-hidden"]="true"),Promise.resolve([e,e7({content:e.innerHTML,width:o,height:i,transform:r,title:n,extra:a,watchable:!0})])}}},{hooks:function(){return{mutationObserverCallbacks:function(e){return e.pseudoElementsCallback=tN,e}}},provides:function(e){e.pseudoElements2svg=function(e){var t=e.node,n=void 0===t?S:t;es.searchPseudoElements&&tN(n)}}},{mixout:function(){return{dom:{unwatch:function(){tb=!0,tD=!0}}}},hooks:function(){return{bootstrap:function(){ty(eQ("mutationObserverCallbacks",{}))},noAuto:function(){tv&&tv.disconnect()},watch:function(e){var t=e.observeMutationsRoot;tD?tb=!1:ty(eQ("mutationObserverCallbacks",{observeMutationsRoot:t}))}}}},{mixout:function(){return{parse:{transform:function(e){return tA(e)}}}},hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute("data-fa-transform");return n&&(e.transform=tA(n)),e}}},provides:function(e){e.generateAbstractTransformGrouping=function(e){var t=e.main,n=e.transform,r=e.containerWidth,o=e.iconWidth,i="translate(".concat(32*n.x,", ").concat(32*n.y,") "),c="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") "),s="rotate(".concat(n.rotate," 0 0)"),l={transform:"".concat(i," ").concat(c," ").concat(s)},u={outer:{transform:"translate(".concat(r/2," 256)")},inner:l,path:{transform:"translate(".concat(-(o/2*1)," -256)")}};return{tag:"g",attributes:a({},u.outer),children:[{tag:"g",attributes:a({},u.inner),children:[{tag:t.icon.tag,children:t.icon.children,attributes:a(a({},t.icon.attributes),u.path)}]}]}}}},{hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute("data-fa-mask"),r=n?eq(n.split(" ").map(function(e){return e.trim()})):eV();return r.prefix||(r.prefix=eZ),e.mask=r,e.maskId=t.getAttribute("data-fa-mask-id"),e}}},provides:function(e){e.generateAbstractMask=function(e){var t,n,r,o,i,c,s,l,u=e.children,f=e.attributes,d=e.main,p=e.mask,m=e.maskId,b=e.transform,v=d.width,y=d.icon,g=p.width,h=p.icon,O=(n=(t={transform:b,containerWidth:g,iconWidth:v}).transform,r=t.containerWidth,o=t.iconWidth,i="translate(".concat(32*n.x,", ").concat(32*n.y,") "),c="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") "),s="rotate(".concat(n.rotate," 0 0)"),l={transform:"".concat(i," ").concat(c," ").concat(s)},{outer:{transform:"translate(".concat(r/2," 256)")},inner:l,path:{transform:"translate(".concat(-(o/2*1)," -256)")}}),w={tag:"rect",attributes:a(a({},tR),{},{fill:"white"})},j=y.children?{children:y.children.map(tZ)}:{},x={tag:"g",attributes:a({},O.inner),children:[tZ(a({tag:y.tag,attributes:a(a({},y.attributes),O.path)},j))]},P={tag:"g",attributes:a({},O.outer),children:[x]},k="mask-".concat(m||ef()),E="clip-".concat(m||ef()),S={tag:"mask",attributes:a(a({},tR),{},{id:k,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[w,P]},C={tag:"defs",children:[{tag:"clipPath",attributes:{id:E},children:"g"===h.tag?h.children:[h]},S]};return u.push(C,{tag:"rect",attributes:a({fill:"currentColor","clip-path":"url(#".concat(E,")"),mask:"url(#".concat(k,")")},tR)}),{children:u,attributes:f}}}},{provides:function(e){var t=!1;E.matchMedia&&(t=E.matchMedia("(prefers-reduced-motion: reduce)").matches),e.missingIconAbstract=function(){var e=[],n={fill:"currentColor"},r={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};e.push({tag:"path",attributes:a(a({},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"})});var o=a(a({},r),{},{attributeName:"opacity"}),i={tag:"circle",attributes:a(a({},n),{},{cx:"256",cy:"364",r:"28"}),children:[]};return t||i.children.push({tag:"animate",attributes:a(a({},r),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:a(a({},o),{},{values:"1;0;1;1;0;1;"})}),e.push(i),e.push({tag:"path",attributes:a(a({},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:t?[]:[{tag:"animate",attributes:a(a({},o),{},{values:"1;0;0;0;0;1;"})}]}),t||e.push({tag:"path",attributes:a(a({},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:a(a({},o),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:e}}}},{hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute("data-fa-symbol");return e.symbol=null!==n&&(""===n||n),e}}}}],eG={},Object.keys(eX).forEach(function(e){-1===eJ.indexOf(e)&&delete eX[e]}),e$.forEach(function(e){var t=e.mixout?e.mixout():{};if(Object.keys(t).forEach(function(e){"function"==typeof t[e]&&(e4[e]=t[e]),"object"===o(t[e])&&Object.keys(t[e]).forEach(function(n){e4[e]||(e4[e]={}),e4[e][n]=t[e][n]})}),e.hooks){var n=e.hooks();Object.keys(n).forEach(function(e){eG[e]||(eG[e]=[]),eG[e].push(n[e])})}e.provides&&e.provides(eX)}),e4.noAuto,e4.config;var tT=e4.library;e4.dom;var tM=e4.parse;e4.findIconDefinition,e4.toHtml;var t_=e4.icon;e4.layer,e4.text,e4.counter},2587:function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}n.d(t,{Z:function(){return r}})},3553:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(6831),a=n(748);function o(e,t){if(t&&("object"===(0,r.Z)(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return(0,a.Z)(e)}},6835:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(2937);function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,c=[],s=!0,l=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=o.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw a}}return c}}(e,t)||(0,r.Z)(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},2937:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(2587);function a(e,t){if(e){if("string"==typeof e)return(0,r.Z)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return(0,r.Z)(e,t)}}}}]); \ No newline at end of file diff --git a/out/_next/static/chunks/9829-b1bec93575ba6ce2.js b/out/_next/static/chunks/9829-b1bec93575ba6ce2.js deleted file mode 100644 index b33efe92..00000000 --- a/out/_next/static/chunks/9829-b1bec93575ba6ce2.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9829],{8658:function(e,t){"use strict";t.DF={prefix:"fab",iconName:"github",icon:[496,512,[],"f09b","M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"]},t.zh=t.DF},8279:function(e,t){"use strict";t.DF={prefix:"fab",iconName:"instagram",icon:[448,512,[],"f16d","M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"]},t.Zz=t.DF},8259:function(e,t){"use strict";t.DF={prefix:"fab",iconName:"linkedin",icon:[448,512,[],"f08c","M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"]},t.D9=t.DF},338:function(e,t){"use strict";t.DF={prefix:"fab",iconName:"mastodon",icon:[448,512,[],"f4f6","M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"]},t.ky=t.DF},8138:function(e,t){"use strict";t.DF={prefix:"fab",iconName:"youtube",icon:[576,512,[61802],"f167","M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"]},t.op=t.DF},7814:function(e,t,n){"use strict";n.d(t,{G:function(){return h}});var r=n(3636),a=n(5697),o=n.n(a),i=n(7294);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0||!Array.isArray(t)&&t?u({},e,t):{}}var g={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},h=i.forwardRef(function(e,t){var n,a,o,i,c,l,d,p,m,h,w,j,x,P,k,E,S,C,N,D=s(s({},g),e),A=D.icon,R=D.mask,Z=D.symbol,T=D.className,M=D.title,_=D.titleId,L=D.maskId,I=v(A),z=y("classes",[].concat(f((a=D.beat,o=D.fade,i=D.beatFade,c=D.bounce,l=D.shake,d=D.flash,p=D.spin,m=D.spinPulse,h=D.spinReverse,w=D.pulse,j=D.fixedWidth,x=D.inverse,P=D.border,k=D.listItem,E=D.flip,S=D.size,C=D.rotation,N=D.pull,Object.keys((u(n={"fa-beat":a,"fa-fade":o,"fa-beat-fade":i,"fa-bounce":c,"fa-shake":l,"fa-flash":d,"fa-spin":p,"fa-spin-reverse":h,"fa-spin-pulse":m,"fa-pulse":w,"fa-fw":j,"fa-inverse":x,"fa-border":P,"fa-li":k,"fa-flip":!0===E,"fa-flip-horizontal":"horizontal"===E||"both"===E,"fa-flip-vertical":"vertical"===E||"both"===E},"fa-".concat(S),null!=S),u(n,"fa-rotate-".concat(C),null!=C&&0!==C),u(n,"fa-pull-".concat(N),null!=N),u(n,"fa-swap-opacity",D.swapOpacity),n)).map(function(e){return n[e]?e:null}).filter(function(e){return e}))),f((T||"").split(" ")))),F=y("transform","string"==typeof D.transform?r.Qc.transform(D.transform):D.transform),B=y("mask",v(R)),H=(0,r.qv)(I,s(s(s(s({},z),F),B),{},{symbol:Z,title:M,titleId:_,maskId:L}));if(!H)return!function(){if(!b&&console&&"function"==typeof console.error){var e;(e=console).error.apply(e,arguments)}}("Could not find icon",I),null;var W=H.abstract,V={ref:t};return Object.keys(D).forEach(function(e){g.hasOwnProperty(e)||(V[e]=D[e])}),O(W[0],V)});h.displayName="FontAwesomeIcon",h.propTypes={beat:o().bool,border:o().bool,beatFade:o().bool,bounce:o().bool,className:o().string,fade:o().bool,flash:o().bool,mask:o().oneOfType([o().object,o().array,o().string]),maskId:o().string,fixedWidth:o().bool,inverse:o().bool,flip:o().oneOf([!0,!1,"horizontal","vertical","both"]),icon:o().oneOfType([o().object,o().array,o().string]),listItem:o().bool,pull:o().oneOf(["right","left"]),pulse:o().bool,rotation:o().oneOf([0,90,180,270]),shake:o().bool,size:o().oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:o().bool,spinPulse:o().bool,spinReverse:o().bool,symbol:o().oneOfType([o().bool,o().string]),title:o().string,titleId:o().string,transform:o().oneOfType([o().string,o().object]),swapOpacity:o().bool};var O=(function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof n)return n;var a=(n.children||[]).map(function(n){return e(t,n)}),o=Object.keys(n.attributes||{}).reduce(function(e,t){var r=n.attributes[t];switch(t){case"class":e.attrs.className=r,delete n.attributes.class;break;case"style":e.attrs.style=r.split(";").map(function(e){return e.trim()}).filter(function(e){return e}).reduce(function(e,t){var n=t.indexOf(":"),r=p(t.slice(0,n)),a=t.slice(n+1).trim();return r.startsWith("webkit")?e[r.charAt(0).toUpperCase()+r.slice(1)]=a:e[r]=a,e},{});break;default:0===t.indexOf("aria-")||0===t.indexOf("data-")?e.attrs[t.toLowerCase()]=r:e.attrs[p(t)]=r}return e},{attrs:{}}),i=r.style,c=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(r,m);return o.attrs.style=s(s({},o.attrs.style),void 0===i?{}:i),t.apply(void 0,[n.tag,s(s({},o.attrs),c)].concat(f(a)))}).bind(null,i.createElement)},9028:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294);function a(){return(0,r.useState)(null)}},2029:function(e,t,n){"use strict";var r=n(7294);t.Z=function(e){let t=(0,r.useRef)(e);return(0,r.useEffect)(()=>{t.current=e},[e]),t}},8146:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294),a=n(2029);function o(e){let t=(0,a.Z)(e);return(0,r.useCallback)(function(...e){return t.current&&t.current(...e)},[t])}},5111:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294),a=n(8146);function o(e,t,n,o=!1){let i=(0,a.Z)(n);(0,r.useEffect)(()=>{let n="function"==typeof e?e():e;return n.addEventListener(t,i,o),()=>n.removeEventListener(t,i,o)},[e])}},4357:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294);function a(){let[,e]=(0,r.useReducer)(e=>!e,!1);return e}},9585:function(e,t,n){"use strict";var r=n(7294);let a=void 0!==n.g&&n.g.navigator&&"ReactNative"===n.g.navigator.product,o="undefined"!=typeof document;t.Z=o||a?r.useLayoutEffect:r.useEffect},5654:function(e,t,n){"use strict";var r=n(7294);let a=e=>e&&"function"!=typeof e?t=>{e.current=t}:e;t.Z=function(e,t){return(0,r.useMemo)(()=>(function(e,t){let n=a(e),r=a(t);return e=>{n&&n(e),r&&r(e)}})(e,t),[e,t])}},6454:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294);function a(){let e=(0,r.useRef)(!0),t=(0,r.useRef)(()=>e.current);return(0,r.useEffect)(()=>(e.current=!0,()=>{e.current=!1}),[]),t.current}},8833:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294);function a(e){let t=(0,r.useRef)(null);return(0,r.useEffect)(()=>{t.current=e}),t.current}},3551:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var r=n(7294);n(9028),n(2029);var a=n(8146);n(5111),n(6454),n(8833),n(9585),new WeakMap;var o=n(861),i=n(5893);let c=["onKeyDown"],s=r.forwardRef((e,t)=>{var n;let{onKeyDown:r}=e,s=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,c),[l]=(0,o.FT)(Object.assign({tagName:"a"},s)),u=(0,a.Z)(e=>{l.onKeyDown(e),null==r||r(e)});return(n=s.href)&&"#"!==n.trim()&&"button"!==s.role?(0,i.jsx)("a",Object.assign({ref:t},s,{onKeyDown:r})):(0,i.jsx)("a",Object.assign({ref:t},s,l,{onKeyDown:u}))});s.displayName="Anchor";var l=s},861:function(e,t,n){"use strict";n.d(t,{FT:function(){return i}});var r=n(7294),a=n(5893);let o=["as","disabled"];function i({tagName:e,disabled:t,href:n,target:r,rel:a,role:o,onClick:i,tabIndex:c=0,type:s}){e||(e=null!=n||null!=r||null!=a?"a":"button");let l={tagName:e};if("button"===e)return[{type:s||"button",disabled:t},l];let u=r=>{var a;if(!t&&("a"!==e||(a=n)&&"#"!==a.trim())||r.preventDefault(),t){r.stopPropagation();return}null==i||i(r)};return"a"===e&&(n||(n="#"),t&&(n=void 0)),[{role:null!=o?o:"button",disabled:void 0,tabIndex:t?void 0:c,href:n,target:"a"===e?r:void 0,"aria-disabled":t||void 0,rel:"a"===e?a:void 0,onClick:u,onKeyDown:e=>{" "===e.key&&(e.preventDefault(),u(e))}},l]}let c=r.forwardRef((e,t)=>{let{as:n,disabled:r}=e,c=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,o),[s,{tagName:l}]=i(Object.assign({tagName:n,disabled:r},c));return(0,a.jsx)(l,Object.assign({},c,s,{ref:t}))});c.displayName="Button",t.ZP=c},2747:function(e,t,n){"use strict";function r(e){return`data-rr-ui-${e}`}function a(e){return`rrUi${e}`}n.d(t,{$F:function(){return a},PB:function(){return r}})},6056:function(e,t,n){"use strict";let r=n(7294).createContext(null);r.displayName="NavContext",t.Z=r},3716:function(e,t,n){"use strict";n.d(t,{v:function(){return d}});var r=n(7294),a=n(8146),o=n(6056),i=n(7126),c=n(861),s=n(2747),l=n(6626),u=n(5893);let f=["as","active","eventKey"];function d({key:e,onClick:t,active:n,id:c,role:u,disabled:f}){let d=(0,r.useContext)(i.Z),p=(0,r.useContext)(o.Z),m=(0,r.useContext)(l.Z),b=n,v={role:u};if(p){u||"tablist"!==p.role||(v.role="tab");let t=p.getControllerId(null!=e?e:null),r=p.getControlledId(null!=e?e:null);v[(0,s.PB)("event-key")]=e,v.id=t||c,((b=null==n&&null!=e?p.activeKey===e:n)||!(null!=m&&m.unmountOnExit)&&!(null!=m&&m.mountOnEnter))&&(v["aria-controls"]=r)}return"tab"===v.role&&(v["aria-selected"]=b,b||(v.tabIndex=-1),f&&(v.tabIndex=-1,v["aria-disabled"]=!0)),v.onClick=(0,a.Z)(n=>{f||(null==t||t(n),null!=e&&d&&!n.isPropagationStopped()&&d(e,n))}),[v,{isActive:b}]}let p=r.forwardRef((e,t)=>{let{as:n=c.ZP,active:r,eventKey:a}=e,o=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,f),[l,p]=d(Object.assign({key:(0,i.h)(a,o.href),active:r},o));return l[(0,s.PB)("active")]=p.isActive,(0,u.jsx)(n,Object.assign({},o,l,{ref:t}))});p.displayName="NavItem",t.Z=p},7126:function(e,t,n){"use strict";n.d(t,{h:function(){return a}});let r=n(7294).createContext(null),a=(e,t=null)=>null!=e?String(e):t||null;t.Z=r},6626:function(e,t,n){"use strict";let r=n(7294).createContext(null);t.Z=r},2963:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(7294),a=n(3004);let o=(0,r.createContext)(a.Z?window:void 0);function i(){return(0,r.useContext)(o)}o.Provider},9351:function(e,t,n){"use strict";var r=n(3004),a=!1,o=!1;try{var i={get passive(){return a=!0},get once(){return o=a=!0}};r.Z&&(window.addEventListener("test",i,i),window.removeEventListener("test",i,!0))}catch(e){}t.ZP=function(e,t,n,r){if(r&&"boolean"!=typeof r&&!o){var i=r.once,c=r.capture,s=n;!o&&i&&(s=n.__once||function e(r){this.removeEventListener(t,e,c),n.call(this,r)},n.__once=s),e.addEventListener(t,s,a?r:c)}e.addEventListener(t,n,r)}},3004:function(e,t){"use strict";t.Z=!!("undefined"!=typeof window&&window.document&&window.document.createElement)},424:function(e,t,n){"use strict";function r(e,t){return e.contains?e.contains(t):e.compareDocumentPosition?e===t||!!(16&e.compareDocumentPosition(t)):void 0}n.d(t,{Z:function(){return r}})},5096:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(9351),a=function(e,t,n,r){var a=r&&"boolean"!=typeof r?r.capture:r;e.removeEventListener(t,n,a),n.__once&&e.removeEventListener(t,n.__once,a)},o=function(e,t,n,o){return(0,r.ZP)(e,t,n,o),function(){a(e,t,n,o)}}},7216:function(e,t,n){"use strict";function r(e){return e&&e.ownerDocument||document}n.d(t,{Z:function(){return r}})},930:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=Function.prototype.bind.call(Function.prototype.call,[].slice);function a(e,t){return r(e.querySelectorAll(t))}},1143:function(e){"use strict";e.exports=function(e,t,n,r,a,o,i,c){if(!e){var s;if(void 0===t)s=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,a,o,i,c],u=0;(s=Error(t.replace(/%s/g,function(){return l[u++]}))).name="Invariant Violation"}throw s.framesToPop=1,s}}},1234:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION_FAST_REFRESH:function(){return f},ACTION_NAVIGATE:function(){return c},ACTION_PREFETCH:function(){return u},ACTION_REFRESH:function(){return i},ACTION_RESTORE:function(){return s},ACTION_SERVER_ACTION:function(){return d},ACTION_SERVER_PATCH:function(){return l},PrefetchCacheEntryStatus:function(){return o},PrefetchKind:function(){return a},isThenable:function(){return p}});var n,r,a,o,i="refresh",c="navigate",s="restore",l="server-patch",u="prefetch",f="fast-refresh",d="server-action";function p(e){return e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}(n=a||(a={})).AUTO="auto",n.FULL="full",n.TEMPORARY="temporary",(r=o||(o={})).fresh="fresh",r.reusable="reusable",r.expired="expired",r.stale="stale",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6004:function(e,t,n){"use strict";function r(e,t,n,r){return!1}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDomainLocale",{enumerable:!0,get:function(){return r}}),n(8740),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7179:function(e,t,n){"use strict";var r=n(3171),a=n(8416),o=n(7069),i=n(968),c=["src","srcSet","sizes","height","width","decoding","className","style","fetchPriority","placeholder","loading","unoptimized","fill","onLoadRef","onLoadingCompleteRef","setBlurComplete","setShowAltText","sizesInput","onLoad","onError"];function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function l(e){for(var t=1;t0;t&&n&&t(n)})},e),elements:a},s.push(n),c.set(n,t),t}({root:null==t?void 0:t.current,rootMargin:n})).id,u=r.observer,(m=r.elements).set(b,e),u.observe(b),function(){if(m.delete(b),u.unobserve(b),0===m.size){u.disconnect(),c.delete(a);var e=s.findIndex(function(e){return e.root===a.root&&e.margin===a.margin});e>-1&&s.splice(e,1)}}}}else if(!f){var v=(0,o.requestIdleCallback)(function(){return d(!0)});return function(){return(0,o.cancelIdleCallback)(v)}}},[l,n,t,f,p.current]),[m,f,(0,a.useCallback)(function(){d(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8767:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return r}});var r=n(8754)._(n(7294)).default.createContext({})},1057:function(e,t){"use strict";function n(e){var t=void 0===e?{}:e,n=t.ampFirst,r=t.hybrid,a=t.hasQuery;return void 0!==n&&n||void 0!==r&&r&&void 0!==a&&a}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return n}})},7837:function(e,t,n){"use strict";var r=n(968);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=r[0]*l}),kind:"w"}}return{widths:a,kind:"w"}}return"number"!=typeof t?{widths:r,kind:"w"}:{widths:o(new Set([t,2*t].map(function(e){return a.find(function(t){return t>=e})||a[a.length-1]}))),kind:"x"}}(t,a,c),u=l.widths,f=l.kind,d=u.length-1;return{sizes:c||"w"!==f?c:"100vw",srcSet:u.map(function(e,r){return s({config:t,src:n,quality:i,width:e})+" "+("w"===f?e:r+1)+f}).join(", "),src:s({config:t,src:n,quality:i,width:u[d]})}}({config:r,src:b,unoptimized:g,width:X,quality:er,sizes:v,loader:U});return{props:l(l({},L),{},{loading:en?"lazy":w,fetchPriority:Z,width:X,height:J,decoding:"async",className:j,style:l(l({},ea),ei),sizes:ec.sizes,srcSet:ec.srcSet,src:N||ec.src}),meta:{unoptimized:g,priority:O,placeholder:A,fill:S}}}},4394:function(e,t,n){"use strict";var r=n(968);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return y},defaultHead:function(){return p}});var o=n(8754),i=n(1757),c=n(5893),s=i._(n(7294)),l=o._(n(5562)),u=n(8767),f=n(4376),d=n(1057);function p(e){void 0===e&&(e=!1);var t=[(0,c.jsx)("meta",{charSet:"utf-8"})];return e||t.push((0,c.jsx)("meta",{name:"viewport",content:"width=device-width"})),t}function m(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===s.default.Fragment?e.concat(s.default.Children.toArray(t.props.children).reduce(function(e,t){return"string"==typeof t||"number"==typeof t?e:e.concat(t)},[])):e.concat(t)}n(3678);var b=["name","httpEquiv","charSet","itemProp"];function v(e,t){var n,o,i,c,l=t.inAmpMode;return e.reduce(m,[]).reverse().concat(p(l).reverse()).filter((n=new Set,o=new Set,i=new Set,c={},function(e){var t=!0,r=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){r=!0;var a=e.key.slice(e.key.indexOf("$")+1);n.has(a)?t=!1:n.add(a)}switch(e.type){case"title":case"base":o.has(e.type)?t=!1:o.add(e.type);break;case"meta":for(var s=0,l=b.length;se.length)&&(t=e.length);for(var n=0,r=Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){c=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}(o);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(e.includes(r))return a()}}catch(e){n.e(e)}finally{n.f()}})}function i(e,t){a(),(o=l.default.useContext(u.LoadableContext))&&Array.isArray(n.modules)&&n.modules.forEach(function(e){o(e)});var o,i=l.default.useSyncExternalStore(r.subscribe,r.getCurrentValue,r.getCurrentValue);return l.default.useImperativeHandle(t,function(){return{retry:r.retry}},[]),l.default.useMemo(function(){var t;return i.loading||i.error?l.default.createElement(n.loading,{isLoading:i.loading,pastDelay:i.pastDelay,timedOut:i.timedOut,error:i.error,retry:r.retry}):i.loaded?l.default.createElement((t=i.loaded)&&t.default?t.default:t,e):null},[e,i])}return i.preload=function(){return a()},i.displayName="LoadableComponent",l.default.forwardRef(i)}(m,e)}function y(e,t){for(var n=[];e.length;){var r=e.pop();n.push(r(t))}return Promise.all(n).then(function(){if(e.length)return y(e,t)})}v.preloadAll=function(){return new Promise(function(e,t){y(f).then(e,t)})},v.preloadReady=function(e){return void 0===e&&(e=[]),new Promise(function(t){var n=function(){return p=!0,t()};y(d,e).then(n,n)})},window.__NEXT_PRELOADREADY=v.preloadReady;var g=v},5562:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});var r=n(7294),a=r.useLayoutEffect,o=r.useEffect;function i(e){var t=e.headManager,n=e.reduceComponentsToState;function i(){if(t&&t.mountedInstances){var a=r.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(n(a,e))}}return a(function(){var n;return null==t||null==(n=t.mountedInstances)||n.add(e.children),function(){var n;null==t||null==(n=t.mountedInstances)||n.delete(e.children)}}),a(function(){return t&&(t._pendingUpdate=i),function(){t&&(t._pendingUpdate=i)}}),o(function(){return t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),function(){t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)}}),null}},3678:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});var n=function(e){}},2230:function(e,t,n){"use strict";n.d(t,{Z:function(){return Z}});var r=n(9499),a=n(4730),o=n(3967),i=n.n(o);n(4391);var c=n(7294),s=n(5446),l=n(930),u=n(4357),f=n(5654),d=n(6056),p=n(7126),m=n(6626),b=n(2747),v=n(3716),y=n(5893);let g=["as","onSelect","activeKey","role","onKeyDown"],h=()=>{},O=(0,b.PB)("event-key"),w=c.forwardRef((e,t)=>{let n,r,{as:a="div",onSelect:o,activeKey:i,role:s,onKeyDown:v}=e,w=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,g),j=(0,u.Z)(),x=(0,c.useRef)(!1),P=(0,c.useContext)(p.Z),k=(0,c.useContext)(m.Z);k&&(s=s||"tablist",i=k.activeKey,n=k.getControlledId,r=k.getControllerId);let E=(0,c.useRef)(null),S=e=>{let t=E.current;if(!t)return null;let n=(0,l.Z)(t,`[${O}]:not([aria-disabled=true])`),r=t.querySelector("[aria-selected=true]");if(!r||r!==document.activeElement)return null;let a=n.indexOf(r);if(-1===a)return null;let o=a+e;return o>=n.length&&(o=0),o<0&&(o=n.length-1),n[o]},C=(e,t)=>{null!=e&&(null==o||o(e,t),null==P||P(e,t))};(0,c.useEffect)(()=>{if(E.current&&x.current){let e=E.current.querySelector(`[${O}][aria-selected=true]`);null==e||e.focus()}x.current=!1});let N=(0,f.Z)(t,E);return(0,y.jsx)(p.Z.Provider,{value:C,children:(0,y.jsx)(d.Z.Provider,{value:{role:s,activeKey:(0,p.h)(i),getControlledId:n||h,getControllerId:r||h},children:(0,y.jsx)(a,Object.assign({},w,{onKeyDown:e=>{let t;if(null==v||v(e),k){switch(e.key){case"ArrowLeft":case"ArrowUp":t=S(-1);break;case"ArrowRight":case"ArrowDown":t=S(1);break;default:return}t&&(e.preventDefault(),C(t.dataset[(0,b.$F)("EventKey")]||null,e),x.current=!0,j())}},ref:N,role:s}))})})});w.displayName="Nav";var j=Object.assign(w,{Item:v.Z}),x=n(3833),P=n(6499),k=c.createContext(null);k.displayName="CardHeaderContext";var E=["className","bsPrefix","as"];function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var C=c.forwardRef(function(e,t){var n=e.className,o=e.bsPrefix,c=e.as,s=(0,a.Z)(e,E);return o=(0,x.vE)(o,"nav-item"),(0,y.jsx)(void 0===c?"div":c,function(e){for(var t=1;t{if(t())return e[1](n)},[t,e[1]])]};function S(e){return e.split("-")[0]}function C(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function N(e){var t=C(e).Element;return e instanceof t||e instanceof Element}function D(e){var t=C(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function A(e){if("undefined"==typeof ShadowRoot)return!1;var t=C(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}var R=Math.max,Z=Math.min,T=Math.round;function M(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function _(){return!/^((?!chrome|android).)*safari/i.test(M())}function L(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var r=e.getBoundingClientRect(),a=1,o=1;t&&D(e)&&(a=e.offsetWidth>0&&T(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&T(r.height)/e.offsetHeight||1);var i=(N(e)?C(e):window).visualViewport,c=!_()&&n,s=(r.left+(c&&i?i.offsetLeft:0))/a,l=(r.top+(c&&i?i.offsetTop:0))/o,u=r.width/a,f=r.height/o;return{width:u,height:f,top:l,right:s+u,bottom:l+f,left:s,x:s,y:l}}function I(e){var t=L(e),n=e.offsetWidth,r=e.offsetHeight;return 1>=Math.abs(t.width-n)&&(n=t.width),1>=Math.abs(t.height-r)&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function z(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&A(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function F(e){return e?(e.nodeName||"").toLowerCase():null}function B(e){return C(e).getComputedStyle(e)}function H(e){return((N(e)?e.ownerDocument:e.document)||window.document).documentElement}function W(e){return"html"===F(e)?e:e.assignedSlot||e.parentNode||(A(e)?e.host:null)||H(e)}function V(e){return D(e)&&"fixed"!==B(e).position?e.offsetParent:null}function U(e){for(var t=C(e),n=V(e);n&&["table","td","th"].indexOf(F(n))>=0&&"static"===B(n).position;)n=V(n);return n&&("html"===F(n)||"body"===F(n)&&"static"===B(n).position)?t:n||function(e){var t=/firefox/i.test(M());if(/Trident/i.test(M())&&D(e)&&"fixed"===B(e).position)return null;var n=W(e);for(A(n)&&(n=n.host);D(n)&&0>["html","body"].indexOf(F(n));){var r=B(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}function Y(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function q(e,t,n){return R(e,Z(t,n))}function K(){return{top:0,right:0,bottom:0,left:0}}function $(e){return Object.assign({},K(),e)}function G(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}var X="bottom",J="right",Q="left",ee="auto",et=["top",X,J,Q],en="start",er="viewport",ea="popper",eo=et.reduce(function(e,t){return e.concat([t+"-"+en,t+"-end"])},[]),ei=[].concat(et,[ee]).reduce(function(e,t){return e.concat([t,t+"-"+en,t+"-end"])},[]),ec=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function es(e){return e.split("-")[1]}var el={top:"auto",right:"auto",bottom:"auto",left:"auto"};function eu(e){var t,n,r,a,o,i,c,s=e.popper,l=e.popperRect,u=e.placement,f=e.variation,d=e.offsets,p=e.position,m=e.gpuAcceleration,b=e.adaptive,v=e.roundOffsets,y=e.isFixed,g=d.x,h=void 0===g?0:g,O=d.y,w=void 0===O?0:O,j="function"==typeof v?v({x:h,y:w}):{x:h,y:w};h=j.x,w=j.y;var x=d.hasOwnProperty("x"),P=d.hasOwnProperty("y"),k=Q,E="top",S=window;if(b){var N=U(s),D="clientHeight",A="clientWidth";N===C(s)&&"static"!==B(N=H(s)).position&&"absolute"===p&&(D="scrollHeight",A="scrollWidth"),("top"===u||(u===Q||u===J)&&"end"===f)&&(E=X,w-=(y&&N===S&&S.visualViewport?S.visualViewport.height:N[D])-l.height,w*=m?1:-1),(u===Q||("top"===u||u===X)&&"end"===f)&&(k=J,h-=(y&&N===S&&S.visualViewport?S.visualViewport.width:N[A])-l.width,h*=m?1:-1)}var R=Object.assign({position:p},b&&el),Z=!0===v?(t={x:h,y:w},n=C(s),r=t.x,a=t.y,{x:T(r*(o=n.devicePixelRatio||1))/o||0,y:T(a*o)/o||0}):{x:h,y:w};return(h=Z.x,w=Z.y,m)?Object.assign({},R,((c={})[E]=P?"0":"",c[k]=x?"0":"",c.transform=1>=(S.devicePixelRatio||1)?"translate("+h+"px, "+w+"px)":"translate3d("+h+"px, "+w+"px, 0)",c)):Object.assign({},R,((i={})[E]=P?w+"px":"",i[k]=x?h+"px":"",i.transform="",i))}var ef={passive:!0},ed={left:"right",right:"left",bottom:"top",top:"bottom"};function ep(e){return e.replace(/left|right|bottom|top/g,function(e){return ed[e]})}var em={start:"end",end:"start"};function eb(e){return e.replace(/start|end/g,function(e){return em[e]})}function ev(e){var t=C(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function ey(e){return L(H(e)).left+ev(e).scrollLeft}function eg(e){var t=B(e),n=t.overflow,r=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+r)}function eh(e,t){void 0===t&&(t=[]);var n,r=function e(t){return["html","body","#document"].indexOf(F(t))>=0?t.ownerDocument.body:D(t)&&eg(t)?t:e(W(t))}(e),a=r===(null==(n=e.ownerDocument)?void 0:n.body),o=C(r),i=a?[o].concat(o.visualViewport||[],eg(r)?r:[]):r,c=t.concat(i);return a?c:c.concat(eh(W(i)))}function eO(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function ew(e,t,n){var r,a,o,i,c,s,l,u,f,d;return t===er?eO(function(e,t){var n=C(e),r=H(e),a=n.visualViewport,o=r.clientWidth,i=r.clientHeight,c=0,s=0;if(a){o=a.width,i=a.height;var l=_();(l||!l&&"fixed"===t)&&(c=a.offsetLeft,s=a.offsetTop)}return{width:o,height:i,x:c+ey(e),y:s}}(e,n)):N(t)?((r=L(t,!1,"fixed"===n)).top=r.top+t.clientTop,r.left=r.left+t.clientLeft,r.bottom=r.top+t.clientHeight,r.right=r.left+t.clientWidth,r.width=t.clientWidth,r.height=t.clientHeight,r.x=r.left,r.y=r.top,r):eO((a=H(e),i=H(a),c=ev(a),s=null==(o=a.ownerDocument)?void 0:o.body,l=R(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),u=R(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),f=-c.scrollLeft+ey(a),d=-c.scrollTop,"rtl"===B(s||i).direction&&(f+=R(i.clientWidth,s?s.clientWidth:0)-l),{width:l,height:u,x:f,y:d}))}function ej(e){var t,n=e.reference,r=e.element,a=e.placement,o=a?S(a):null,i=a?es(a):null,c=n.x+n.width/2-r.width/2,s=n.y+n.height/2-r.height/2;switch(o){case"top":t={x:c,y:n.y-r.height};break;case X:t={x:c,y:n.y+n.height};break;case J:t={x:n.x+n.width,y:s};break;case Q:t={x:n.x-r.width,y:s};break;default:t={x:n.x,y:n.y}}var l=o?Y(o):null;if(null!=l){var u="y"===l?"height":"width";switch(i){case en:t[l]=t[l]-(n[u]/2-r[u]/2);break;case"end":t[l]=t[l]+(n[u]/2-r[u]/2)}}return t}function ex(e,t){void 0===t&&(t={});var n,r,a,o,i,c,s,l,u=t,f=u.placement,d=void 0===f?e.placement:f,p=u.strategy,m=void 0===p?e.strategy:p,b=u.boundary,v=u.rootBoundary,y=u.elementContext,g=void 0===y?ea:y,h=u.altBoundary,O=u.padding,w=void 0===O?0:O,j=$("number"!=typeof w?w:G(w,et)),x=e.rects.popper,P=e.elements[void 0!==h&&h?g===ea?"reference":ea:g],k=(n=N(P)?P:P.contextElement||H(e.elements.popper),r=void 0===b?"clippingParents":b,a=void 0===v?er:v,s=(c=[].concat("clippingParents"===r?(o=eh(W(n)),N(i=["absolute","fixed"].indexOf(B(n).position)>=0&&D(n)?U(n):n)?o.filter(function(e){return N(e)&&z(e,i)&&"body"!==F(e)}):[]):[].concat(r),[a]))[0],(l=c.reduce(function(e,t){var r=ew(n,t,m);return e.top=R(r.top,e.top),e.right=Z(r.right,e.right),e.bottom=Z(r.bottom,e.bottom),e.left=R(r.left,e.left),e},ew(n,s,m))).width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l),E=L(e.elements.reference),S=ej({reference:E,element:x,strategy:"absolute",placement:d}),C=eO(Object.assign({},x,S)),A=g===ea?C:E,T={top:k.top-A.top+j.top,bottom:A.bottom-k.bottom+j.bottom,left:k.left-A.left+j.left,right:A.right-k.right+j.right},M=e.modifiersData.offset;if(g===ea&&M){var _=M[d];Object.keys(T).forEach(function(e){var t=[J,X].indexOf(e)>=0?1:-1,n=["top",X].indexOf(e)>=0?"y":"x";T[e]+=_[n]*t})}return T}function eP(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ek(e){return["top",J,X,Q].some(function(t){return e[t]>=0})}var eE={placement:"bottom",modifiers:[],strategy:"absolute"};function eS(){for(var e=arguments.length,t=Array(e),n=0;n=0?-1:1,s=(c="function"==typeof o?o(Object.assign({},r,{placement:n})):o)[0],l=c[1],s=s||0,l=(l||0)*i,[Q,J].indexOf(a)>=0?{x:l,y:s}:{x:s,y:l}),e},{}),c=i[t.placement],s=c.x,l=c.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=s,t.modifiersData.popperOffsets.y+=l),t.modifiersData[r]=i}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var a=n.mainAxis,o=void 0===a||a,i=n.altAxis,c=void 0===i||i,s=n.fallbackPlacements,l=n.padding,u=n.boundary,f=n.rootBoundary,d=n.altBoundary,p=n.flipVariations,m=void 0===p||p,b=n.allowedAutoPlacements,v=t.options.placement,y=S(v)===v,g=s||(y||!m?[ep(v)]:function(e){if(S(e)===ee)return[];var t=ep(e);return[eb(e),t,eb(t)]}(v)),h=[v].concat(g).reduce(function(e,n){var r,a,o,i,c,s,d,p,v,y,g,h;return e.concat(S(n)===ee?(a=(r={placement:n,boundary:u,rootBoundary:f,padding:l,flipVariations:m,allowedAutoPlacements:b}).placement,o=r.boundary,i=r.rootBoundary,c=r.padding,s=r.flipVariations,p=void 0===(d=r.allowedAutoPlacements)?ei:d,0===(g=(y=(v=es(a))?s?eo:eo.filter(function(e){return es(e)===v}):et).filter(function(e){return p.indexOf(e)>=0})).length&&(g=y),Object.keys(h=g.reduce(function(e,n){return e[n]=ex(t,{placement:n,boundary:o,rootBoundary:i,padding:c})[S(n)],e},{})).sort(function(e,t){return h[e]-h[t]})):n)},[]),O=t.rects.reference,w=t.rects.popper,j=new Map,x=!0,P=h[0],k=0;k=0,A=D?"width":"height",R=ex(t,{placement:E,boundary:u,rootBoundary:f,altBoundary:d,padding:l}),Z=D?N?J:Q:N?X:"top";O[A]>w[A]&&(Z=ep(Z));var T=ep(Z),M=[];if(o&&M.push(R[C]<=0),c&&M.push(R[Z]<=0,R[T]<=0),M.every(function(e){return e})){P=E,x=!1;break}j.set(E,M)}if(x)for(var _=m?3:1,L=function(e){var t=h.find(function(t){var n=j.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return P=t,"break"},I=_;I>0&&"break"!==L(I);I--);t.placement!==P&&(t.modifiersData[r]._skip=!0,t.placement=P,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,a=n.mainAxis,o=n.altAxis,i=n.boundary,c=n.rootBoundary,s=n.altBoundary,l=n.padding,u=n.tether,f=void 0===u||u,d=n.tetherOffset,p=void 0===d?0:d,m=ex(t,{boundary:i,rootBoundary:c,padding:l,altBoundary:s}),b=S(t.placement),v=es(t.placement),y=!v,g=Y(b),h="x"===g?"y":"x",O=t.modifiersData.popperOffsets,w=t.rects.reference,j=t.rects.popper,x="function"==typeof p?p(Object.assign({},t.rects,{placement:t.placement})):p,P="number"==typeof x?{mainAxis:x,altAxis:x}:Object.assign({mainAxis:0,altAxis:0},x),k=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,E={x:0,y:0};if(O){if(void 0===a||a){var C,N="y"===g?"top":Q,D="y"===g?X:J,A="y"===g?"height":"width",T=O[g],M=T+m[N],_=T-m[D],L=f?-j[A]/2:0,z=v===en?w[A]:j[A],F=v===en?-j[A]:-w[A],B=t.elements.arrow,H=f&&B?I(B):{width:0,height:0},W=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:K(),V=W[N],$=W[D],G=q(0,w[A],H[A]),ee=y?w[A]/2-L-G-V-P.mainAxis:z-G-V-P.mainAxis,et=y?-w[A]/2+L+G+$+P.mainAxis:F+G+$+P.mainAxis,er=t.elements.arrow&&U(t.elements.arrow),ea=er?"y"===g?er.clientTop||0:er.clientLeft||0:0,eo=null!=(C=null==k?void 0:k[g])?C:0,ei=q(f?Z(M,T+ee-eo-ea):M,T,f?R(_,T+et-eo):_);O[g]=ei,E[g]=ei-T}if(void 0!==o&&o){var ec,el,eu="x"===g?"top":Q,ef="x"===g?X:J,ed=O[h],ep="y"===h?"height":"width",em=ed+m[eu],eb=ed-m[ef],ev=-1!==["top",Q].indexOf(b),ey=null!=(el=null==k?void 0:k[h])?el:0,eg=ev?em:ed-w[ep]-j[ep]-ey+P.altAxis,eh=ev?ed+w[ep]+j[ep]-ey-P.altAxis:eb,eO=f&&ev?(ec=q(eg,ed,eh))>eh?eh:ec:q(f?eg:em,ed,f?eh:eb);O[h]=eO,E[h]=eO-ed}t.modifiersData[r]=E}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n,r=e.state,a=e.name,o=e.options,i=r.elements.arrow,c=r.modifiersData.popperOffsets,s=S(r.placement),l=Y(s),u=[Q,J].indexOf(s)>=0?"height":"width";if(i&&c){var f=$("number"!=typeof(t="function"==typeof(t=o.padding)?t(Object.assign({},r.rects,{placement:r.placement})):t)?t:G(t,et)),d=I(i),p="y"===l?"top":Q,m="y"===l?X:J,b=r.rects.reference[u]+r.rects.reference[l]-c[l]-r.rects.popper[u],v=c[l]-r.rects.reference[l],y=U(i),g=y?"y"===l?y.clientHeight||0:y.clientWidth||0:0,h=f[p],O=g-d[u]-f[m],w=g/2-d[u]/2+(b/2-v/2),j=q(h,w,O);r.modifiersData[a]=((n={})[l]=j,n.centerOffset=j-w,n)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&z(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]}]}).defaultModifiers)?[]:a,c=void 0===(i=r.defaultOptions)?eE:i,function(e,t,n){void 0===n&&(n=c);var r,a,i={placement:"bottom",orderedModifiers:[],options:Object.assign({},eE,c),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},s=[],l=!1,u={state:i,setOptions:function(n){var r,a,l,d,p,m="function"==typeof n?n(i.options):n;f(),i.options=Object.assign({},c,i.options,m),i.scrollParents={reference:N(e)?eh(e):e.contextElement?eh(e.contextElement):[],popper:eh(t)};var b=(a=Object.keys(r=[].concat(o,i.options.modifiers).reduce(function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e},{})).map(function(e){return r[e]}),l=new Map,d=new Set,p=[],a.forEach(function(e){l.set(e.name,e)}),a.forEach(function(e){d.has(e.name)||function e(t){d.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach(function(t){if(!d.has(t)){var n=l.get(t);n&&e(n)}}),p.push(t)}(e)}),ec.reduce(function(e,t){return e.concat(p.filter(function(e){return e.phase===t}))},[]));return i.orderedModifiers=b.filter(function(e){return e.enabled}),i.orderedModifiers.forEach(function(e){var t=e.name,n=e.options,r=e.effect;if("function"==typeof r){var a=r({state:i,name:t,instance:u,options:void 0===n?{}:n});s.push(a||function(){})}}),u.update()},forceUpdate:function(){if(!l){var e,t,n,r,a,o,c,s,f,d,p,m,b=i.elements,v=b.reference,y=b.popper;if(eS(v,y)){i.rects={reference:(t=U(y),n="fixed"===i.options.strategy,r=D(t),s=D(t)&&(o=T((a=t.getBoundingClientRect()).width)/t.offsetWidth||1,c=T(a.height)/t.offsetHeight||1,1!==o||1!==c),f=H(t),d=L(v,s,n),p={scrollLeft:0,scrollTop:0},m={x:0,y:0},(r||!r&&!n)&&(("body"!==F(t)||eg(f))&&(p=(e=t)!==C(e)&&D(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:ev(e)),D(t)?(m=L(t,!0),m.x+=t.clientLeft,m.y+=t.clientTop):f&&(m.x=ey(f))),{x:d.left+p.scrollLeft-m.x,y:d.top+p.scrollTop-m.y,width:d.width,height:d.height}),popper:I(y)},i.reset=!1,i.placement=i.options.placement,i.orderedModifiers.forEach(function(e){return i.modifiersData[e.name]=Object.assign({},e.data)});for(var g=0;gvoid 0},eA={name:"ariaDescribedBy",enabled:!0,phase:"afterWrite",effect:({state:e})=>()=>{let{reference:t,popper:n}=e.elements;if("removeAttribute"in t){let e=(t.getAttribute("aria-describedby")||"").split(",").filter(e=>e.trim()!==n.id);e.length?t.setAttribute("aria-describedby",e.join(",")):t.removeAttribute("aria-describedby")}},fn:({state:e})=>{var t;let{popper:n,reference:r}=e.elements,a=null==(t=n.getAttribute("role"))?void 0:t.toLowerCase();if(n.id&&"tooltip"===a&&"setAttribute"in r){let e=r.getAttribute("aria-describedby");if(e&&-1!==e.split(",").indexOf(n.id))return;r.setAttribute("aria-describedby",e?`${e},${n.id}`:n.id)}}},eR=[];var eZ=function(e,t,n={}){let{enabled:r=!0,placement:a="bottom",strategy:o="absolute",modifiers:i=eR}=n,c=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(n,eN),s=(0,d.useRef)(i),l=(0,d.useRef)(),u=(0,d.useCallback)(()=>{var e;null==(e=l.current)||e.update()},[]),f=(0,d.useCallback)(()=>{var e;null==(e=l.current)||e.forceUpdate()},[]),[p,m]=E((0,d.useState)({placement:a,update:u,forceUpdate:f,attributes:{},styles:{popper:{},arrow:{}}})),b=(0,d.useMemo)(()=>({name:"updateStateModifier",enabled:!0,phase:"write",requires:["computeStyles"],fn:({state:e})=>{let t={},n={};Object.keys(e.elements).forEach(r=>{t[r]=e.styles[r],n[r]=e.attributes[r]}),m({state:e,styles:t,attributes:n,update:u,forceUpdate:f,placement:e.placement})}}),[u,f,m]),v=(0,d.useMemo)(()=>(P(s.current,i)||(s.current=i),s.current),[i]);return(0,d.useEffect)(()=>{l.current&&r&&l.current.setOptions({placement:a,strategy:o,modifiers:[...v,b,eD]})},[o,a,b,r,v]),(0,d.useEffect)(()=>{if(r&&null!=e&&null!=t)return l.current=eC(e,t,Object.assign({},c,{placement:a,strategy:o,modifiers:[...v,eA,b]})),()=>{null!=l.current&&(l.current.destroy(),l.current=void 0,m(e=>Object.assign({},e,{attributes:{},styles:{popper:{}}})))}},[r,e,t]),p},eT=n(424),eM=n(5096),e_=n(7216),eL=n(2473),eI=n.n(eL);let ez=()=>{},eF=e=>e&&("current"in e?e.current:e),eB={click:"mousedown",mouseup:"mousedown",pointerup:"pointerdown"};var eH=function(e,t=ez,{disabled:n,clickTrigger:r="click"}={}){let a=(0,d.useRef)(!1),o=(0,d.useRef)(!1),i=(0,d.useCallback)(t=>{let n=eF(e);eI()(!!n,"ClickOutside captured a close event but does not have a ref to compare it to. useClickOutside(), should be passed a ref that resolves to a DOM node"),a.current=!n||!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)||0!==t.button||!!(0,eT.Z)(n,t.target)||o.current,o.current=!1},[e]),c=(0,h.Z)(t=>{let n=eF(e);n&&(0,eT.Z)(n,t.target)&&(o.current=!0)}),s=(0,h.Z)(e=>{a.current||t(e)});(0,d.useEffect)(()=>{var t,a;if(n||null==e)return;let o=(0,e_.Z)(eF(e)),l=o.defaultView||window,u=null!=(t=l.event)?t:null==(a=l.parent)?void 0:a.event,f=null;eB[r]&&(f=(0,eM.Z)(o,eB[r],c,!0));let d=(0,eM.Z)(o,r,i,!0),p=(0,eM.Z)(o,r,e=>{if(e===u){u=void 0;return}s(e)}),m=[];return"ontouchstart"in o.documentElement&&(m=[].slice.call(o.body.children).map(e=>(0,eM.Z)(e,"mousemove",ez))),()=>{null==f||f(),d(),p(),m.forEach(e=>e())}},[e,n,r,i,c,s])},eW=n(5893);let eV=["children","usePopper"],eU=()=>{};function eY(e={}){let t=(0,d.useContext)(O),[n,r]=(0,w.Z)(),a=(0,d.useRef)(!1),{flip:o,offset:i,rootCloseEvent:c,fixed:s=!1,placement:l,popperConfig:u={},enableEventListeners:f=!0,usePopper:p=!!t}=e,m=(null==t?void 0:t.show)==null?!!e.show:t.show;m&&!a.current&&(a.current=!0);let{placement:b,setMenu:v,menuElement:y,toggleElement:g}=t||{},h=eZ(g,y,function({enabled:e,enableEvents:t,placement:n,flip:r,offset:a,fixed:o,containerPadding:i,arrowElement:c,popperConfig:s={}}){var l,u,f,d,p;let m=function(e){let t={};return Array.isArray(e)?(null==e||e.forEach(e=>{t[e.name]=e}),t):e||t}(s.modifiers);return Object.assign({},s,{placement:n,enabled:e,strategy:o?"fixed":s.strategy,modifiers:function(e={}){return Array.isArray(e)?e:Object.keys(e).map(t=>(e[t].name=t,e[t]))}(Object.assign({},m,{eventListeners:{enabled:t,options:null==(l=m.eventListeners)?void 0:l.options},preventOverflow:Object.assign({},m.preventOverflow,{options:i?Object.assign({padding:i},null==(u=m.preventOverflow)?void 0:u.options):null==(f=m.preventOverflow)?void 0:f.options}),offset:{options:Object.assign({offset:a},null==(d=m.offset)?void 0:d.options)},arrow:Object.assign({},m.arrow,{enabled:!!c,options:Object.assign({},null==(p=m.arrow)?void 0:p.options,{element:c})}),flip:Object.assign({enabled:!!r},m.flip)}))})}({placement:l||b||"bottom-start",enabled:p,enableEvents:null==f?m:f,offset:i,flip:o,fixed:s,arrowElement:n,popperConfig:u})),j=Object.assign({ref:v||eU,"aria-labelledby":null==g?void 0:g.id},h.attributes.popper,{style:h.styles.popper}),x={show:m,placement:b,hasShown:a.current,toggle:null==t?void 0:t.toggle,popper:p?h:null,arrowProps:p?Object.assign({ref:r},h.attributes.arrow,{style:h.styles.arrow}):{}};return eH(y,e=>{null==t||t.toggle(!1,e)},{clickTrigger:c,disabled:!m}),[j,x]}function eq(e){let{children:t,usePopper:n=!0}=e,[r,a]=eY(Object.assign({},function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,eV),{usePopper:n}));return(0,eW.jsx)(eW.Fragment,{children:t(r,a)})}eq.displayName="DropdownMenu";var eK=n(7385);let e$=e=>{var t;return(null==(t=e.getAttribute("role"))?void 0:t.toLowerCase())==="menu"},eG=()=>{};function eX(){let e=(0,eK.gP)(),{show:t=!1,toggle:n=eG,setToggle:r,menuElement:a}=(0,d.useContext)(O)||{},o={id:e,ref:r||eG,onClick:(0,d.useCallback)(e=>{n(!t,e)},[t,n]),"aria-expanded":!!t};return a&&e$(a)&&(o["aria-haspopup"]=!0),[o,{show:t,toggle:n}]}function eJ({children:e}){let[t,n]=eX();return(0,eW.jsx)(eW.Fragment,{children:e(t,n)})}eJ.displayName="DropdownToggle";var eQ=n(7126),e0=n(6056),e1=n(861),e2=n(2747);let e3=["eventKey","disabled","onClick","active","as"];function e4({key:e,href:t,active:n,disabled:r,onClick:a}){let o=(0,d.useContext)(eQ.Z),{activeKey:i}=(0,d.useContext)(e0.Z)||{},c=(0,eQ.h)(e,t),s=null==n&&null!=e?(0,eQ.h)(i)===c:n;return[{onClick:(0,h.Z)(e=>{r||(null==a||a(e),o&&!e.isPropagationStopped()&&o(c,e))}),"aria-disabled":r||void 0,"aria-selected":s,[(0,e2.PB)("dropdown-item")]:""},{isActive:s}]}let e5=d.forwardRef((e,t)=>{let{eventKey:n,disabled:r,onClick:a,active:o,as:i=e1.ZP}=e,c=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,e3),[s]=e4({key:n,href:c.href,disabled:r,onClick:a,active:o});return(0,eW.jsx)(i,Object.assign({},c,{ref:t},s))});e5.displayName="DropdownItem";var e6=n(2963);function e9(){let e=(0,y.Z)(),t=(0,d.useRef)(null),n=(0,d.useCallback)(n=>{t.current=n,e()},[e]);return[t,n]}function e7({defaultShow:e,show:t,onSelect:n,onToggle:r,itemSelector:a=`* [${(0,e2.PB)("dropdown-item")}]`,focusFirstItemOnShow:o,placement:i="bottom-start",children:c}){let s=(0,e6.Z)(),[l,u]=function(e,t,n){let r=(0,d.useRef)(void 0!==e),[a,o]=(0,d.useState)(t),i=void 0!==e,c=r.current;return r.current=i,!i&&c&&a!==t&&o(t),[i?e:a,(0,d.useCallback)((...e)=>{let[t,...r]=e,a=null==n?void 0:n(t,...r);return o(t),a},[n])]}(t,e,r),[f,p]=e9(),y=f.current,[w,j]=e9(),x=w.current,P=(0,v.Z)(l),k=(0,d.useRef)(null),E=(0,d.useRef)(!1),S=(0,d.useContext)(eQ.Z),C=(0,d.useCallback)((e,t,n=null==t?void 0:t.type)=>{u(e,{originalEvent:t,source:n})},[u]),N=(0,h.Z)((e,t)=>{null==n||n(e,t),C(!1,t,"select"),t.isPropagationStopped()||null==S||S(e,t)}),D=(0,d.useMemo)(()=>({toggle:C,placement:i,show:l,menuElement:y,toggleElement:x,setMenu:p,setToggle:j}),[C,i,l,y,x,p,j]);y&&P&&!l&&(E.current=y.contains(y.ownerDocument.activeElement));let A=(0,h.Z)(()=>{x&&x.focus&&x.focus()}),R=(0,h.Z)(()=>{let e=k.current,t=o;if(null==t&&(t=!!(f.current&&e$(f.current))&&"keyboard"),!1===t||"keyboard"===t&&!/^key.+$/.test(e))return;let n=(0,m.Z)(f.current,a)[0];n&&n.focus&&n.focus()});(0,d.useEffect)(()=>{l?R():E.current&&(E.current=!1,A())},[l,E,A,R]),(0,d.useEffect)(()=>{k.current=null});let Z=(e,t)=>{if(!f.current)return null;let n=(0,m.Z)(f.current,a),r=n.indexOf(e)+t;return r=Math.max(0,Math.min(r,n.length)),n[r]};return(0,g.Z)((0,d.useCallback)(()=>s.document,[s]),"keydown",e=>{var t,n;let{key:r}=e,a=e.target,o=null==(t=f.current)?void 0:t.contains(a),i=null==(n=w.current)?void 0:n.contains(a);if(/input|textarea/i.test(a.tagName)&&(" "===r||"Escape"!==r&&o||"Escape"===r&&"search"===a.type)||!o&&!i||"Tab"===r&&(!f.current||!l))return;k.current=e.type;let c={originalEvent:e,source:e.type};switch(r){case"ArrowUp":{let t=Z(a,-1);t&&t.focus&&t.focus(),e.preventDefault();return}case"ArrowDown":if(e.preventDefault(),l){let e=Z(a,1);e&&e.focus&&e.focus()}else u(!0,c);return;case"Tab":(0,b.ZP)(a.ownerDocument,"keyup",e=>{var t;("Tab"!==e.key||e.target)&&null!=(t=f.current)&&t.contains(e.target)||u(!1,c)},{once:!0});break;case"Escape":"Escape"===r&&(e.preventDefault(),e.stopPropagation()),u(!1,c)}}),(0,eW.jsx)(eQ.Z.Provider,{value:N,children:(0,eW.jsx)(O.Provider,{value:D,children:c})})}e7.displayName="Dropdown",e7.Menu=eq,e7.Toggle=eJ,e7.Item=e5;var e8=n(5446),te=d.createContext({});te.displayName="DropdownContext";var tt=["className","bsPrefix","as","role"];function tn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var tr=d.forwardRef(function(e,t){var n=e.className,r=e.bsPrefix,a=e.as,o=e.role,i=(0,l.Z)(e,tt);return r=(0,p.vE)(r,"dropdown-divider"),(0,eW.jsx)(void 0===a?"hr":a,function(e){for(var t=1;t{if(!e||!t)return;let n=ep.get(t)||new Map;ep.set(t,n);let r=n.get(e);return r||((r=t.matchMedia(e)).refCount=0,n.set(r.media,r)),r},eb=function(e){let t=Object.keys(e);function n(e,t){return e===t?t:e?`${e} and ${t}`:t}return function(r,a,o){let i;return"object"==typeof r?(i=r,o=a,a=!0):i={[r]:a=a||!0},function(e,t="undefined"==typeof window?void 0:window){let n=em(e,t),[r,a]=(0,d.useState)(()=>!!n&&n.matches);return(0,ed.Z)(()=>{let n=em(e,t);if(!n)return a(!1);let r=ep.get(t),o=()=>{a(n.matches)};return n.refCount++,n.addListener(o),o(),()=>{n.removeListener(o),n.refCount--,n.refCount<=0&&(null==r||r.delete(n.media)),n=void 0}},[e]),r}((0,d.useMemo)(()=>Object.entries(i).reduce((r,[a,o])=>{if("up"===o||!0===o){let t;r=n(r,("number"==typeof(t=e[a])&&(t=`${t}px`),`(min-width: ${t})`))}if("down"===o||!0===o){let o;r=n(r,(o="number"==typeof(o=e[t[Math.min(t.indexOf(a)+1,t.length-1)]])?`${o-.2}px`:`calc(${o} - 0.2px)`,`(max-width: ${o})`))}return r},""),[JSON.stringify(i)]),o)}}({xs:0,sm:576,md:768,lg:992,xl:1200,xxl:1400});function ev(e){void 0===e&&(e=(0,w.Z)());try{var t=e.activeElement;if(!t||!t.nodeName)return null;return t}catch(t){return e.body}}var ey=n(424),eg=n(3004),eh=n(6454),eO=n(8833);let ew=(0,n(2747).PB)("modal-open");class ej{constructor({ownerDocument:e,handleContainerOverflow:t=!0,isRTL:n=!1}={}){this.handleContainerOverflow=t,this.isRTL=n,this.modals=[],this.ownerDocument=e}getScrollbarWidth(){return function(e=document){return Math.abs(e.defaultView.innerWidth-e.documentElement.clientWidth)}(this.ownerDocument)}getElement(){return(this.ownerDocument||document).body}setModalAttributes(e){}removeModalAttributes(e){}setContainerStyle(e){let t={overflow:"hidden"},n=this.isRTL?"paddingLeft":"paddingRight",r=this.getElement();e.style={overflow:r.style.overflow,[n]:r.style[n]},e.scrollBarWidth&&(t[n]=`${parseInt(E(r,n)||"0",10)+e.scrollBarWidth}px`),r.setAttribute(ew,""),E(r,t)}reset(){[...this.modals].forEach(e=>this.remove(e))}removeContainerStyle(e){let t=this.getElement();t.removeAttribute(ew),Object.assign(t.style,e.style)}add(e){let t=this.modals.indexOf(e);return -1!==t||(t=this.modals.length,this.modals.push(e),this.setModalAttributes(e),0!==t||(this.state={scrollBarWidth:this.getScrollbarWidth(),style:{}},this.handleContainerOverflow&&this.setContainerStyle(this.state))),t}remove(e){let t=this.modals.indexOf(e);-1!==t&&(this.modals.splice(t,1),!this.modals.length&&this.handleContainerOverflow&&this.removeContainerStyle(this.state),this.removeModalAttributes(e))}isTopModal(e){return!!this.modals.length&&this.modals[this.modals.length-1]===e}}var ex=n(2963);let eP=(e,t)=>eg.Z?null==e?(t||(0,w.Z)()).body:("function"==typeof e&&(e=e()),e&&"current"in e&&(e=e.current),e&&("nodeType"in e||e.getBoundingClientRect))?e:null:null;var ek=function({children:e,in:t,onExited:n,mountOnEnter:r,unmountOnExit:a}){let o=(0,d.useRef)(null),i=(0,d.useRef)(t),c=(0,ec.Z)(n);(0,d.useEffect)(()=>{t?i.current=!0:c(o.current)},[t,c]);let s=(0,V.Z)(o,e.ref),l=(0,d.cloneElement)(e,{ref:s});return t?l:a||!i.current&&r?null:l};function eE(){let e=d.version.split(".");return{major:+e[0],minor:+e[1],patch:+e[2]}}let eS=["onEnter","onEntering","onEntered","onExit","onExiting","onExited","addEndListener","children"],eC=["component"],eN=d.forwardRef((e,t)=>{let{component:n}=e,r=function(e){let{onEnter:t,onEntering:n,onEntered:r,onExit:a,onExiting:o,onExited:i,addEndListener:c,children:s}=e,l=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,eS),{major:u}=eE(),f=u>=19?s.props.ref:s.ref,p=(0,d.useRef)(null),m=(0,V.Z)(p,"function"==typeof s?null:f),b=e=>t=>{e&&p.current&&e(p.current,t)},v=(0,d.useCallback)(b(t),[t]),y=(0,d.useCallback)(b(n),[n]),g=(0,d.useCallback)(b(r),[r]),h=(0,d.useCallback)(b(a),[a]),O=(0,d.useCallback)(b(o),[o]),w=(0,d.useCallback)(b(i),[i]),j=(0,d.useCallback)(b(c),[c]);return Object.assign({},l,{nodeRef:p},t&&{onEnter:v},n&&{onEntering:y},r&&{onEntered:g},a&&{onExit:h},o&&{onExiting:O},i&&{onExited:w},c&&{addEndListener:j},{children:"function"==typeof s?(e,t)=>s(e,Object.assign({},t,{ref:m})):(0,d.cloneElement)(s,{ref:m})})}(function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,eC));return(0,v.jsx)(n,Object.assign({ref:t},r))});function eD({children:e,in:t,onExited:n,onEntered:r,transition:a}){let[o,i]=(0,d.useState)(!t);t&&o&&i(!1);let c=function({in:e,onTransition:t}){let n=(0,d.useRef)(null),r=(0,d.useRef)(!0),a=(0,ec.Z)(t);return(0,ed.Z)(()=>{if(!n.current)return;let t=!1;return a({in:e,element:n.current,initial:r.current,isStale:()=>t}),()=>{t=!0}},[e,a]),(0,ed.Z)(()=>(r.current=!1,()=>{r.current=!0}),[]),n}({in:!!t,onTransition:e=>{Promise.resolve(a(e)).then(()=>{e.isStale()||(e.in?null==r||r(e.element,e.initial):(i(!0),null==n||n(e.element)))},t=>{throw e.in||i(!0),t})}}),s=(0,V.Z)(c,e.ref);return o&&!t?null:(0,d.cloneElement)(e,{ref:s})}function eA(e,t,n){return e?(0,v.jsx)(eN,Object.assign({},n,{component:e})):t?(0,v.jsx)(eD,Object.assign({},n,{transition:t})):(0,v.jsx)(ek,Object.assign({},n))}let eR=["show","role","className","style","children","backdrop","keyboard","onBackdropClick","onEscapeKeyDown","transition","runTransition","backdropTransition","runBackdropTransition","autoFocus","enforceFocus","restoreFocus","restoreFocusOptions","renderDialog","renderBackdrop","manager","container","onShow","onHide","onExit","onExited","onExiting","onEnter","onEntering","onEntered"],eZ=(0,d.forwardRef)((e,t)=>{let{show:n=!1,role:a="dialog",className:o,style:i,children:c,backdrop:s=!0,keyboard:l=!0,onBackdropClick:u,onEscapeKeyDown:f,transition:p,runTransition:m,backdropTransition:b,runBackdropTransition:y,autoFocus:g=!0,enforceFocus:h=!0,restoreFocus:O=!0,restoreFocusOptions:w,renderDialog:j,renderBackdrop:x=e=>(0,v.jsx)("div",Object.assign({},e)),manager:P,container:k,onShow:E,onHide:S=()=>{},onExit:C,onExited:D,onExiting:A,onEnter:R,onEntering:Z,onEntered:T}=e,M=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,eR),_=(0,ex.Z)(),L=function(e,t){let n=(0,ex.Z)(),[r,a]=(0,d.useState)(()=>eP(e,null==n?void 0:n.document));if(!r){let t=eP(e);t&&a(t)}return(0,d.useEffect)(()=>{},[void 0,r]),(0,d.useEffect)(()=>{let t=eP(e);t!==r&&a(t)},[e,r]),r}(k),I=function(e){let t=(0,ex.Z)(),n=e||(r||(r=new ej({ownerDocument:null==t?void 0:t.document})),r),a=(0,d.useRef)({dialog:null,backdrop:null});return Object.assign(a.current,{add:()=>n.add(a.current),remove:()=>n.remove(a.current),isTopModal:()=>n.isTopModal(a.current),setDialogRef:(0,d.useCallback)(e=>{a.current.dialog=e},[]),setBackdropRef:(0,d.useCallback)(e=>{a.current.backdrop=e},[])})}(P),F=(0,eh.Z)(),B=(0,eO.Z)(n),[H,W]=(0,d.useState)(!n),V=(0,d.useRef)(null);(0,d.useImperativeHandle)(t,()=>I,[I]),eg.Z&&!B&&n&&(V.current=ev(null==_?void 0:_.document)),n&&H&&W(!1);let U=(0,ec.Z)(()=>{if(I.add(),X.current=(0,z.Z)(document,"keydown",$),G.current=(0,z.Z)(document,"focus",()=>setTimeout(q),!0),E&&E(),g){var e,t;let n=ev(null!=(e=null==(t=I.dialog)?void 0:t.ownerDocument)?e:null==_?void 0:_.document);I.dialog&&n&&!(0,ey.Z)(I.dialog,n)&&(V.current=n,I.dialog.focus())}}),Y=(0,ec.Z)(()=>{if(I.remove(),null==X.current||X.current(),null==G.current||G.current(),O){var e;null==(e=V.current)||null==e.focus||e.focus(w),V.current=null}});(0,d.useEffect)(()=>{n&&L&&U()},[n,L,U]),(0,d.useEffect)(()=>{H&&Y()},[H,Y]),function(e){let t=function(e){let t=(0,d.useRef)(e);return t.current=e,t}(e);(0,d.useEffect)(()=>()=>t.current(),[])}(()=>{Y()});let q=(0,ec.Z)(()=>{if(!h||!F()||!I.isTopModal())return;let e=ev(null==_?void 0:_.document);I.dialog&&e&&!(0,ey.Z)(I.dialog,e)&&I.dialog.focus()}),K=(0,ec.Z)(e=>{e.target===e.currentTarget&&(null==u||u(e),!0===s&&S())}),$=(0,ec.Z)(e=>{l&&("Escape"===e.code||27===e.keyCode)&&I.isTopModal()&&(null==f||f(e),e.defaultPrevented||S())}),G=(0,d.useRef)(),X=(0,d.useRef)();if(!L)return null;let J=Object.assign({role:a,ref:I.setDialogRef,"aria-modal":"dialog"===a||void 0},M,{style:i,className:o,tabIndex:-1}),Q=j?j(J):(0,v.jsx)("div",Object.assign({},J,{children:d.cloneElement(c,{role:"document"})}));Q=eA(p,m,{unmountOnExit:!0,mountOnEnter:!0,appear:!0,in:!!n,onExit:C,onExiting:A,onExited:(...e)=>{W(!0),null==D||D(...e)},onEnter:R,onEntering:Z,onEntered:T,children:Q});let ee=null;return s&&(ee=eA(b,y,{in:!!n,appear:!0,mountOnEnter:!0,unmountOnExit:!0,children:ee=x({ref:I.setBackdropRef,onClick:K})})),(0,v.jsx)(v.Fragment,{children:N.createPortal((0,v.jsxs)(v.Fragment,{children:[ee,Q]}),L)})});eZ.displayName="Modal";var eT=Object.assign(eZ,{Manager:ej}),eM=["className","children","transitionClasses","onEnter"];function e_(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function eL(e){for(var t=1;t=19?r.props.ref:r.ref;return(0,v.jsx)(K,eL(eL({ref:t,addEndListener:B},c),{},{onEnter:s,childRef:u,children:function(e,t){return d.cloneElement(r,eL(eL({},t),{},{className:f()("fade",n,r.props.className,eI[e],o[e])}))}}))});ez.displayName="Fade";var eF=["className","bsPrefix","as"];function eB(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var eH=d.forwardRef(function(e,t){var n=e.className,r=e.bsPrefix,a=e.as,o=(0,l.Z)(e,eF);return r=(0,b.vE)(r,"offcanvas-body"),(0,v.jsx)(void 0===a?"div":a,function(e){for(var t=1;t1?t-1:0),r=1;r1?t-1:0),r=1;r>",s=i||r;if(null==n[r])return t?Error("Required "+o+" `"+s+"` was not specified in `"+c+"`."):null;for(var l=arguments.length,u=Array(l>6?l-6:0),f=6;f=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,l)),{},{target:n,href:t,onClick:this.handleClick});return n===v&&(r.rel="".concat(r.rel?r.rel:""," noopener noreferrer").trim()),delete r.eventLabel,delete r.trackerNames,a.createElement("a",r)}}],function(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]?arguments[0]:"",r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2)||void 0===arguments[2]||arguments[2],o=n||"";return r&&(o=g(n).replace(/[A-Za-z0-9\u00C0-\u00FF]+[^\s-]*/g,function(e,t,n){return t>0&&t+e.length!==n.length&&e.search(h)>-1&&":"!==n.charAt(t-2)&&("-"!==n.charAt(t+e.length)||"-"===n.charAt(t-1))&&0>n.charAt(t-1).search(/[^\s-]/)?e.toLowerCase():e.substr(1).search(/[A-Z]|\../)>-1?e:e.charAt(0).toUpperCase()+e.substr(1)})),a&&(o="string"==typeof(t=e=o)&&-1!==t.indexOf("@")?(c("This arg looks like an email address, redacting."),"REDACTED (Potential Email Address)"):e),o}(e,D,Z)}function _(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r0&&(T.apply(void 0,t),N&&(w("called ga('arguments');"),w("with arguments: ".concat(JSON.stringify(t))))),window.ga}function B(e,t){if(!e){c("`fieldsObject` is required in .set()");return}if("object"!==E(e)){c("Expected `fieldsObject` arg to be an Object");return}0===Object.keys(e).length&&c("empty `fieldsObject` given to .set()"),_(t,"set",e),N&&(w("called ga('set', fieldsObject);"),w("with fieldsObject: ".concat(JSON.stringify(e))))}function H(e,t){_(t,"send",e),N&&(w("called ga('send', fieldObject);"),w("with fieldObject: ".concat(JSON.stringify(e))),w("with trackers: ".concat(JSON.stringify(t))))}function W(e,t,n){if(!e){c("path is required in .pageview()");return}var r=g(e);if(""===r){c("path cannot be an empty string in .pageview()");return}var a={};if(n&&(a.title=n),_(t,"send",function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.category,n=e.variable,r=e.value,a=e.label,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(!t||!n||"number"!=typeof r){c("args.category, args.variable AND args.value are required in timing() AND args.value has to be a number");return}var i={hitType:"timing",timingCategory:M(t),timingVar:M(n),timingValue:r};a&&(i.timingLabel=M(a)),H(i,o)}function Y(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.category,n=e.action,r=e.label,a=e.value,o=e.nonInteraction,i=e.transport,s=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,P),l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(!t||!n){c("args.category AND args.action are required in event()");return}var u={hitType:"event",eventCategory:M(t),eventAction:M(n)};r&&(u.eventLabel=M(r)),void 0!==a&&("number"!=typeof a?c("Expected `args.value` arg to be a Number."):u.eventValue=a),void 0!==o&&("boolean"!=typeof o?c("`args.nonInteraction` must be a boolean."):u.nonInteraction=o),void 0!==i&&("string"!=typeof i?c("`args.transport` must be a string."):(-1===["beacon","xhr","image"].indexOf(i)&&c("`args.transport` must be either one of these values: `beacon`, `xhr` or `image`"),u.transport=i)),Object.keys(s).filter(function(e){return"dimension"===e.substr(0,9)}).forEach(function(e){u[e]=s[e]}),Object.keys(s).filter(function(e){return"metric"===e.substr(0,6)}).forEach(function(e){u[e]=s[e]}),H(u,l)}function q(e,t){var n=e.description,r=e.fatal,a={hitType:"exception"};n&&(a.exDescription=M(n)),void 0!==r&&("boolean"!=typeof r?c("`args.fatal` must be a boolean."):a.exFatal=r),H(a,t)}var K={require:function(e,t,n){if(!e){c("`name` is required in .require()");return}var r=g(e);if(""===r){c("`name` cannot be an empty string in .require()");return}var a=n?"".concat(n,".require"):"require";if(t){if("object"!==E(t)){c("Expected `options` arg to be an Object");return}0===Object.keys(t).length&&c("Empty `options` given to .require()"),F(a,r,t),N&&w("called ga('require', '".concat(r,"', ").concat(JSON.stringify(t)))}else F(a,r),N&&w("called ga('require', '".concat(r,"');"))},execute:function(e,t){for(var n,r,a=arguments.length,o=Array(a>2?a-2:0),i=2;i1?t-1:0),r=1;r=0)continue;n[r]=e[r]}return n}n.d(t,{Z:function(){return r}})},3636:function(e,t,n){"use strict";function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function a(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0;)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return t}function ed(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function ep(e){return e.classList?ed(e.classList):(e.getAttribute("class")||"").split(" ").filter(function(e){return e})}function em(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function eb(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,": ").concat(e[n].trim(),";")},"")}function ev(e){return e.size!==eu.size||e.x!==eu.x||e.y!==eu.y||e.rotate!==eu.rotate||e.flipX||e.flipY}function ey(){var e=es.cssPrefix,t=es.replacementClass,n=':root, :host {\n --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid";\n --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular";\n --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light";\n --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin";\n --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";\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-brands: normal 400 1em/1 "Font Awesome 6 Brands";\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 -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\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 -webkit-transform: scale(var(--fa-counter-scale, 0.25));\n transform: scale(var(--fa-counter-scale, 0.25));\n -webkit-transform-origin: top right;\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom right;\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom left;\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top right;\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top left;\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(var(--fa-li-width, 2em) * -1);\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 -webkit-animation-name: fa-beat;\n animation-name: fa-beat;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n -webkit-animation-name: fa-bounce;\n animation-name: fa-bounce;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n -webkit-animation-name: fa-fade;\n animation-name: fa-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n -webkit-animation-name: fa-beat-fade;\n animation-name: fa-beat-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n -webkit-animation-name: fa-flip;\n animation-name: fa-flip;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n -webkit-animation-name: fa-shake;\n animation-name: fa-shake;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\n animation-duration: var(--fa-animation-duration, 2s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\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 -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\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 -webkit-animation-delay: -1ms;\n animation-delay: -1ms;\n -webkit-animation-duration: 1ms;\n animation-duration: 1ms;\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n -webkit-transition-delay: 0s;\n transition-delay: 0s;\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n }\n}\n@-webkit-keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@-webkit-keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\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 -webkit-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 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 -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\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 -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\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 -webkit-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 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 -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\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 -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@-webkit-keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@-webkit-keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@-webkit-keyframes fa-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\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-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\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@-webkit-keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n -webkit-transform: rotate(var(--fa-rotate-angle, 0));\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}\n\n.fad.fa-inverse,\n.fa-duotone.fa-inverse {\n color: var(--fa-inverse, #fff);\n}';if("fa"!==e||t!==Z){var r=RegExp("\\.".concat("fa","\\-"),"g"),a=RegExp("\\--".concat("fa","\\-"),"g"),o=RegExp("\\.".concat(Z),"g");n=n.replace(r,".".concat(e,"-")).replace(a,"--".concat(e,"-")).replace(o,".".concat(t))}return n}var eg=!1;function eh(){es.autoAddCss&&!eg&&(!function(e){if(e&&D){var t=S.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;for(var n=S.head.childNodes,r=null,a=n.length-1;a>-1;a--){var o=n[a];["STYLE","LINK"].indexOf((o.tagName||"").toUpperCase())>-1&&(r=o)}S.head.insertBefore(t,r)}}(ey()),eg=!0)}var eO=E||{};eO[R]||(eO[R]={}),eO[R].styles||(eO[R].styles={}),eO[R].hooks||(eO[R].hooks={}),eO[R].shims||(eO[R].shims=[]);var ew=eO[R],ej=[],ex=!1;function eP(e){var t,n=e.tag,r=e.attributes,a=e.children;return"string"==typeof e?em(e):"<".concat(n," ").concat(Object.keys((t=void 0===r?{}:r)||{}).reduce(function(e,n){return e+"".concat(n,'="').concat(em(t[n]),'" ')},"").trim(),">").concat((void 0===a?[]:a).map(eP).join(""),"")}function ek(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}!D||(ex=(S.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(S.readyState))||S.addEventListener("DOMContentLoaded",function e(){S.removeEventListener("DOMContentLoaded",e),ex=1,ej.map(function(e){return e()})});var eE=function(e,t,n,r){var a,o,i,c=Object.keys(e),s=c.length,l=void 0!==r?function(e,n,a,o){return t.call(r,e,n,a,o)}:t;for(void 0===n?(a=1,i=e[c[0]]):(a=0,i=n);a=55296&&a<=56319&&n2&&void 0!==arguments[2]?arguments[2]:{},r=n.skipHooks,o=eC(t);"function"!=typeof ew.hooks.addPack||void 0!==r&&r?ew.styles[e]=a(a({},ew.styles[e]||{}),o):ew.hooks.addPack(e,eC(t)),"fas"===e&&eN("fa",t)}var eD=ew.styles,eA=ew.shims,eR=(i(v={},B,Object.values(q[B])),i(v,H,Object.values(q[H])),v),eZ=null,eT={},eM={},e_={},eL={},eI={},ez=(i(y={},B,Object.keys(U[B])),i(y,H,Object.keys(U[H])),y),eF=function(){var e=function(e){return eE(eD,function(t,n,r){return t[r]=eE(n,e,{}),t},{})};eT=e(function(e,t,n){return t[3]&&(e[t[3]]=n),t[2]&&t[2].filter(function(e){return"number"==typeof e}).forEach(function(t){e[t.toString(16)]=n}),e}),eM=e(function(e,t,n){return e[n]=n,t[2]&&t[2].filter(function(e){return"string"==typeof e}).forEach(function(t){e[t]=n}),e}),eI=e(function(e,t,n){var r=t[2];return e[n]=n,r.forEach(function(t){e[t]=n}),e});var t="far"in eD||es.autoFetchSvg,n=eE(eA,function(e,n){var r=n[0],a=n[1],o=n[2];return"far"!==a||t||(a="fas"),"string"==typeof r&&(e.names[r]={prefix:a,iconName:o}),"number"==typeof r&&(e.unicodes[r.toString(16)]={prefix:a,iconName:o}),e},{names:{},unicodes:{}});e_=n.names,eL=n.unicodes,eZ=eU(es.styleDefault,{family:es.familyDefault})};function eB(e,t){return(eT[e]||{})[t]}function eH(e,t){return(eI[e]||{})[t]}function eW(e){return e_[e]||{prefix:null,iconName:null}}el.push(function(e){eZ=eU(e.styleDefault,{family:es.familyDefault})}),eF();var eV=function(){return{prefix:null,iconName:null,rest:[]}};function eU(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.family,r=void 0===n?B:n,a=U[r][e],o=Y[r][e]||Y[r][a],i=e in ew.styles?e:null;return o||i||null}var eY=(i(g={},B,Object.keys(q[B])),i(g,H,Object.keys(q[H])),g);function eq(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.skipLookups,a=void 0!==r&&r,o=(i(t={},B,"".concat(es.cssPrefix,"-").concat(B)),i(t,H,"".concat(es.cssPrefix,"-").concat(H)),t),c=null,s=B;(e.includes(o[B])||e.some(function(e){return eY[B].includes(e)}))&&(s=B),(e.includes(o[H])||e.some(function(e){return eY[H].includes(e)}))&&(s=H);var l=e.reduce(function(e,t){var n,r,i,l,u=(n=es.cssPrefix,i=(r=t.split("-"))[0],l=r.slice(1).join("-"),i!==n||""===l||~ea.indexOf(l)?null:l);if(eD[t]?(c=t=eR[s].includes(t)?K[s][t]:t,e.prefix=t):ez[s].indexOf(t)>-1?(c=t,e.prefix=eU(t,{family:s})):u?e.iconName=u:t!==es.replacementClass&&t!==o[B]&&t!==o[H]&&e.rest.push(t),!a&&e.prefix&&e.iconName){var f="fa"===c?eW(e.iconName):{},d=eH(e.prefix,e.iconName);f.prefix&&(c=null),e.iconName=f.iconName||d||e.iconName,e.prefix=f.prefix||e.prefix,"far"!==e.prefix||eD.far||!eD.fas||es.autoFetchSvg||(e.prefix="fas")}return e},eV());return(e.includes("fa-brands")||e.includes("fab"))&&(l.prefix="fab"),(e.includes("fa-duotone")||e.includes("fad"))&&(l.prefix="fad"),!l.prefix&&s===H&&(eD.fass||es.autoFetchSvg)&&(l.prefix="fass",l.iconName=eH(l.prefix,l.iconName)||l.iconName),("fa"===l.prefix||"fa"===c)&&(l.prefix=eZ||"fas"),l}var eK=function(){var e;function t(){!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,t),this.definitions={}}return e=[{key:"add",value:function(){for(var e=this,t=arguments.length,n=Array(t),r=0;r0&&c.forEach(function(t){"string"==typeof t&&(e[a][t]=i)}),e[a][o]=i}),e}}],function(e,t){for(var n=0;n2?n-2:0),a=2;a1?t-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{};return D?(e0("beforeI2svg",e),e1("pseudoElements2svg",e),e1("i2svg",e)):Promise.reject("Operation requires a DOM of some kind.")},watch:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.autoReplaceSvgRoot;!1===es.autoReplaceSvg&&(es.autoReplaceSvg=!0),es.observeMutations=!0,e=function(){e5({autoReplaceSvgRoot:n}),e0("watch",t)},D&&(ex?setTimeout(e,0):ej.push(e))}},parse:{icon:function(e){if(null===e)return null;if("object"===o(e)&&e.prefix&&e.iconName)return{prefix:e.prefix,iconName:eH(e.prefix,e.iconName)||e.iconName};if(Array.isArray(e)&&2===e.length){var t=0===e[1].indexOf("fa-")?e[1].slice(3):e[1],n=eU(e[0]);return{prefix:n,iconName:eH(n,t)||t}}if("string"==typeof e&&(e.indexOf("".concat(es.cssPrefix,"-"))>-1||e.match($))){var r=eq(e.split(" "),{skipLookups:!0});return{prefix:r.prefix||eZ,iconName:eH(r.prefix,r.iconName)||r.iconName}}if("string"==typeof e){var a=eZ;return{prefix:a,iconName:eH(a,e)||e}}}},library:e3,findIconDefinition:e2,toHtml:eP},e5=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.autoReplaceSvgRoot,n=void 0===t?S:t;(Object.keys(ew.styles).length>0||es.autoFetchSvg)&&D&&es.autoReplaceSvg&&e4.dom.i2svg({node:n})};function e6(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(e){return eP(e)})}}),Object.defineProperty(e,"node",{get:function(){if(D){var t=S.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function e9(e){var t,n,r,o,i,c,s=e.icons,l=s.main,u=s.mask,f=e.prefix,d=e.iconName,p=e.transform,m=e.symbol,b=e.title,v=e.maskId,y=e.titleId,g=e.extra,h=e.watchable,O=u.found?u:l,w=O.width,j=O.height,x="fak"===f,P=[es.replacementClass,d?"".concat(es.cssPrefix,"-").concat(d):""].filter(function(e){return -1===g.classes.indexOf(e)}).filter(function(e){return""!==e||!!e}).concat(g.classes).join(" "),k={children:[],attributes:a(a({},g.attributes),{},{"data-prefix":f,"data-icon":d,class:P,role:g.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(w," ").concat(j)})},E=x&&!~g.classes.indexOf("fa-fw")?{width:"".concat(w/j*1,"em")}:{};void 0!==h&&h&&(k.attributes[T]=""),b&&(k.children.push({tag:"title",attributes:{id:k.attributes["aria-labelledby"]||"title-".concat(y||ef())},children:[b]}),delete k.attributes.title);var S=a(a({},k),{},{prefix:f,iconName:d,main:l,mask:u,maskId:v,transform:p,symbol:m,styles:a(a({},E),g.styles)}),C=u.found&&l.found?e1("generateAbstractMask",S)||{children:[],attributes:{}}:e1("generateAbstractIcon",S)||{children:[],attributes:{}},N=C.children,D=C.attributes;return(S.children=N,S.attributes=D,m)?(t=S.prefix,n=S.iconName,r=S.children,o=S.attributes,c=!0===(i=S.symbol)?"".concat(t,"-").concat(es.cssPrefix,"-").concat(n):i,[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:a(a({},o),{},{id:c}),children:r}]}]):function(e){var t=e.children,n=e.main,r=e.mask,o=e.attributes,i=e.styles,c=e.transform;if(ev(c)&&n.found&&!r.found){var s={x:n.width/n.height/2,y:.5};o.style=eb(a(a({},i),{},{"transform-origin":"".concat(s.x+c.x/16,"em ").concat(s.y+c.y/16,"em")}))}return[{tag:"svg",attributes:o,children:t}]}(S)}function e7(e){var t,n,r,o,i,c,s,l=e.content,u=e.width,f=e.height,d=e.transform,p=e.title,m=e.extra,b=e.watchable,v=a(a(a({},m.attributes),p?{title:p}:{}),{},{class:m.classes.join(" ")});void 0!==b&&b&&(v[T]="");var y=a({},m.styles);ev(d)&&(y.transform=(n=(t={transform:d,startCentered:!0,width:u,height:f}).transform,r=t.width,o=t.height,c=void 0!==(i=t.startCentered)&&i,s="",c&&A?s+="translate(".concat(n.x/16-(void 0===r?16:r)/2,"em, ").concat(n.y/16-(void 0===o?16:o)/2,"em) "):c?s+="translate(calc(-50% + ".concat(n.x/16,"em), calc(-50% + ").concat(n.y/16,"em)) "):s+="translate(".concat(n.x/16,"em, ").concat(n.y/16,"em) "),s+="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") ")+"rotate(".concat(n.rotate,"deg) ")),y["-webkit-transform"]=y.transform);var g=eb(y);g.length>0&&(v.style=g);var h=[];return h.push({tag:"span",attributes:v,children:[l]}),p&&h.push({tag:"span",attributes:{class:"sr-only"},children:[p]}),h}var e8=ew.styles;function te(e){var t=e[0],n=e[1],r=c(e.slice(4),1)[0];return{found:!0,width:t,height:n,icon:Array.isArray(r)?{tag:"g",attributes:{class:"".concat(es.cssPrefix,"-").concat(en.GROUP)},children:[{tag:"path",attributes:{class:"".concat(es.cssPrefix,"-").concat(en.SECONDARY),fill:"currentColor",d:r[0]}},{tag:"path",attributes:{class:"".concat(es.cssPrefix,"-").concat(en.PRIMARY),fill:"currentColor",d:r[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:r}}}}var tt={found:!1,width:512,height:512};function tn(e,t){var n=t;return"fa"===t&&null!==es.styleDefault&&(t=eZ),new Promise(function(r,o){if(e1("missingIconAbstract"),"fa"===n){var i,c,s=eW(e)||{};e=s.iconName||e,t=s.prefix||t}if(e&&t&&e8[t]&&e8[t][e])return r(te(e8[t][e]));i=e,c=t,F||es.showMissingIcons||!i||console.error('Icon with name "'.concat(i,'" and prefix "').concat(c,'" is missing.')),r(a(a({},tt),{},{icon:es.showMissingIcons&&e&&e1("missingIconAbstract")||{}}))})}var tr=function(){},ta=es.measurePerformance&&N&&N.mark&&N.measure?N:{mark:tr,measure:tr},to='FA "6.5.2"',ti=function(e){ta.mark("".concat(to," ").concat(e," ends")),ta.measure("".concat(to," ").concat(e),"".concat(to," ").concat(e," begins"),"".concat(to," ").concat(e," ends"))},tc={begin:function(e){return ta.mark("".concat(to," ").concat(e," begins")),function(){return ti(e)}}},ts=function(){};function tl(e){return"string"==typeof(e.getAttribute?e.getAttribute(T):null)}function tu(e){return S.createElementNS("http://www.w3.org/2000/svg",e)}function tf(e){return S.createElement(e)}var td={replace:function(e){var t=e[0];if(t.parentNode){if(e[1].forEach(function(e){t.parentNode.insertBefore(function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.ceFn,a=void 0===r?"svg"===t.tag?tu:tf:r;if("string"==typeof t)return S.createTextNode(t);var o=a(t.tag);return Object.keys(t.attributes||[]).forEach(function(e){o.setAttribute(e,t.attributes[e])}),(t.children||[]).forEach(function(t){o.appendChild(e(t,{ceFn:a}))}),o}(e),t)}),null===t.getAttribute(T)&&es.keepOriginalSource){var n,r=S.createComment((n=" ".concat(t.outerHTML," "),n="".concat(n,"Font Awesome fontawesome.com ")));t.parentNode.replaceChild(r,t)}else t.remove()}},nest:function(e){var t=e[0],n=e[1];if(~ep(t).indexOf(es.replacementClass))return td.replace(e);var r=new RegExp("".concat(es.cssPrefix,"-.*"));if(delete n[0].attributes.id,n[0].attributes.class){var a=n[0].attributes.class.split(" ").reduce(function(e,t){return t===es.replacementClass||t.match(r)?e.toSvg.push(t):e.toNode.push(t),e},{toNode:[],toSvg:[]});n[0].attributes.class=a.toSvg.join(" "),0===a.toNode.length?t.removeAttribute("class"):t.setAttribute("class",a.toNode.join(" "))}var o=n.map(function(e){return eP(e)}).join("\n");t.setAttribute(T,""),t.innerHTML=o}};function tp(e){e()}function tm(e,t){var n="function"==typeof t?t:ts;if(0===e.length)n();else{var r=tp;"async"===es.mutateApproach&&(r=E.requestAnimationFrame||tp),r(function(){var t=!0===es.autoReplaceSvg?td.replace:td[es.autoReplaceSvg]||td.replace,r=tc.begin("mutate");e.map(t),r(),n()})}}var tb=!1,tv=null;function ty(e){if(C&&es.observeMutations){var t=e.treeCallback,n=void 0===t?ts:t,r=e.nodeCallback,a=void 0===r?ts:r,o=e.pseudoElementsCallback,i=void 0===o?ts:o,c=e.observeMutationsRoot,s=void 0===c?S:c;tv=new C(function(e){if(!tb){var t=eZ;ed(e).forEach(function(e){if("childList"===e.type&&e.addedNodes.length>0&&!tl(e.addedNodes[0])&&(es.searchPseudoElements&&i(e.target),n(e.target)),"attributes"===e.type&&e.target.parentNode&&es.searchPseudoElements&&i(e.target.parentNode),"attributes"===e.type&&tl(e.target)&&~et.indexOf(e.attributeName)){if("class"===e.attributeName&&(o=(r=e.target).getAttribute?r.getAttribute(_):null,c=r.getAttribute?r.getAttribute(L):null,o&&c)){var r,o,c,s,l=eq(ep(e.target)),u=l.prefix,f=l.iconName;e.target.setAttribute(_,u||t),f&&e.target.setAttribute(L,f)}else(s=e.target)&&s.classList&&s.classList.contains&&s.classList.contains(es.replacementClass)&&a(e.target)}})}}),D&&tv.observe(s,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function tg(e){var t,n,r,o,i,c,s,l,u,f,d,p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{styleParser:!0},m=(r=e.getAttribute("data-prefix"),o=e.getAttribute("data-icon"),i=void 0!==e.innerText?e.innerText.trim():"",(c=eq(ep(e))).prefix||(c.prefix=eZ),r&&o&&(c.prefix=r,c.iconName=o),c.iconName&&c.prefix||(c.prefix&&i.length>0&&(c.iconName=(t=c.prefix,n=e.innerText,(eM[t]||{})[n]||eB(c.prefix,eS(e.innerText)))),!c.iconName&&es.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(c.iconName=e.firstChild.data)),c),b=m.iconName,v=m.prefix,y=m.rest,g=(s=ed(e.attributes).reduce(function(e,t){return"class"!==e.name&&"style"!==e.name&&(e[t.name]=t.value),e},{}),l=e.getAttribute("title"),u=e.getAttribute("data-fa-title-id"),es.autoA11y&&(l?s["aria-labelledby"]="".concat(es.replacementClass,"-title-").concat(u||ef()):(s["aria-hidden"]="true",s.focusable="false")),s),h=eQ("parseNodeAttributes",{},e),O=p.styleParser?(f=e.getAttribute("style"),d=[],f&&(d=f.split(";").reduce(function(e,t){var n=t.split(":"),r=n[0],a=n.slice(1);return r&&a.length>0&&(e[r]=a.join(":").trim()),e},{})),d):[];return a({iconName:b,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:v,transform:eu,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:y,styles:O,attributes:g}},h)}var th=ew.styles;function tO(e){var t="nest"===es.autoReplaceSvg?tg(e,{styleParser:!1}):tg(e);return~t.extra.classes.indexOf(G)?e1("generateLayersText",e,t):e1("generateSvgReplacementMutation",e,t)}var tw=new Set;function tj(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!D)return Promise.resolve();var n=S.documentElement.classList,r=function(e){return n.add("".concat(I,"-").concat(e))},a=function(e){return n.remove("".concat(I,"-").concat(e))},o=es.autoFetchSvg?tw:W.map(function(e){return"fa-".concat(e)}).concat(Object.keys(th));o.includes("fa")||o.push("fa");var i=[".".concat(G,":not([").concat(T,"])")].concat(o.map(function(e){return".".concat(e,":not([").concat(T,"])")})).join(", ");if(0===i.length)return Promise.resolve();var c=[];try{c=ed(e.querySelectorAll(i))}catch(e){}if(!(c.length>0))return Promise.resolve();r("pending"),a("complete");var s=tc.begin("onTree"),l=c.reduce(function(e,t){try{var n=tO(t);n&&e.push(n)}catch(e){F||"MissingIcon"!==e.name||console.error(e)}return e},[]);return new Promise(function(e,n){Promise.all(l).then(function(n){tm(n,function(){r("active"),r("complete"),a("pending"),"function"==typeof t&&t(),s(),e()})}).catch(function(e){s(),n(e)})})}function tx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;tO(e).then(function(e){e&&tm([e],t)})}W.map(function(e){tw.add("fa-".concat(e))}),Object.keys(U[B]).map(tw.add.bind(tw)),Object.keys(U[H]).map(tw.add.bind(tw)),tw=s(tw);var tP=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,r=void 0===n?eu:n,o=t.symbol,i=void 0!==o&&o,c=t.mask,s=void 0===c?null:c,l=t.maskId,u=void 0===l?null:l,f=t.title,d=void 0===f?null:f,p=t.titleId,m=void 0===p?null:p,b=t.classes,v=void 0===b?[]:b,y=t.attributes,g=void 0===y?{}:y,h=t.styles,O=void 0===h?{}:h;if(e){var w=e.prefix,j=e.iconName,x=e.icon;return e6(a({type:"icon"},e),function(){return e0("beforeDOMElementCreation",{iconDefinition:e,params:t}),es.autoA11y&&(d?g["aria-labelledby"]="".concat(es.replacementClass,"-title-").concat(m||ef()):(g["aria-hidden"]="true",g.focusable="false")),e9({icons:{main:te(x),mask:s?te(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:w,iconName:j,transform:a(a({},eu),r),symbol:i,title:d,maskId:u,titleId:m,extra:{attributes:g,styles:O,classes:v}})})}},tk=RegExp('"',"ug");function tE(e,t){var n="".concat("data-fa-pseudo-element-pending").concat(t.replace(":","-"));return new Promise(function(r,o){if(null!==e.getAttribute(n))return r();var i=ed(e.children).filter(function(e){return e.getAttribute(M)===t})[0],c=E.getComputedStyle(e,t),s=c.getPropertyValue("font-family").match(X),l=c.getPropertyValue("font-weight"),u=c.getPropertyValue("content");if(i&&!s)return e.removeChild(i),r();if(s&&"none"!==u&&""!==u){var f=c.getPropertyValue("content"),d=~["Sharp"].indexOf(s[2])?H:B,p=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(s[2])?Y[d][s[2].toLowerCase()]:J[d][l],m=(x=(w=O=f.replace(tk,"")).length,k=(P=w.charCodeAt(0))>=55296&&P<=56319&&x>1&&(j=w.charCodeAt(1))>=56320&&j<=57343?(P-55296)*1024+j-56320+65536:P,{value:(C=2===O.length&&O[0]===O[1])?eS(O[0]):eS(O),isSecondary:k>=1105920&&k<=1112319||C}),b=m.value,v=m.isSecondary,y=s[0].startsWith("FontAwesome"),g=eB(p,b),h=g;if(y){var O,w,j,x,P,k,C,N,D,A=(N=eL[b],D=eB("fas",b),N||(D?{prefix:"fas",iconName:D}:null)||{prefix:null,iconName:null});A.iconName&&A.prefix&&(g=A.iconName,p=A.prefix)}if(!g||v||i&&i.getAttribute(_)===p&&i.getAttribute(L)===h)r();else{e.setAttribute(n,h),i&&e.removeChild(i);var R={iconName:null,title:null,titleId:null,prefix:null,transform:eu,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}},Z=R.extra;Z.attributes[M]=t,tn(g,p).then(function(o){var i=e9(a(a({},R),{},{icons:{main:o,mask:eV()},prefix:p,iconName:h,extra:Z,watchable:!0})),c=S.createElementNS("http://www.w3.org/2000/svg","svg");"::before"===t?e.insertBefore(c,e.firstChild):e.appendChild(c),c.outerHTML=i.map(function(e){return eP(e)}).join("\n"),e.removeAttribute(n),r()}).catch(o)}}else r()})}function tS(e){return Promise.all([tE(e,"::before"),tE(e,"::after")])}function tC(e){return e.parentNode!==document.head&&!~z.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(M)&&(!e.parentNode||"svg"!==e.parentNode.tagName)}function tN(e){if(D)return new Promise(function(t,n){var r=ed(e.querySelectorAll("*")).filter(tC).map(tS),a=tc.begin("searchPseudoElements");tb=!0,Promise.all(r).then(function(){a(),tb=!1,t()}).catch(function(){a(),tb=!1,n()})})}var tD=!1,tA=function(e){return e.toLowerCase().split(" ").reduce(function(e,t){var n=t.toLowerCase().split("-"),r=n[0],a=n.slice(1).join("-");if(r&&"h"===a)return e.flipX=!0,e;if(r&&"v"===a)return e.flipY=!0,e;if(isNaN(a=parseFloat(a)))return e;switch(r){case"grow":e.size=e.size+a;break;case"shrink":e.size=e.size-a;break;case"left":e.x=e.x-a;break;case"right":e.x=e.x+a;break;case"up":e.y=e.y-a;break;case"down":e.y=e.y+a;break;case"rotate":e.rotate=e.rotate+a}return e},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0})},tR={x:0,y:0,width:"100%",height:"100%"};function tZ(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}e$=[{mixout:function(){return{dom:{css:ey,insertCss:eh}}},hooks:function(){return{beforeDOMElementCreation:function(){eh()},beforeI2svg:function(){eh()}}}},{mixout:function(){return{icon:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(e||{}).icon?e:e2(e||{}),r=t.mask;return r&&(r=(r||{}).icon?r:e2(r||{})),tP(n,a(a({},t),{},{mask:r}))}}},hooks:function(){return{mutationObserverCallbacks:function(e){return e.treeCallback=tj,e.nodeCallback=tx,e}}},provides:function(e){e.i2svg=function(e){var t=e.node,n=void 0===t?S:t,r=e.callback;return tj(n,void 0===r?function(){}:r)},e.generateSvgReplacementMutation=function(e,t){var n=t.iconName,r=t.title,a=t.titleId,o=t.prefix,i=t.transform,s=t.symbol,l=t.mask,u=t.maskId,f=t.extra;return new Promise(function(t,d){Promise.all([tn(n,o),l.iconName?tn(l.iconName,l.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(l){var d=c(l,2);t([e,e9({icons:{main:d[0],mask:d[1]},prefix:o,iconName:n,transform:i,symbol:s,maskId:u,title:r,titleId:a,extra:f,watchable:!0})])}).catch(d)})},e.generateAbstractIcon=function(e){var t,n=e.children,r=e.attributes,a=e.main,o=e.transform,i=eb(e.styles);return i.length>0&&(r.style=i),ev(o)&&(t=e1("generateAbstractTransformGrouping",{main:a,transform:o,containerWidth:a.width,iconWidth:a.width})),n.push(t||a.icon),{children:n,attributes:r}}}},{mixout:function(){return{layer:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.classes,r=void 0===n?[]:n;return e6({type:"layer"},function(){e0("beforeDOMElementCreation",{assembler:e,params:t});var n=[];return e(function(e){Array.isArray(e)?e.map(function(e){n=n.concat(e.abstract)}):n=n.concat(e.abstract)}),[{tag:"span",attributes:{class:["".concat(es.cssPrefix,"-layers")].concat(s(r)).join(" ")},children:n}]})}}}},{mixout:function(){return{counter:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.title,r=void 0===n?null:n,o=t.classes,i=void 0===o?[]:o,c=t.attributes,l=void 0===c?{}:c,u=t.styles,f=void 0===u?{}:u;return e6({type:"counter",content:e},function(){var n,o,c,u,d,p,m;return e0("beforeDOMElementCreation",{content:e,params:t}),o=(n={content:e.toString(),title:r,extra:{attributes:l,styles:f,classes:["".concat(es.cssPrefix,"-layers-counter")].concat(s(i))}}).content,c=n.title,d=a(a(a({},(u=n.extra).attributes),c?{title:c}:{}),{},{class:u.classes.join(" ")}),(p=eb(u.styles)).length>0&&(d.style=p),(m=[]).push({tag:"span",attributes:d,children:[o]}),c&&m.push({tag:"span",attributes:{class:"sr-only"},children:[c]}),m})}}}},{mixout:function(){return{text:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,r=void 0===n?eu:n,o=t.title,i=void 0===o?null:o,c=t.classes,l=void 0===c?[]:c,u=t.attributes,f=void 0===u?{}:u,d=t.styles,p=void 0===d?{}:d;return e6({type:"text",content:e},function(){return e0("beforeDOMElementCreation",{content:e,params:t}),e7({content:e,transform:a(a({},eu),r),title:i,extra:{attributes:f,styles:p,classes:["".concat(es.cssPrefix,"-layers-text")].concat(s(l))}})})}}},provides:function(e){e.generateLayersText=function(e,t){var n=t.title,r=t.transform,a=t.extra,o=null,i=null;if(A){var c=parseInt(getComputedStyle(e).fontSize,10),s=e.getBoundingClientRect();o=s.width/c,i=s.height/c}return es.autoA11y&&!n&&(a.attributes["aria-hidden"]="true"),Promise.resolve([e,e7({content:e.innerHTML,width:o,height:i,transform:r,title:n,extra:a,watchable:!0})])}}},{hooks:function(){return{mutationObserverCallbacks:function(e){return e.pseudoElementsCallback=tN,e}}},provides:function(e){e.pseudoElements2svg=function(e){var t=e.node,n=void 0===t?S:t;es.searchPseudoElements&&tN(n)}}},{mixout:function(){return{dom:{unwatch:function(){tb=!0,tD=!0}}}},hooks:function(){return{bootstrap:function(){ty(eQ("mutationObserverCallbacks",{}))},noAuto:function(){tv&&tv.disconnect()},watch:function(e){var t=e.observeMutationsRoot;tD?tb=!1:ty(eQ("mutationObserverCallbacks",{observeMutationsRoot:t}))}}}},{mixout:function(){return{parse:{transform:function(e){return tA(e)}}}},hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute("data-fa-transform");return n&&(e.transform=tA(n)),e}}},provides:function(e){e.generateAbstractTransformGrouping=function(e){var t=e.main,n=e.transform,r=e.containerWidth,o=e.iconWidth,i="translate(".concat(32*n.x,", ").concat(32*n.y,") "),c="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") "),s="rotate(".concat(n.rotate," 0 0)"),l={transform:"".concat(i," ").concat(c," ").concat(s)},u={outer:{transform:"translate(".concat(r/2," 256)")},inner:l,path:{transform:"translate(".concat(-(o/2*1)," -256)")}};return{tag:"g",attributes:a({},u.outer),children:[{tag:"g",attributes:a({},u.inner),children:[{tag:t.icon.tag,children:t.icon.children,attributes:a(a({},t.icon.attributes),u.path)}]}]}}}},{hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute("data-fa-mask"),r=n?eq(n.split(" ").map(function(e){return e.trim()})):eV();return r.prefix||(r.prefix=eZ),e.mask=r,e.maskId=t.getAttribute("data-fa-mask-id"),e}}},provides:function(e){e.generateAbstractMask=function(e){var t,n,r,o,i,c,s,l,u=e.children,f=e.attributes,d=e.main,p=e.mask,m=e.maskId,b=e.transform,v=d.width,y=d.icon,g=p.width,h=p.icon,O=(n=(t={transform:b,containerWidth:g,iconWidth:v}).transform,r=t.containerWidth,o=t.iconWidth,i="translate(".concat(32*n.x,", ").concat(32*n.y,") "),c="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") "),s="rotate(".concat(n.rotate," 0 0)"),l={transform:"".concat(i," ").concat(c," ").concat(s)},{outer:{transform:"translate(".concat(r/2," 256)")},inner:l,path:{transform:"translate(".concat(-(o/2*1)," -256)")}}),w={tag:"rect",attributes:a(a({},tR),{},{fill:"white"})},j=y.children?{children:y.children.map(tZ)}:{},x={tag:"g",attributes:a({},O.inner),children:[tZ(a({tag:y.tag,attributes:a(a({},y.attributes),O.path)},j))]},P={tag:"g",attributes:a({},O.outer),children:[x]},k="mask-".concat(m||ef()),E="clip-".concat(m||ef()),S={tag:"mask",attributes:a(a({},tR),{},{id:k,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[w,P]},C={tag:"defs",children:[{tag:"clipPath",attributes:{id:E},children:"g"===h.tag?h.children:[h]},S]};return u.push(C,{tag:"rect",attributes:a({fill:"currentColor","clip-path":"url(#".concat(E,")"),mask:"url(#".concat(k,")")},tR)}),{children:u,attributes:f}}}},{provides:function(e){var t=!1;E.matchMedia&&(t=E.matchMedia("(prefers-reduced-motion: reduce)").matches),e.missingIconAbstract=function(){var e=[],n={fill:"currentColor"},r={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};e.push({tag:"path",attributes:a(a({},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"})});var o=a(a({},r),{},{attributeName:"opacity"}),i={tag:"circle",attributes:a(a({},n),{},{cx:"256",cy:"364",r:"28"}),children:[]};return t||i.children.push({tag:"animate",attributes:a(a({},r),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:a(a({},o),{},{values:"1;0;1;1;0;1;"})}),e.push(i),e.push({tag:"path",attributes:a(a({},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:t?[]:[{tag:"animate",attributes:a(a({},o),{},{values:"1;0;0;0;0;1;"})}]}),t||e.push({tag:"path",attributes:a(a({},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:a(a({},o),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:e}}}},{hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute("data-fa-symbol");return e.symbol=null!==n&&(""===n||n),e}}}}],eG={},Object.keys(eX).forEach(function(e){-1===eJ.indexOf(e)&&delete eX[e]}),e$.forEach(function(e){var t=e.mixout?e.mixout():{};if(Object.keys(t).forEach(function(e){"function"==typeof t[e]&&(e4[e]=t[e]),"object"===o(t[e])&&Object.keys(t[e]).forEach(function(n){e4[e]||(e4[e]={}),e4[e][n]=t[e][n]})}),e.hooks){var n=e.hooks();Object.keys(n).forEach(function(e){eG[e]||(eG[e]=[]),eG[e].push(n[e])})}e.provides&&e.provides(eX)}),e4.noAuto,e4.config;var tT=e4.library;e4.dom;var tM=e4.parse;e4.findIconDefinition,e4.toHtml;var t_=e4.icon;e4.layer,e4.text,e4.counter},2587:function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}n.d(t,{Z:function(){return r}})},3553:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(6831),a=n(748);function o(e,t){if(t&&("object"===(0,r.Z)(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return(0,a.Z)(e)}},6835:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(2937);function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,c=[],s=!0,l=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=o.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw a}}return c}}(e,t)||(0,r.Z)(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},2937:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(2587);function a(e,t){if(e){if("string"==typeof e)return(0,r.Z)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return(0,r.Z)(e,t)}}}}]); \ No newline at end of file diff --git a/out/_next/static/chunks/main-70d61a0313d35f3b.js b/out/_next/static/chunks/main-70d61a0313d35f3b.js new file mode 100644 index 00000000..0bca7557 --- /dev/null +++ b/out/_next/static/chunks/main-70d61a0313d35f3b.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[179],{3143:function(){"use strict";try{self["workbox:window:6.5.4"]&&_()}catch(e){}function e(e,t){return new Promise(function(r){var n=new MessageChannel;n.port1.onmessage=function(e){r(e.data)},e.postMessage(t,[n.port2])})}function t(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r0||!o(t.scriptURL,u.sn.toString())||performance.now()>u.un+6e4?(u.vn=t,e.removeEventListener("updatefound",u.cn)):(u.hn=t,u.an.add(t),u.rn.resolve(t)),++u.tn,t.addEventListener("statechange",u.ln)},u.ln=function(e){var t=u.fn,r=e.target,n=r.state,o=r===u.vn,i={sw:r,isExternal:o,originalEvent:e};!o&&u.mn&&(i.isUpdate=!0),u.dispatchEvent(new a(n,i)),"installed"===n?u.wn=self.setTimeout(function(){"installed"===n&&t.waiting===r&&u.dispatchEvent(new a("waiting",i))},200):"activating"===n&&(clearTimeout(u.wn),o||u.en.resolve(r))},u.dn=function(e){var t=u.hn,r=t!==navigator.serviceWorker.controller;u.dispatchEvent(new a("controlling",{isExternal:r,originalEvent:e,sw:t,isUpdate:u.mn})),r||u.on.resolve(t)},u.gn=(s=function(e){var t=e.data,r=e.ports,n=e.source;return i(u.getSW(),function(){u.an.has(n)&&u.dispatchEvent(new a("message",{data:t,originalEvent:e,ports:r,sw:n}))})},function(){for(var e=[],t=0;t=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}(this.Sn(e.type));!(t=n()).done;)(0,t.value)(e)},t.Sn=function(e){return this.Pn.has(e)||this.Pn.set(e,new Set),this.Pn.get(e)},e}());if("undefined"!=typeof window&&"serviceWorker"in navigator&&"undefined"!=typeof caches){caches.has("start-url").then(function(e){e||caches.open("start-url").then(e=>e.put("/",new Response("",{status:200})))}),window.workbox=new l(window.location.origin+"/sw.js",{scope:"/"}),window.workbox.addEventListener("installed",async({isUpdate:e})=>{if(!e){let e=await caches.open("start-url"),t=await fetch("/"),r=t;t.redirected&&(r=new Response(t.body,{status:200,statusText:"OK",headers:t.headers})),await e.put("/",r)}}),window.workbox.addEventListener("installed",async()=>{let e=window.performance.getEntriesByType("resource").map(e=>e.name).filter(e=>e.startsWith(`${window.location.origin}/_next/data/`)&&e.endsWith(".json")),t=await caches.open("next-data");e.forEach(e=>t.add(e))}),window.workbox.register();{let e=function(e){if(window.navigator.onLine&&"/"===e)return fetch("/").then(function(e){return e.redirected?Promise.resolve():caches.open("start-url").then(t=>t.put("/",e))})},t=history.pushState;history.pushState=function(){t.apply(history,arguments),e(arguments[2])};let r=history.replaceState;history.replaceState=function(){r.apply(history,arguments),e(arguments[2])},window.addEventListener("online",()=>{e(window.location.pathname)})}window.addEventListener("online",()=>{location.reload()})}},5076:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});var n=r(5270),o=r(8740);function a(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4551:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(8740);var n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;ne.length)&&(t=e.length);for(var r=0,n=Array(t);r25){window.location.reload();return}clearTimeout(u),u=setTimeout(t,c>5?5e3:1e3)}o&&o.close();var u,s=(0,a.getSocketUrl)(e.assetPrefix);(o=new window.WebSocket(""+s+e.path)).onopen=function(){c=0,window.console.log("[HMR] connected")},o.onerror=r,o.onclose=r,o.onmessage=function(e){var t,r=JSON.parse(e.data),o=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return n(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,void 0)}}(e))){r&&(e=r);var o=0,a=function(){};return{s:a,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:a}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){s=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(s)throw i}}}}(i);try{for(o.s();!(t=o.n()).done;)(0,t.value)(r)}catch(e){o.e(e)}finally{o.f()}}}()}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3399:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return r}});var r=function(){for(var e=arguments.length,t=Array(e),r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){s=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(s)throw i}}}}(d);try{for(n.s();!(t=n.n()).done;){var a=t.value;if("object"==typeof e[a]){r[a]=Object.assign(Array.isArray(e[a])?[]:{},e[a]);continue}r[a]=e[a]}}catch(e){n.e(e)}finally{n.f()}return r.events=u.default.events,p.forEach(function(t){r[t]=function(){for(var r=arguments.length,n=Array(r),o=0;oe.length)&&(t=e.length);for(var r=0,n=Array(t);r1&&void 0!==arguments[1]?arguments[1]:1e-4;n(this,e),this.numItems=t,this.errorRate=r,this.numBits=Math.ceil(-(t*Math.log(r))/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/t*Math.log(2)),this.bitArray=Array(this.numBits).fill(0)}return o(e,[{key:"export",value:function(){return{numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray}}},{key:"import",value:function(e){this.numItems=e.numItems,this.errorRate=e.errorRate,this.numBits=e.numBits,this.numHashes=e.numHashes,this.bitArray=e.bitArray}},{key:"add",value:function(e){var t=this;this.getHashValues(e).forEach(function(e){t.bitArray[e]=1})}},{key:"contains",value:function(e){var t=this;return this.getHashValues(e).every(function(e){return t.bitArray[e]})}},{key:"getHashValues",value:function(e){for(var t=[],r=1;r<=this.numHashes;r++){var n=function(e){for(var t=0,r=0;r>>13,t=Math.imul(t,1540483477);return t>>>0}(""+e+r)%this.numBits;t.push(n)}return t}}],[{key:"from",value:function(t,r){void 0===r&&(r=1e-4);var n,o=new e(t.length,r),i=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return a(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return a(e,void 0)}}(e))){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){s=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(s)throw i}}}}(t);try{for(i.s();!(n=i.n()).done;){var u=n.value;o.add(u)}}catch(e){i.e(e)}finally{i.f()}return o}}]),e}()},4288:function(e,t,r){"use strict";var n,o=r(968);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{APP_BUILD_MANIFEST:function(){return P},APP_CLIENT_INTERNALS:function(){return Q},APP_PATHS_MANIFEST:function(){return y},APP_PATH_ROUTES_MANIFEST:function(){return g},AUTOMATIC_FONT_OPTIMIZATION_MANIFEST:function(){return C},BARREL_OPTIMIZATION_PREFIX:function(){return G},BLOCKED_PAGES:function(){return U},BUILD_ID_FILE:function(){return F},BUILD_MANIFEST:function(){return b},CLIENT_PUBLIC_FILES_PATH:function(){return B},CLIENT_REFERENCE_MANIFEST:function(){return z},CLIENT_STATIC_FILES_PATH:function(){return H},CLIENT_STATIC_FILES_RUNTIME_AMP:function(){return ee},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return Y},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return J},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return er},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return en},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return Z},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return et},COMPILER_INDEXES:function(){return u},COMPILER_NAMES:function(){return i},CONFIG_FILES:function(){return D},DEFAULT_RUNTIME_WEBPACK:function(){return eo},DEFAULT_SANS_SERIF_FONT:function(){return ef},DEFAULT_SERIF_FONT:function(){return el},DEV_CLIENT_PAGES_MANIFEST:function(){return A},DEV_MIDDLEWARE_MANIFEST:function(){return L},EDGE_RUNTIME_WEBPACK:function(){return ea},EDGE_UNSUPPORTED_NODE_APIS:function(){return em},EXPORT_DETAIL:function(){return S},EXPORT_MARKER:function(){return O},FUNCTIONS_CONFIG_MANIFEST:function(){return x},GOOGLE_FONT_PROVIDER:function(){return es},IMAGES_MANIFEST:function(){return T},INTERCEPTION_ROUTE_REWRITE_MANIFEST:function(){return $},MIDDLEWARE_BUILD_MANIFEST:function(){return K},MIDDLEWARE_MANIFEST:function(){return k},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return X},MODERN_BROWSERSLIST_TARGET:function(){return a.default},NEXT_BUILTIN_DOCUMENT:function(){return q},NEXT_FONT_MANIFEST:function(){return E},OPTIMIZED_FONT_PROVIDERS:function(){return ec},PAGES_MANIFEST:function(){return m},PHASE_DEVELOPMENT_SERVER:function(){return p},PHASE_EXPORT:function(){return l},PHASE_INFO:function(){return v},PHASE_PRODUCTION_BUILD:function(){return f},PHASE_PRODUCTION_SERVER:function(){return d},PHASE_TEST:function(){return h},PRERENDER_MANIFEST:function(){return j},REACT_LOADABLE_MANIFEST:function(){return I},ROUTES_MANIFEST:function(){return R},RSC_MODULE_TYPES:function(){return ev},SERVER_DIRECTORY:function(){return N},SERVER_FILES_MANIFEST:function(){return M},SERVER_PROPS_ID:function(){return eu},SERVER_REFERENCE_MANIFEST:function(){return V},STATIC_PROPS_ID:function(){return ei},STATIC_STATUS_PAGES:function(){return ed},STRING_LITERAL_DROP_BUNDLE:function(){return W},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return w},SYSTEM_ENTRYPOINTS:function(){return ey},TRACE_OUTPUT_VERSION:function(){return ep},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return eh},UNDERSCORE_NOT_FOUND_ROUTE:function(){return s},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return c}});var a=r(8754)._(r(9734)),i={client:"client",server:"server",edgeServer:"edge-server"},u=(o(n={},i.client,0),o(n,i.server,1),o(n,i.edgeServer,2),n),s="/_not-found",c=""+s+"/page",l="phase-export",f="phase-production-build",d="phase-production-server",p="phase-development-server",h="phase-test",v="phase-info",m="pages-manifest.json",y="app-paths-manifest.json",g="app-path-routes-manifest.json",b="build-manifest.json",P="app-build-manifest.json",x="functions-config-manifest.json",w="subresource-integrity-manifest",E="next-font-manifest",O="export-marker.json",S="export-detail.json",j="prerender-manifest.json",R="routes-manifest.json",T="images-manifest.json",M="required-server-files.json",A="_devPagesManifest.json",k="middleware-manifest.json",L="_devMiddlewareManifest.json",I="react-loadable-manifest.json",C="font-manifest.json",N="server",D=["next.config.js","next.config.mjs"],F="BUILD_ID",U=["/_document","/_app","/_error"],B="public",H="static",W="__NEXT_DROP_CLIENT_FILE__",q="__NEXT_BUILTIN_DOCUMENT__",G="__barrel_optimize__",z="client-reference-manifest",V="server-reference-manifest",K="middleware-build-manifest",X="middleware-react-loadable-manifest",$="interception-route-rewrite-manifest",Y="main",J=""+Y+"-app",Q="app-pages-internals",Z="react-refresh",ee="amp",et="webpack",er="polyfills",en=Symbol(er),eo="webpack-runtime",ea="edge-runtime-webpack",ei="__N_SSG",eu="__N_SSP",es="https://fonts.googleapis.com/",ec=[{url:es,preconnect:"https://fonts.gstatic.com"},{url:"https://use.typekit.net",preconnect:"https://use.typekit.net"}],el={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},ef={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},ed=["/500"],ep=1,eh=6e3,ev={client:"client",server:"server"},em=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],ey=new Set([Y,Z,ee,J]);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5021:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});var r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function o(e){return r.test(e)?e.replace(n,"\\$&"):e}},4376:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});var n=r(8754)._(r(7294)).default.createContext({})},6824:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return i},PathnameContext:function(){return a},SearchParamsContext:function(){return o}});var n=r(7294),o=(0,n.createContext)(null),a=(0,n.createContext)(null),i=(0,n.createContext)(null)},9305:function(e,t){"use strict";function r(e,t){var r,n=e.split("/");return(t||[]).some(function(t){return!!n[1]&&n[1].toLowerCase()===t.toLowerCase()&&(r=t,n.splice(1,1),e=n.join("/")||"/",!0)}),{pathname:e,detectedLocale:r}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return r}})},3447:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});var n=r(8754)._(r(7294)),o=r(9238),a=n.default.createContext(o.imageConfigDefault)},9238:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});var r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"inline",localPatterns:void 0,remotePatterns:[],unoptimized:!1}},8551:function(e,t){"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},687:function(e,t,r){"use strict";var n=r(6089),o=r(3322),a=r(5667),i=r(1961),u=r(7731),s=r(7033);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return l},isBailoutToCSRError:function(){return f}});var c="BAILOUT_TO_CLIENT_SIDE_RENDERING",l=function(e){a(s,e);var t,r=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,r=u(s);return e=t?Reflect.construct(r,arguments,u(this).constructor):r.apply(this,arguments),i(this,e)});function s(e){var t;return o(this,s),(t=r.call(this,"Bail out to client-side rendering: "+e)).reason=e,t.digest=c,t}return n(s)}(s(Error));function f(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===c}},5542:function(e,t){"use strict";function r(){var e=Object.create(null);return{on:function(t,r){(e[t]||(e[t]=[])).push(r)},off:function(t,r){e[t]&&e[t].splice(e[t].indexOf(r)>>>0,1)},emit:function(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o1&&o.status>=500?e(t,r-1,n):o})})(t,a?3:1,{headers:Object.assign({},n?{purpose:"prefetch"}:{},n&&o?{"x-middleware-prefetch":"1"}:{}),method:null!=(s=null==e?void 0:e.method)?s:"GET"}).then(function(r){return r.ok&&(null==e?void 0:e.method)==="HEAD"?{dataHref:t,response:r,text:"",json:{},cacheKey:l}:r.text().then(function(e){if(!r.ok){if(o&&[301,302,307,308].includes(r.status))return{dataHref:t,response:r,text:e,json:{},cacheKey:l};if(404===r.status){var n;if(null==(n=Z(e))?void 0:n.notFound)return{dataHref:t,json:{notFound:Q},response:r,text:e,cacheKey:l}}var u=Error("Failed to load static props");throw a||(0,h.markAssetError)(u),u}return{dataHref:t,json:i?Z(e):null,response:r,text:e,cacheKey:l}})}).then(function(e){return u&&"no-cache"!==e.response.headers.get("x-middleware-cache")||delete r[l],e}).catch(function(e){throw c||delete r[l],("Failed to fetch"===e.message||"NetworkError when attempting to fetch resource."===e.message||"Load failed"===e.message)&&(0,h.markAssetError)(e),e})};return c&&u?f({}).then(function(e){return"no-cache"!==e.response.headers.get("x-middleware-cache")&&(r[l]=Promise.resolve(e)),e}):void 0!==r[l]?r[l]:r[l]=f(s?{method:"HEAD"}:{})}function et(){return Math.random().toString(36).slice(2,10)}function er(e){var t=e.url,r=e.router;if(t===(0,k.addBasePath)((0,T.addLocale)(r.asPath,r.locale)))throw Error("Invariant: attempted to hard navigate to the same URL "+t+" "+location.href);window.location.href=t}var en=function(e){var t=e.route,r=e.router,n=!1,o=r.clc=function(){n=!0};return function(){if(n){var e=Error('Abort fetching component for route: "'+t+'"');throw e.cancelled=!0,e}o===r.clc&&(r.clc=null)}},eo=function(){var e,t,i,c,f,d;function y(e,t,n,a){var i=this,u=a.initialProps,s=a.pageLoader,c=a.App,l=a.wrapApp,f=a.Component,d=a.err,h=a.subscription,v=a.isFallback,m=a.locale,g=(a.locales,a.defaultLocale,a.domainLocales,a.isPreview);o(this,y),this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=et(),this.onPopState=function(e){var t,r=i.isFirstPopStateEvent;i.isFirstPopStateEvent=!1;var n=e.state;if(!n){var o=i.pathname,a=i.query;i.changeState("replaceState",(0,j.formatWithValidation)({pathname:(0,k.addBasePath)(o),query:a}),(0,P.getURL)());return}if(n.__NA){window.location.reload();return}if(n.__N&&(!r||i.locale!==n.options.locale||n.as!==i.asPath)){var u=n.url,s=n.as,c=n.options,l=n.key;i._key=l;var f=(0,w.parseRelativeUrl)(u).pathname;(!i.isSsr||s!==(0,k.addBasePath)(i.asPath)||f!==(0,k.addBasePath)(i.pathname))&&(!i._bps||i._bps(n))&&i.change("replaceState",u,s,Object.assign({},c,{shallow:c.shallow&&i._shallow,locale:c.locale||i.defaultLocale,_h:0}),t)}};var b=(0,p.removeTrailingSlash)(e);this.components={},"/_error"!==e&&(this.components[b]={Component:f,initial:!0,props:u,err:d,__N_SSG:u&&u.__N_SSG,__N_SSP:u&&u.__N_SSP}),this.components["/_app"]={Component:c,styleSheets:[]};var E=r(1717).BloomFilter,O={numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]},S={numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]};(null==O?void 0:O.numHashes)&&(this._bfl_s=new E(O.numItems,O.errorRate),this._bfl_s.import(O)),(null==S?void 0:S.numHashes)&&(this._bfl_d=new E(S.numItems,S.errorRate),this._bfl_d.import(S)),this.events=y.events,this.pageLoader=s;var R=(0,x.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;if(this.basePath="",this.sub=h,this.clc=null,this._wrapApp=l,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.isExperimentalCompile||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp||!R&&!self.location.search),this.state={route:b,pathname:e,query:t,asPath:R?e:n,isPreview:!!g,locale:void 0,isFallback:v},this._initialMatchesMiddlewarePromise=Promise.resolve(!1),!n.startsWith("//")){var T={locale:m},M=(0,P.getURL)();this._initialMatchesMiddlewarePromise=z({router:this,locale:m,asPath:M}).then(function(r){return T._shouldResolveHref=n!==e,i.changeState("replaceState",r?M:(0,j.formatWithValidation)({pathname:(0,k.addBasePath)(e),query:t}),M,T),r})}window.addEventListener("popstate",this.onPopState)}return a(y,[{key:"reload",value:function(){window.location.reload()}},{key:"back",value:function(){window.history.back()}},{key:"forward",value:function(){window.history.forward()}},{key:"push",value:function(e,t,r){void 0===r&&(r={});var n=X(this,e,t);return e=n.url,t=n.as,this.change("pushState",e,t,r)}},{key:"replace",value:function(e,t,r){void 0===r&&(r={});var n=X(this,e,t);return e=n.url,t=n.as,this.change("replaceState",e,t,r)}},{key:"_bfl",value:(e=s(n.mark(function e(t,r,o,a){var i,u,s,c,l,f,d,h,v,m,y,g,b,P,x;return n.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:i=!1,u=!1,s=0,c=[t,r];case 4:if(!(s0&&!ei)){e.next=116;break}throw Error((ed?"The provided `href` ("+r+") value is missing query values ("+eh.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+el+") is incompatible with the `href` value ("+en+"). ")+"Read more: https://nextjs.org/docs/messages/"+(ed?"href-interpolation-failed":"incompatible-href-as"));case 116:e.next=119;break;case 118:ed?o=(0,j.formatWithValidation)(Object.assign({},ec,{pathname:ep.result,query:(0,H.omit)(J,ep.params)})):Object.assign(J,es);case 119:return c||y.events.emit("routeChangeStart",o,B),ev="/404"===this.pathname||"/_error"===this.pathname,e.prev=121,e.next=124,this.getRouteInfo({route:en,pathname:Y,query:J,as:o,resolvedAs:et,routeProps:B,locale:d.locale,isPreview:d.isPreview,hasMiddleware:ei,unstable_skipClientCache:a.unstable_skipClientCache,isQueryUpdating:c&&!this.isFallback,isMiddlewareRewrite:ea});case 124:if(eb=e.sent,!(!c&&!a.shallow)){e.next=128;break}return e.next=128,this._bfl(o,"resolvedAs"in eb?eb.resolvedAs:void 0,d.locale);case 128:if("route"in eb&&ei&&(en=Y=eb.route||en,B.shallow||(J=Object.assign({},eb.query||{},J)),e_=(0,L.hasBasePath)(K.pathname)?(0,A.removeBasePath)(K.pathname):K.pathname,es&&Y!==e_&&Object.keys(es).forEach(function(e){es&&J[e]===es[e]&&delete J[e]}),(0,x.isDynamicRoute)(Y))&&(eP=!B.shallow&&eb.resolvedAs?eb.resolvedAs:(0,k.addBasePath)((0,T.addLocale)(new URL(o,location.href).pathname,d.locale),!0),(0,L.hasBasePath)(eP)&&(eP=(0,A.removeBasePath)(eP)),ex=(0,S.getRouteRegex)(Y),(ew=(0,O.getRouteMatcher)(ex)(new URL(eP,location.href).pathname))&&Object.assign(J,ew)),!("type"in eb)){e.next=136;break}if("redirect-internal"!==eb.type){e.next=134;break}return e.abrupt("return",this.change(t,eb.newUrl,eb.newAs,a));case 134:return er({url:eb.destination,router:this}),e.abrupt("return",new Promise(function(){}));case 136:if((eE=eb.Component)&&eE.unstable_scriptLoader&&[].concat(eE.unstable_scriptLoader()).forEach(function(e){(0,v.handleClientScriptLoad)(e.props)}),!((eb.__N_SSG||eb.__N_SSP)&&eb.props)){e.next=165;break}if(!(eb.props.pageProps&&eb.props.pageProps.__N_REDIRECT)){e.next=149;break}if(a.locale=!1,!((eO=eb.props.pageProps.__N_REDIRECT).startsWith("/")&&!1!==eb.props.pageProps.__N_REDIRECT_BASE_PATH)){e.next=147;break}return(eS=(0,w.parseRelativeUrl)(eO)).pathname=$(eS.pathname,Z),eR=(ej=X(this,eO,eO)).url,eT=ej.as,e.abrupt("return",this.change(t,eR,eT,a));case 147:return er({url:eO,router:this}),e.abrupt("return",new Promise(function(){}));case 149:if(d.isPreview=!!eb.props.__N_PREVIEW,eb.props.notFound!==Q){e.next=165;break}return e.prev=151,e.next=154,this.fetchComponent("/404");case 154:eM="/404",e.next=160;break;case 157:e.prev=157,e.t3=e.catch(151),eM="/_error";case 160:return e.next=162,this.getRouteInfo({route:eM,pathname:eM,query:J,as:o,resolvedAs:et,routeProps:{shallow:!1},locale:d.locale,isPreview:d.isPreview,isNotFound:!0});case 162:if(!("type"in(eb=e.sent))){e.next=165;break}throw Error("Unexpected middleware effect on /404");case 165:if(c&&"/_error"===this.pathname&&(null==(ey=self.__NEXT_DATA__.props)?void 0:null==(em=ey.pageProps)?void 0:em.statusCode)===500&&(null==(eg=eb.props)?void 0:eg.pageProps)&&(eb.props.pageProps.statusCode=500),ek=a.shallow&&d.route===(null!=(eA=eb.route)?eA:en),eC=(eI=null!=(eL=a.scroll)?eL:!c&&!ek)?{x:0,y:0}:null,eN=null!=i?i:eC,eD=l(l({},d),{},{route:en,pathname:Y,query:J,asPath:q,isFallback:!1}),!(c&&ev)){e.next=188;break}return e.next=174,this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:J,as:o,resolvedAs:et,routeProps:{shallow:!1},locale:d.locale,isPreview:d.isPreview,isQueryUpdating:c&&!this.isFallback});case 174:if(!("type"in(eb=e.sent))){e.next=177;break}throw Error("Unexpected middleware effect on "+this.pathname);case 177:return"/_error"===this.pathname&&(null==(eU=self.__NEXT_DATA__.props)?void 0:null==(eF=eU.pageProps)?void 0:eF.statusCode)===500&&(null==(eB=eb.props)?void 0:eB.pageProps)&&(eb.props.pageProps.statusCode=500),e.prev=178,e.next=181,this.set(eD,eb,eN);case 181:e.next=187;break;case 183:throw e.prev=183,e.t4=e.catch(178),(0,m.default)(e.t4)&&e.t4.cancelled&&y.events.emit("routeChangeError",e.t4,q,B),e.t4;case 187:return e.abrupt("return",!0);case 188:if(y.events.emit("beforeHistoryChange",o,B),this.changeState(t,r,o,a),c&&!eN&&!g&&!V&&(0,F.compareRouterStates)(eD,this.state)){e.next=211;break}return e.prev=192,e.next=195,this.set(eD,eb,eN);case 195:e.next=204;break;case 197:if(e.prev=197,e.t5=e.catch(192),!e.t5.cancelled){e.next=203;break}eb.error=eb.error||e.t5,e.next=204;break;case 203:throw e.t5;case 204:if(!eb.error){e.next=207;break}throw c||y.events.emit("routeChangeError",eb.error,q,B),eb.error;case 207:c||y.events.emit("routeChangeComplete",o,B),eH=/#.+$/,eI&&eH.test(o)&&this.scrollToHash(o);case 211:return e.abrupt("return",!0);case 214:if(e.prev=214,e.t6=e.catch(121),!((0,m.default)(e.t6)&&e.t6.cancelled)){e.next=218;break}return e.abrupt("return",!1);case 218:throw e.t6;case 219:case"end":return e.stop()}},e,this,[[41,46],[54,63],[121,214],[151,157],[178,183],[192,197]])})),function(e,r,n,o,a){return t.apply(this,arguments)})},{key:"changeState",value:function(e,t,r,n){void 0===n&&(n={}),("pushState"!==e||(0,P.getURL)()!==r)&&(this._shallow=n.shallow,window.history[e]({url:t,as:r,options:n,__N:!0,key:this._key="pushState"!==e?this._key:et()},"",r))}},{key:"handleRouteInfoError",value:(i=s(n.mark(function e(t,r,o,a,i,u){var s,c,l,f;return n.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(console.error(t),!t.cancelled){e.next=3;break}throw t;case 3:if(!((0,h.isAssetError)(t)||u)){e.next=7;break}throw y.events.emit("routeChangeError",t,a,i),er({url:a,router:this}),G();case 7:return e.prev=7,e.next=10,this.fetchComponent("/_error");case 10:if((f={props:s,Component:l=(c=e.sent).page,styleSheets:c.styleSheets,err:t,error:t}).props){e.next=25;break}return e.prev=15,e.next=18,this.getInitialProps(l,{err:t,pathname:r,query:o});case 18:f.props=e.sent,e.next=25;break;case 21:e.prev=21,e.t0=e.catch(15),console.error("Error in error page `getInitialProps`: ",e.t0),f.props={};case 25:return e.abrupt("return",f);case 28:return e.prev=28,e.t1=e.catch(7),e.abrupt("return",this.handleRouteInfoError((0,m.default)(e.t1)?e.t1:Error(e.t1+""),r,o,a,i,!0));case 31:case"end":return e.stop()}},e,this,[[7,28],[15,21]])})),function(e,t,r,n,o,a){return i.apply(this,arguments)})},{key:"getRouteInfo",value:(c=s(n.mark(function e(t){var r,o,a,i,u,c,f,d,h,v,y,b,P,x,w,E,O,S,R,T,M,k,L,I,N,D,F,U,B,H,W,q,G=this;return n.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.route,o=t.pathname,a=t.query,i=t.as,u=t.resolvedAs,c=t.routeProps,f=t.locale,d=t.hasMiddleware,h=t.isPreview,v=t.unstable_skipClientCache,y=t.isQueryUpdating,b=t.isMiddlewareRewrite,P=t.isNotFound,x=r,e.prev=2,R=this.components[x],!(c.shallow&&R&&this.route===x)){e.next=6;break}return e.abrupt("return",R);case 6:if(T=en({route:x,router:this}),d&&(R=void 0),M=!R||"initial"in R?void 0:R,k=y,L={dataHref:this.pageLoader.getDataHref({href:(0,j.formatWithValidation)({pathname:o,query:a}),skipInterpolation:!0,asPath:P?"/404":u,locale:f}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:k?this.sbc:this.sdc,persistCache:!h,isPrefetch:!1,unstable_skipClientCache:v,isBackground:k},!(y&&!b)){e.next=15;break}e.t0=null,e.next=18;break;case 15:return e.next=17,Y({fetchData:function(){return ee(L)},asPath:P?"/404":u,locale:f,router:this}).catch(function(e){if(y)return null;throw e});case 17:e.t0=e.sent;case 18:if((I=e.t0)&&("/_error"===o||"/404"===o)&&(I.effect=void 0),y&&(I?I.json=self.__NEXT_DATA__.props:I={json:self.__NEXT_DATA__.props}),T(),!((null==I?void 0:null==(w=I.effect)?void 0:w.type)==="redirect-internal"||(null==I?void 0:null==(E=I.effect)?void 0:E.type)==="redirect-external")){e.next=24;break}return e.abrupt("return",I.effect);case 24:if((null==I?void 0:null==(O=I.effect)?void 0:O.type)!=="rewrite"){e.next=37;break}return N=(0,p.removeTrailingSlash)(I.effect.resolvedHref),e.next=28,this.pageLoader.getPageList();case 28:if(D=e.sent,!(!y||D.includes(N))||(x=N,o=I.effect.resolvedHref,a=l(l({},a),I.effect.parsedAs.query),u=(0,A.removeBasePath)((0,g.normalizeLocalePath)(I.effect.parsedAs.pathname,this.locales).pathname),R=this.components[x],!(c.shallow&&R&&this.route===x&&!d))){e.next=37;break}return e.abrupt("return",l(l({},R),{},{route:x}));case 37:if(!(0,C.isAPIRoute)(x)){e.next=40;break}return er({url:i,router:this}),e.abrupt("return",new Promise(function(){}));case 40:if(e.t1=M,e.t1){e.next=45;break}return e.next=44,this.fetchComponent(x).then(function(e){return{Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP}});case 44:e.t1=e.sent;case 45:F=e.t1,e.next=50;break;case 50:return U=null==I?void 0:null==(S=I.response)?void 0:S.headers.get("x-middleware-skip"),B=F.__N_SSG||F.__N_SSP,U&&(null==I?void 0:I.dataHref)&&delete this.sdc[I.dataHref],e.next=55,this._getData(s(n.mark(function e(){var t,r;return n.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!B){e.next=8;break}if(!((null==I?void 0:I.json)&&!U)){e.next=3;break}return e.abrupt("return",{cacheKey:I.cacheKey,props:I.json});case 3:return t=(null==I?void 0:I.dataHref)?I.dataHref:G.pageLoader.getDataHref({href:(0,j.formatWithValidation)({pathname:o,query:a}),asPath:u,locale:f}),e.next=6,ee({dataHref:t,isServerRender:G.isSsr,parseJSON:!0,inflightCache:U?{}:G.sdc,persistCache:!h,isPrefetch:!1,unstable_skipClientCache:v});case 6:return r=e.sent,e.abrupt("return",{cacheKey:r.cacheKey,props:r.json||{}});case 8:return e.t0={},e.next=11,G.getInitialProps(F.Component,{pathname:o,query:a,asPath:i,locale:f,locales:G.locales,defaultLocale:G.defaultLocale});case 11:return e.t1=e.sent,e.abrupt("return",{headers:e.t0,props:e.t1});case 13:case"end":return e.stop()}},e)})));case 55:return W=(H=e.sent).props,q=H.cacheKey,F.__N_SSP&&L.dataHref&&q&&delete this.sdc[q],this.isPreview||!F.__N_SSG||y||ee(Object.assign({},L,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch(function(){}),W.pageProps=Object.assign({},W.pageProps),F.props=W,F.route=x,F.query=a,F.resolvedAs=u,this.components[x]=F,e.abrupt("return",F);case 69:return e.prev=69,e.t2=e.catch(2),e.abrupt("return",this.handleRouteInfoError((0,m.getProperError)(e.t2),o,a,i,c));case 72:case"end":return e.stop()}},e,this,[[2,69]])})),function(e){return c.apply(this,arguments)})},{key:"set",value:function(e,t,r){return this.state=e,this.sub(t,this.components["/_app"].Component,r)}},{key:"beforePopState",value:function(e){this._bps=e}},{key:"onlyAHashChange",value:function(e){if(!this.asPath)return!1;var t=u(this.asPath.split("#",2),2),r=t[0],n=t[1],o=u(e.split("#",2),2),a=o[0],i=o[1];return!!i&&r===a&&n===i||r===a&&n!==i}},{key:"scrollToHash",value:function(e){var t=u(e.split("#",2),2)[1],r=void 0===t?"":t;(0,q.handleSmoothScroll)(function(){if(""===r||"top"===r){window.scrollTo(0,0);return}var e=decodeURIComponent(r),t=document.getElementById(e);if(t){t.scrollIntoView();return}var n=document.getElementsByName(e)[0];n&&n.scrollIntoView()},{onlyHashChange:this.onlyAHashChange(e)})}},{key:"urlIsNew",value:function(e){return this.asPath!==e}},{key:"prefetch",value:(f=s(n.mark(function e(t,r,o){var a,i,u,s,c,f,d,h,v,m,y,g,b,P=this;return n.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:void 0===r&&(r=t),void 0===o&&(o={}),e.next=4;break;case 4:if(!(0,B.isBot)(window.navigator.userAgent)){e.next=6;break}return e.abrupt("return");case 6:return i=(a=(0,w.parseRelativeUrl)(t)).pathname,u=a.pathname,s=a.query,c=u,e.next=13,this.pageLoader.getPageList();case 13:return f=e.sent,d=r,h=void 0!==o.locale?o.locale||void 0:this.locale,e.next=18,z({asPath:r,locale:h,router:this});case 18:v=e.sent,e.next=29;break;case 22:if(m=e.sent.__rewrites,!(y=(0,E.default)((0,k.addBasePath)((0,T.addLocale)(r,this.locale),!0),f,m,a.query,function(e){return $(e,f)},this.locales)).externalDest){e.next=27;break}return e.abrupt("return");case 27:v||(d=(0,M.removeLocale)((0,A.removeBasePath)(y.asPath),this.locale)),y.matchedPage&&y.resolvedHref&&(u=y.resolvedHref,a.pathname=u,v||(t=(0,j.formatWithValidation)(a)));case 29:a.pathname=$(a.pathname,f),(0,x.isDynamicRoute)(a.pathname)&&(u=a.pathname,a.pathname=u,Object.assign(s,(0,O.getRouteMatcher)((0,S.getRouteRegex)(a.pathname))((0,R.parsePath)(r).pathname)||{}),v||(t=(0,j.formatWithValidation)(a))),e.next=35;break;case 35:return e.next=37,Y({fetchData:function(){return ee({dataHref:P.pageLoader.getDataHref({href:(0,j.formatWithValidation)({pathname:c,query:s}),skipInterpolation:!0,asPath:d,locale:h}),hasMiddleware:!0,isServerRender:!1,parseJSON:!0,inflightCache:P.sdc,persistCache:!P.isPreview,isPrefetch:!0})},asPath:r,locale:h,router:this});case 37:e.t0=e.sent;case 38:if((null==(g=e.t0)?void 0:g.effect.type)==="rewrite"&&(a.pathname=g.effect.resolvedHref,u=g.effect.resolvedHref,s=l(l({},s),g.effect.parsedAs.query),d=g.effect.parsedAs.pathname,t=(0,j.formatWithValidation)(a)),(null==g?void 0:g.effect.type)!=="redirect-external"){e.next=42;break}return e.abrupt("return");case 42:return b=(0,p.removeTrailingSlash)(u),e.next=45,this._bfl(r,d,o.locale,!0);case 45:if(!e.sent){e.next=47;break}this.components[i]={__appRouter:!0};case 47:return e.next=49,Promise.all([this.pageLoader._isSsg(b).then(function(e){return!!e&&ee({dataHref:(null==g?void 0:g.json)?null==g?void 0:g.dataHref:P.pageLoader.getDataHref({href:t,asPath:d,locale:h}),isServerRender:!1,parseJSON:!0,inflightCache:P.sdc,persistCache:!P.isPreview,isPrefetch:!0,unstable_skipClientCache:o.unstable_skipClientCache||o.priority&&!0}).then(function(){return!1}).catch(function(){return!1})}),this.pageLoader[o.priority?"loadPage":"prefetch"](b)]);case 49:case"end":return e.stop()}},e,this)})),function(e,t,r){return f.apply(this,arguments)})},{key:"fetchComponent",value:(d=s(n.mark(function e(t){var r,o;return n.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=en({route:t,router:this}),e.prev=1,e.next=4,this.pageLoader.loadPage(t);case 4:return o=e.sent,r(),e.abrupt("return",o);case 9:throw e.prev=9,e.t0=e.catch(1),r(),e.t0;case 13:case"end":return e.stop()}},e,this,[[1,9]])})),function(e){return d.apply(this,arguments)})},{key:"_getData",value:function(e){var t=this,r=!1,n=function(){r=!0};return this.clc=n,e().then(function(e){if(n===t.clc&&(t.clc=null),r){var o=Error("Loading initial props cancelled");throw o.cancelled=!0,o}return e})}},{key:"_getFlightData",value:function(e){return ee({dataHref:e,isServerRender:!0,parseJSON:!1,inflightCache:this.sdc,persistCache:!1,isPrefetch:!1}).then(function(e){return{data:e.text}})}},{key:"getInitialProps",value:function(e,t){var r=this.components["/_app"].Component,n=this._wrapApp(r);return t.AppTree=n,(0,P.loadGetInitialProps)(r,{AppTree:n,Component:e,router:this,ctx:t})}},{key:"route",get:function(){return this.state.route}},{key:"pathname",get:function(){return this.state.pathname}},{key:"query",get:function(){return this.state.query}},{key:"asPath",get:function(){return this.state.asPath}},{key:"locale",get:function(){return this.state.locale}},{key:"isFallback",get:function(){return this.state.isFallback}},{key:"isPreview",get:function(){return this.state.isPreview}}]),y}();eo.events=(0,b.default)()},3445:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return a}});var n=r(5270),o=r(6945);function a(e,t,r,a){if(!t||t===r)return e;var i=e.toLowerCase();return!a&&((0,o.pathHasPrefix)(i,"/api")||(0,o.pathHasPrefix)(i,"/"+t.toLowerCase()))?e:(0,n.addPathPrefix)(e,"/"+t)}},5270:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});var n=r(1104);function o(e,t){if(!e.startsWith("/")||!t)return e;var r=(0,n.parsePath)(e);return""+t+r.pathname+r.query+r.hash}},1606:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return o}});var n=r(1104);function o(e,t){if(!e.startsWith("/")||!t)return e;var r=(0,n.parsePath)(e);return""+r.pathname+t+r.query+r.hash}},3931:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscURL:function(){return i}});var n=r(1843),o=r(9970);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce(function(e,t,r,n){return!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t},""))}function i(e){return e.replace(/\.rsc($|\?)/,"$1")}},2082:function(e,t){"use strict";function r(e){return new URL(e,"http://n").searchParams}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"asPathToSearchParams",{enumerable:!0,get:function(){return r}})},9791:function(e,t){"use strict";function r(e,t){var r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(var n=r.length;n--;){var o=r[n];if("query"===o){var a=Object.keys(e.query);if(a.length!==Object.keys(t.query).length)return!1;for(var i=a.length;i--;){var u=a[i];if(!t.query.hasOwnProperty(u)||e.query[u]!==t.query[u])return!1}}else if(!t.hasOwnProperty(o)||e[o]!==t[o])return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"compareRouterStates",{enumerable:!0,get:function(){return r}})},6969:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return u}});var n=r(8742),o=r(5270),a=r(1606),i=r(3445);function u(e){var t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,n.removeTrailingSlash)(t)),e.buildId&&(t=(0,a.addPathSuffix)((0,o.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,a.addPathSuffix)(t,"/"):(0,n.removeTrailingSlash)(t)}},6213:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return u},urlObjectKeys:function(){return i}});var n=r(1757)._(r(9357)),o=/https?|ftp|gopher|file/;function a(e){var t=e.auth,r=e.hostname,a=e.protocol||"",i=e.pathname||"",u=e.hash||"",s=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(c+=":"+e.port)),s&&"object"==typeof s&&(s=String(n.urlQueryToSearchParams(s)));var l=e.search||s&&"?"+s||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==c?(c="//"+(c||""),i&&"/"!==i[0]&&(i="/"+i)):c||(c=""),u&&"#"!==u[0]&&(u="#"+u),l&&"?"!==l[0]&&(l="?"+l),""+a+c+(i=i.replace(/[?#]/g,encodeURIComponent))+(l=l.replace("#","%23"))+u}var i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return a(e)}},256:function(e,t){"use strict";function r(e,t){return void 0===t&&(t=""),("/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index"+e:e)+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},213:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return i}});var n=r(9305),o=r(4773),a=r(6945);function i(e,t){var r=null!=(p=t.nextConfig)?p:{},i=r.basePath,u=r.i18n,s=r.trailingSlash,c={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):s};i&&(0,a.pathHasPrefix)(c.pathname,i)&&(c.pathname=(0,o.removePathPrefix)(c.pathname,i),c.basePath=i);var l=c.pathname;if(c.pathname.startsWith("/_next/data/")&&c.pathname.endsWith(".json")){var f=c.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/"),d=f[0];c.buildId=d,l="index"!==f[1]?"/"+f.slice(1).join("/"):"/",!0===t.parseData&&(c.pathname=l)}if(u){var p,h,v=t.i18nProvider?t.i18nProvider.analyze(c.pathname):(0,n.normalizeLocalePath)(c.pathname,u.locales);c.locale=v.detectedLocale,c.pathname=null!=(h=v.pathname)?h:c.pathname,!v.detectedLocale&&c.buildId&&(v=t.i18nProvider?t.i18nProvider.analyze(l):(0,n.normalizeLocalePath)(l,u.locales)).detectedLocale&&(c.locale=v.detectedLocale)}return c}},2023:function(e,t){"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}var r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},2518:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRoutes:function(){return n.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});var n=r(7456),o=r(1507)},8720:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});var n=r(6295),o=r(6258);function a(e,t,r){var a="",i=(0,o.getRouteRegex)(e),u=i.groups,s=(t!==e?(0,n.getRouteMatcher)(i)(t):"")||r;a=e;var c=Object.keys(u);return c.every(function(e){var t=s[e]||"",r=u[e],n=r.repeat,o=r.optional,i="["+(n?"...":"")+e+"]";return o&&(i=(t?"":"/")+"["+i+"]"),n&&!Array.isArray(t)&&(t=[t]),(o||e in s)&&(a=a.replace(i,n?t.map(function(e){return encodeURIComponent(e)}).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:c,result:a}}},8567:function(e,t){"use strict";function r(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return r}})},1507:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return a}});var n=r(2407),o=/\/\[[^/]+?\](?=\/|$)/;function a(e){return(0,n.isInterceptionRouteAppPath)(e)&&(e=(0,n.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},893:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});var n=r(8900),o=r(5016);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{var t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},5244:function(e,t){"use strict";function r(e,t){var r={};return Object.keys(e).forEach(function(n){t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},1104:function(e,t){"use strict";function r(e){var t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},2938:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return a}});var n=r(8900),o=r(9357);function a(e,t){var r=new URL((0,n.getLocationOrigin)()),a=t?new URL(t,r):e.startsWith(".")?new URL(window.location.href):r,i=new URL(e,a),u=i.pathname,s=i.searchParams,c=i.search,l=i.hash,f=i.href;if(i.origin!==r.origin)throw Error("invariant: invalid relative URL, router received "+e);return{pathname:u,query:(0,o.searchParamsToUrlQuery)(s),search:c,hash:l,href:f.slice(r.origin.length)}}},6945:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});var n=r(1104);function o(e,t){if("string"!=typeof e)return!1;var r=(0,n.parsePath)(e).pathname;return r===t||r.startsWith(t+"/")}},9357:function(e,t,r){"use strict";var n=r(3171);function o(e){var t={};return e.forEach(function(e,r){void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function a(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){var t=new URLSearchParams;return Object.entries(e).forEach(function(e){var r=n(e,2),o=r[0],i=r[1];Array.isArray(i)?i.forEach(function(e){return t.append(o,a(e))}):t.set(o,a(i))}),t}function u(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n30)&&(p=!0),isNaN(parseInt(d.slice(0,1)))||(p=!0),p&&(d=r()),a?o[d]=""+a+u:o[d]=u;var h=t?(0,s.escapeStringRegexp)(t):"";return f?c?"(?:/"+h+"(?<"+d+">.+?))?":"/"+h+"(?<"+d+">.+?)":"/"+h+"(?<"+d+">[^/]+?)"}function h(e,t){var r,n=(0,c.removeTrailingSlash)(e).slice(1).split("/"),a=(r=0,function(){for(var e="",t=++r;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),i={};return{namedParameterizedRoute:n.map(function(e){var r=u.INTERCEPTION_ROUTE_MARKERS.some(function(t){return e.startsWith(t)}),n=e.match(/\[((?:\[.*\])|.+)\]/);return r&&n?p({getSafeRouteKey:a,interceptionMarker:o(e.split(n[0]),1)[0],segment:n[1],routeKeys:i,keyPrefix:t?"nxtI":void 0}):n?p({getSafeRouteKey:a,segment:n[1],routeKeys:i,keyPrefix:t?"nxtP":void 0}):"/"+(0,s.escapeStringRegexp)(e)}).join(""),routeKeys:i}}function v(e,t){var r=h(e,t);return i(i({},d(e)),{},{namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys})}function m(e,t){var r=f(e).parameterizedRoute,n=t.catchAll,o=void 0===n||n;return"/"===r?{namedRegex:"^/"+(o?".*":"")+"$"}:{namedRegex:"^"+h(e,!1).namedParameterizedRoute+(o?"(?:(/.*)?)":"")+"$"}}},7456:function(e,t,r){"use strict";var n=r(8416),o=r(3322),a=r(6089);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return u}});var i=function(){function e(){o(this,e),this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}return a(e,[{key:"insert",value:function(e){this._insert(e.split("/").filter(Boolean),[],!1)}},{key:"smoosh",value:function(){return this._smoosh()}},{key:"_smoosh",value:function(e){var t=this;void 0===e&&(e="/");var r=n(this.children.keys()).sort();null!==this.slugName&&r.splice(r.indexOf("[]"),1),null!==this.restSlugName&&r.splice(r.indexOf("[...]"),1),null!==this.optionalRestSlugName&&r.splice(r.indexOf("[[...]]"),1);var o=r.map(function(r){return t.children.get(r)._smoosh(""+e+r+"/")}).reduce(function(e,t){return[].concat(n(e),n(t))},[]);if(null!==this.slugName&&o.push.apply(o,n(this.children.get("[]")._smoosh(e+"["+this.slugName+"]/"))),!this.placeholder){var a="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+a+'" and "'+a+"[[..."+this.optionalRestSlugName+']]").');o.unshift(a)}return null!==this.restSlugName&&o.push.apply(o,n(this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/"))),null!==this.optionalRestSlugName&&o.push.apply(o,n(this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/"))),o}},{key:"_insert",value:function(t,r,n){if(0===t.length){this.placeholder=!1;return}if(n)throw Error("Catch-all must be the last part of the URL.");var o=t[0];if(o.startsWith("[")&&o.endsWith("]")){var a=function(e,t){if(null!==e&&e!==t)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+t+"').");r.forEach(function(e){if(e===t)throw Error('You cannot have the same slug name "'+t+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+t+'" differ only by non-word symbols within a single dynamic path')}),r.push(t)},i=o.slice(1,-1),u=!1;if(i.startsWith("[")&&i.endsWith("]")&&(i=i.slice(1,-1),u=!0),i.startsWith("...")&&(i=i.substring(3),n=!0),i.startsWith("[")||i.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+i+"').");if(i.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+i+"').");if(n){if(u){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+t[0]+'" ).');a(this.optionalRestSlugName,i),this.optionalRestSlugName=i,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+t[0]+'").');a(this.restSlugName,i),this.restSlugName=i,o="[...]"}}else{if(u)throw Error('Optional route parameters are not yet supported ("'+t[0]+'").');a(this.slugName,i),this.slugName=i,o="[]"}}this.children.has(o)||this.children.set(o,new e),this.children.get(o)._insert(t.slice(1),r,n)}}]),e}();function u(e){var t=new i;return e.forEach(function(e){return t.insert(e)}),t.smoosh()}},1594:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return n},setConfig:function(){return o}});var r,n=function(){return r};function o(e){r=e}},9970:function(e,t){"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return o},PAGE_SEGMENT_KEY:function(){return n},isGroupSegment:function(){return r}});var n="__PAGE__",o="__DEFAULT__"},8900:function(e,t,r){"use strict";var n=r(4687),o=r(6089),a=r(3322),i=r(5667),u=r(1961),s=r(7731),c=r(7033),l=r(7752);function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var r,n=s(e);return r=t?Reflect.construct(n,arguments,s(this).constructor):n.apply(this,arguments),u(this,r)}}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return S},MiddlewareNotFoundError:function(){return M},MissingStaticPage:function(){return T},NormalizeError:function(){return j},PageNotFoundError:function(){return R},SP:function(){return E},ST:function(){return O},WEB_VITALS:function(){return d},execOnce:function(){return p},getDisplayName:function(){return g},getLocationOrigin:function(){return m},getURL:function(){return y},isAbsoluteUrl:function(){return v},isResSent:function(){return b},loadGetInitialProps:function(){return x},normalizeRepeatedSlashes:function(){return P},stringifyError:function(){return A}});var d=["CLS","FCP","FID","INP","LCP","TTFB"];function p(e){var t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;a1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},8018:function(e){var t,r,n,o,a,i,u,s,c,l,f,d,p,h,v,m,y,g,b,P,x,w,E,O,S,j,R,T,M,A,k,L,I,C,N,D,F,U,B,H,W,q,G,z,V,K;(t={}).d=function(e,r){for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},void 0!==t&&(t.ab="//"),r={},t.r(r),t.d(r,{getCLS:function(){return E},getFCP:function(){return P},getFID:function(){return A},getINP:function(){return q},getLCP:function(){return z},getTTFB:function(){return K},onCLS:function(){return E},onFCP:function(){return P},onFID:function(){return A},onINP:function(){return q},onLCP:function(){return z},onTTFB:function(){return K}}),s=-1,c=function(e){addEventListener("pageshow",function(t){t.persisted&&(s=t.timeStamp,e(t))},!0)},l=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]},f=function(){var e=l();return e&&e.activationStart||0},d=function(e,t){var r=l(),n="navigate";return s>=0?n="back-forward-cache":r&&(n=document.prerendering||f()>0?"prerender":r.type.replace(/_/g,"-")),{name:e,value:void 0===t?-1:t,rating:"good",delta:0,entries:[],id:"v3-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:n}},p=function(e,t,r){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var n=new PerformanceObserver(function(e){t(e.getEntries())});return n.observe(Object.assign({type:e,buffered:!0},r||{})),n}}catch(e){}},h=function(e,t){var r=function r(n){"pagehide"!==n.type&&"hidden"!==document.visibilityState||(e(n),t&&(removeEventListener("visibilitychange",r,!0),removeEventListener("pagehide",r,!0)))};addEventListener("visibilitychange",r,!0),addEventListener("pagehide",r,!0)},v=function(e,t,r,n){var o,a;return function(i){var u;t.value>=0&&(i||n)&&((a=t.value-(o||0))||void 0===o)&&(o=t.value,t.delta=a,t.rating=(u=t.value)>r[1]?"poor":u>r[0]?"needs-improvement":"good",e(t))}},m=-1,y=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},g=function(){h(function(e){m=e.timeStamp},!0)},b=function(){return m<0&&(m=y(),g(),c(function(){setTimeout(function(){m=y(),g()},0)})),{get firstHiddenTime(){return m}}},P=function(e,t){t=t||{};var r,n=[1800,3e3],o=b(),a=d("FCP"),i=function(e){e.forEach(function(e){"first-contentful-paint"===e.name&&(s&&s.disconnect(),e.startTime-1&&e(t)},a=d("CLS",0),i=0,u=[],s=function(e){e.forEach(function(e){if(!e.hadRecentInput){var t=u[0],r=u[u.length-1];i&&e.startTime-r.startTime<1e3&&e.startTime-t.startTime<5e3?(i+=e.value,u.push(e)):(i=e.value,u=[e]),i>a.value&&(a.value=i,a.entries=u,n())}})},l=p("layout-shift",s);l&&(n=v(o,a,r,t.reportAllChanges),h(function(){s(l.takeRecords()),n(!0)}),c(function(){i=0,w=-1,n=v(o,a=d("CLS",0),r,t.reportAllChanges)}))},O={passive:!0,capture:!0},S=new Date,j=function(e,t){n||(n=t,o=e,a=new Date,M(removeEventListener),R())},R=function(){if(o>=0&&o1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?(t=function(){j(o,e),n()},r=function(){n()},n=function(){removeEventListener("pointerup",t,O),removeEventListener("pointercancel",r,O)},addEventListener("pointerup",t,O),addEventListener("pointercancel",r,O)):j(o,e)}},M=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach(function(t){return e(t,T,O)})},A=function(e,t){t=t||{};var r,a=[100,300],u=b(),s=d("FID"),l=function(e){e.startTimet.latency){if(r)r.entries.push(e),r.latency=Math.max(r.latency,e.duration);else{var n={id:e.interactionId,latency:e.duration,entries:[e]};H[n.id]=n,B.push(n)}B.sort(function(e,t){return t.latency-e.latency}),B.splice(10).forEach(function(e){delete H[e.id]})}},q=function(e,t){t=t||{};var r=[200,500];D();var n,o=d("INP"),a=function(e){e.forEach(function(e){e.interactionId&&W(e),"first-input"!==e.entryType||B.some(function(t){return t.entries.some(function(t){return e.duration===t.duration&&e.startTime===t.startTime})})||W(e)});var t,r=(t=Math.min(B.length-1,Math.floor(U()/50)),B[t]);r&&r.latency!==o.value&&(o.value=r.latency,o.entries=r.entries,n())},i=p("event",a,{durationThreshold:t.durationThreshold||40});n=v(e,o,r,t.reportAllChanges),i&&(i.observe({type:"first-input",buffered:!0}),h(function(){a(i.takeRecords()),o.value<0&&U()>0&&(o.value=0,o.entries=[]),n(!0)}),c(function(){B=[],F=N(),n=v(e,o=d("INP"),r,t.reportAllChanges)}))},G={},z=function(e,t){t=t||{};var r,n=[2500,4e3],o=b(),a=d("LCP"),i=function(e){var t=e[e.length-1];if(t){var n=t.startTime-f();nperformance.now())return;n.entries=[a],o(!0),c(function(){(o=v(e,n=d("TTFB",0),r,t.reportAllChanges))(!0)})}})},e.exports=r},9423:function(e,t){"use strict";function r(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return r}})},676:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(8551);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Error((0,n.isPlainObject)(e)?JSON.stringify(e):e+"")}},2407:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return a}});let n=r(3931),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function i(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?`/${a}`:t+"/"+a;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);a=i.slice(0,-2).concat(a).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:a}}},2431:function(){},7061:function(e,t,r){var n=r(8698).default;function o(){"use strict";e.exports=o=function(){return r},e.exports.__esModule=!0,e.exports.default=e.exports;var t,r={},a=Object.prototype,i=a.hasOwnProperty,u=Object.defineProperty||function(e,t,r){e[t]=r.value},s="function"==typeof Symbol?Symbol:{},c=s.iterator||"@@iterator",l=s.asyncIterator||"@@asyncIterator",f=s.toStringTag||"@@toStringTag";function d(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{d({},"")}catch(e){d=function(e,t,r){return e[t]=r}}function p(e,r,n,o){var a,i,s=Object.create((r&&r.prototype instanceof b?r:b).prototype);return u(s,"_invoke",{value:(a=new A(o||[]),i=v,function(r,o){if(i===m)throw Error("Generator is already running");if(i===y){if("throw"===r)throw o;return{value:t,done:!0}}for(a.method=r,a.arg=o;;){var u=a.delegate;if(u){var s=function e(r,n){var o=n.method,a=r.iterator[o];if(a===t)return n.delegate=null,"throw"===o&&r.iterator.return&&(n.method="return",n.arg=t,e(r,n),"throw"===n.method)||"return"!==o&&(n.method="throw",n.arg=TypeError("The iterator does not provide a '"+o+"' method")),g;var i=h(a,r.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,g;var u=i.arg;return u?u.done?(n[r.resultName]=u.value,n.next=r.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,g):u:(n.method="throw",n.arg=TypeError("iterator result is not an object"),n.delegate=null,g)}(u,a);if(s){if(s===g)continue;return s}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(i===v)throw i=y,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);i=m;var c=h(e,n,a);if("normal"===c.type){if(i=a.done?y:"suspendedYield",c.arg===g)continue;return{value:c.arg,done:a.done}}"throw"===c.type&&(i=y,a.method="throw",a.arg=c.arg)}})}),s}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}r.wrap=p;var v="suspendedStart",m="executing",y="completed",g={};function b(){}function P(){}function x(){}var w={};d(w,c,function(){return this});var E=Object.getPrototypeOf,O=E&&E(E(k([])));O&&O!==a&&i.call(O,c)&&(w=O);var S=x.prototype=b.prototype=Object.create(w);function j(e){["next","throw","return"].forEach(function(t){d(e,t,function(e){return this._invoke(t,e)})})}function R(e,t){var r;u(this,"_invoke",{value:function(o,a){function u(){return new t(function(r,u){!function r(o,a,u,s){var c=h(e[o],e,a);if("throw"!==c.type){var l=c.arg,f=l.value;return f&&"object"==n(f)&&i.call(f,"__await")?t.resolve(f.__await).then(function(e){r("next",e,u,s)},function(e){r("throw",e,u,s)}):t.resolve(f).then(function(e){l.value=e,u(l)},function(e){return r("throw",e,u,s)})}s(c.arg)}(o,a,r,u)})}return r=r?r.then(u,u):u()}})}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function M(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function k(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=i.call(a,"catchLoc"),c=i.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),M(r),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;M(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:k(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),g}},r}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},8698:function(e){function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},4687:function(e,t,r){var n=r(7061)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},3148:function(e){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a},e.exports.__esModule=!0,e.exports.default=e.exports},9103:function(e){e.exports=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o},e.exports.__esModule=!0,e.exports.default=e.exports},1961:function(e,t,r){var n=r(2092).default,o=r(6948);e.exports=function(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return o(e)},e.exports.__esModule=!0,e.exports.default=e.exports},3062:function(e){function t(r,n){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r,n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},3171:function(e,t,r){var n=r(227),o=r(9981),a=r(4970),i=r(5149);e.exports=function(e,t){return n(e)||o(e,t)||a(e,t)||i()},e.exports.__esModule=!0,e.exports.default=e.exports},8416:function(e,t,r){var n=r(4353),o=r(8024),a=r(4970),i=r(8794);e.exports=function(e){return n(e)||o(e)||a(e)||i()},e.exports.__esModule=!0,e.exports.default=e.exports},3279:function(e,t,r){var n=r(2092).default;e.exports=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},9597:function(e,t,r){var n=r(2092).default,o=r(3279);e.exports=function(e){var t=o(e,"string");return"symbol"===n(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},2092:function(e){function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},4970:function(e,t,r){var n=r(3148);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,t)}},e.exports.__esModule=!0,e.exports.default=e.exports},7033:function(e,t,r){var n=r(7731),o=r(3062),a=r(3819),i=r(8957);function u(t){var r="function"==typeof Map?new Map:void 0;return e.exports=u=function(e){if(null===e||!a(e))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,t)}function t(){return i(e,arguments,n(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),o(t,e)},e.exports.__esModule=!0,e.exports.default=e.exports,u(t)}e.exports=u,e.exports.__esModule=!0,e.exports.default=e.exports},8754:function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:function(){return n},_interop_require_default:function(){return n}})},1757:function(e,t,r){"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var u=a?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(o,i,u):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:function(){return o},_interop_require_wildcard:function(){return o}})}},function(e){var t=function(t){return e(e.s=t)};e.O(0,[9774],function(){return t(3143),t(8488)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/out/_next/static/chunks/main-b9461e65f71ce60e.js b/out/_next/static/chunks/main-b9461e65f71ce60e.js deleted file mode 100644 index 2a4cfdfa..00000000 --- a/out/_next/static/chunks/main-b9461e65f71ce60e.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[179],{3143:function(){"use strict";try{self["workbox:window:6.5.4"]&&_()}catch(e){}function e(e,t){return new Promise(function(r){var n=new MessageChannel;n.port1.onmessage=function(e){r(e.data)},e.postMessage(t,[n.port2])})}function t(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r0||!o(t.scriptURL,u.sn.toString())||performance.now()>u.un+6e4?(u.vn=t,e.removeEventListener("updatefound",u.cn)):(u.hn=t,u.an.add(t),u.rn.resolve(t)),++u.tn,t.addEventListener("statechange",u.ln)},u.ln=function(e){var t=u.fn,r=e.target,n=r.state,o=r===u.vn,i={sw:r,isExternal:o,originalEvent:e};!o&&u.mn&&(i.isUpdate=!0),u.dispatchEvent(new a(n,i)),"installed"===n?u.wn=self.setTimeout(function(){"installed"===n&&t.waiting===r&&u.dispatchEvent(new a("waiting",i))},200):"activating"===n&&(clearTimeout(u.wn),o||u.en.resolve(r))},u.dn=function(e){var t=u.hn,r=t!==navigator.serviceWorker.controller;u.dispatchEvent(new a("controlling",{isExternal:r,originalEvent:e,sw:t,isUpdate:u.mn})),r||u.on.resolve(t)},u.gn=(s=function(e){var t=e.data,r=e.ports,n=e.source;return i(u.getSW(),function(){u.an.has(n)&&u.dispatchEvent(new a("message",{data:t,originalEvent:e,ports:r,sw:n}))})},function(){for(var e=[],t=0;t=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}(this.Sn(e.type));!(t=n()).done;)(0,t.value)(e)},t.Sn=function(e){return this.Pn.has(e)||this.Pn.set(e,new Set),this.Pn.get(e)},e}());if("undefined"!=typeof window&&"serviceWorker"in navigator&&"undefined"!=typeof caches){caches.has("start-url").then(function(e){e||caches.open("start-url").then(e=>e.put("/",new Response("",{status:200})))}),window.workbox=new l(window.location.origin+"/sw.js",{scope:"/"}),window.workbox.addEventListener("installed",async({isUpdate:e})=>{if(!e){let e=await caches.open("start-url"),t=await fetch("/"),r=t;t.redirected&&(r=new Response(t.body,{status:200,statusText:"OK",headers:t.headers})),await e.put("/",r)}}),window.workbox.addEventListener("installed",async()=>{let e=window.performance.getEntriesByType("resource").map(e=>e.name).filter(e=>e.startsWith(`${window.location.origin}/_next/data/`)&&e.endsWith(".json")),t=await caches.open("next-data");e.forEach(e=>t.add(e))}),window.workbox.register();{let e=function(e){if(window.navigator.onLine&&"/"===e)return fetch("/").then(function(e){return e.redirected?Promise.resolve():caches.open("start-url").then(t=>t.put("/",e))})},t=history.pushState;history.pushState=function(){t.apply(history,arguments),e(arguments[2])};let r=history.replaceState;history.replaceState=function(){r.apply(history,arguments),e(arguments[2])},window.addEventListener("online",()=>{e(window.location.pathname)})}window.addEventListener("online",()=>{location.reload()})}},5076:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});var n=r(5270),o=r(8740);function a(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4551:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(8740);var n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;ne.length)&&(t=e.length);for(var r=0,n=Array(t);r25){window.location.reload();return}clearTimeout(u),u=setTimeout(t,c>5?5e3:1e3)}o&&o.close();var u,s=(0,a.getSocketUrl)(e.assetPrefix);(o=new window.WebSocket(""+s+e.path)).onopen=function(){c=0,window.console.log("[HMR] connected")},o.onerror=r,o.onclose=r,o.onmessage=function(e){var t,r=JSON.parse(e.data),o=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return n(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,void 0)}}(e))){r&&(e=r);var o=0,a=function(){};return{s:a,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:a}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){s=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(s)throw i}}}}(i);try{for(o.s();!(t=o.n()).done;)(0,t.value)(r)}catch(e){o.e(e)}finally{o.f()}}}()}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3399:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return r}});var r=function(){for(var e=arguments.length,t=Array(e),r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){s=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(s)throw i}}}}(d);try{for(n.s();!(t=n.n()).done;){var a=t.value;if("object"==typeof e[a]){r[a]=Object.assign(Array.isArray(e[a])?[]:{},e[a]);continue}r[a]=e[a]}}catch(e){n.e(e)}finally{n.f()}return r.events=u.default.events,p.forEach(function(t){r[t]=function(){for(var r=arguments.length,n=Array(r),o=0;oe.length)&&(t=e.length);for(var r=0,n=Array(t);r1&&void 0!==arguments[1]?arguments[1]:1e-4;n(this,e),this.numItems=t,this.errorRate=r,this.numBits=Math.ceil(-(t*Math.log(r))/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/t*Math.log(2)),this.bitArray=Array(this.numBits).fill(0)}return o(e,[{key:"export",value:function(){return{numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray}}},{key:"import",value:function(e){this.numItems=e.numItems,this.errorRate=e.errorRate,this.numBits=e.numBits,this.numHashes=e.numHashes,this.bitArray=e.bitArray}},{key:"add",value:function(e){var t=this;this.getHashValues(e).forEach(function(e){t.bitArray[e]=1})}},{key:"contains",value:function(e){var t=this;return this.getHashValues(e).every(function(e){return t.bitArray[e]})}},{key:"getHashValues",value:function(e){for(var t=[],r=1;r<=this.numHashes;r++){var n=function(e){for(var t=0,r=0;r>>13,t=Math.imul(t,1540483477);return t>>>0}(""+e+r)%this.numBits;t.push(n)}return t}}],[{key:"from",value:function(t,r){void 0===r&&(r=1e-4);var n,o=new e(t.length,r),i=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return a(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return a(e,void 0)}}(e))){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){s=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(s)throw i}}}}(t);try{for(i.s();!(n=i.n()).done;){var u=n.value;o.add(u)}}catch(e){i.e(e)}finally{i.f()}return o}}]),e}()},4288:function(e,t,r){"use strict";var n,o=r(968);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{APP_BUILD_MANIFEST:function(){return P},APP_CLIENT_INTERNALS:function(){return Q},APP_PATHS_MANIFEST:function(){return y},APP_PATH_ROUTES_MANIFEST:function(){return g},AUTOMATIC_FONT_OPTIMIZATION_MANIFEST:function(){return C},BARREL_OPTIMIZATION_PREFIX:function(){return G},BLOCKED_PAGES:function(){return U},BUILD_ID_FILE:function(){return F},BUILD_MANIFEST:function(){return b},CLIENT_PUBLIC_FILES_PATH:function(){return B},CLIENT_REFERENCE_MANIFEST:function(){return z},CLIENT_STATIC_FILES_PATH:function(){return H},CLIENT_STATIC_FILES_RUNTIME_AMP:function(){return ee},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return Y},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return J},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return er},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return en},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return Z},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return et},COMPILER_INDEXES:function(){return u},COMPILER_NAMES:function(){return i},CONFIG_FILES:function(){return D},DEFAULT_RUNTIME_WEBPACK:function(){return eo},DEFAULT_SANS_SERIF_FONT:function(){return ef},DEFAULT_SERIF_FONT:function(){return el},DEV_CLIENT_PAGES_MANIFEST:function(){return A},DEV_MIDDLEWARE_MANIFEST:function(){return L},EDGE_RUNTIME_WEBPACK:function(){return ea},EDGE_UNSUPPORTED_NODE_APIS:function(){return em},EXPORT_DETAIL:function(){return S},EXPORT_MARKER:function(){return O},FUNCTIONS_CONFIG_MANIFEST:function(){return x},GOOGLE_FONT_PROVIDER:function(){return es},IMAGES_MANIFEST:function(){return T},INTERCEPTION_ROUTE_REWRITE_MANIFEST:function(){return $},MIDDLEWARE_BUILD_MANIFEST:function(){return K},MIDDLEWARE_MANIFEST:function(){return k},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return X},MODERN_BROWSERSLIST_TARGET:function(){return a.default},NEXT_BUILTIN_DOCUMENT:function(){return q},NEXT_FONT_MANIFEST:function(){return E},OPTIMIZED_FONT_PROVIDERS:function(){return ec},PAGES_MANIFEST:function(){return m},PHASE_DEVELOPMENT_SERVER:function(){return p},PHASE_EXPORT:function(){return l},PHASE_INFO:function(){return v},PHASE_PRODUCTION_BUILD:function(){return f},PHASE_PRODUCTION_SERVER:function(){return d},PHASE_TEST:function(){return h},PRERENDER_MANIFEST:function(){return j},REACT_LOADABLE_MANIFEST:function(){return I},ROUTES_MANIFEST:function(){return R},RSC_MODULE_TYPES:function(){return ev},SERVER_DIRECTORY:function(){return N},SERVER_FILES_MANIFEST:function(){return M},SERVER_PROPS_ID:function(){return eu},SERVER_REFERENCE_MANIFEST:function(){return V},STATIC_PROPS_ID:function(){return ei},STATIC_STATUS_PAGES:function(){return ed},STRING_LITERAL_DROP_BUNDLE:function(){return W},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return w},SYSTEM_ENTRYPOINTS:function(){return ey},TRACE_OUTPUT_VERSION:function(){return ep},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return eh},UNDERSCORE_NOT_FOUND_ROUTE:function(){return s},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return c}});var a=r(8754)._(r(9734)),i={client:"client",server:"server",edgeServer:"edge-server"},u=(o(n={},i.client,0),o(n,i.server,1),o(n,i.edgeServer,2),n),s="/_not-found",c=""+s+"/page",l="phase-export",f="phase-production-build",d="phase-production-server",p="phase-development-server",h="phase-test",v="phase-info",m="pages-manifest.json",y="app-paths-manifest.json",g="app-path-routes-manifest.json",b="build-manifest.json",P="app-build-manifest.json",x="functions-config-manifest.json",w="subresource-integrity-manifest",E="next-font-manifest",O="export-marker.json",S="export-detail.json",j="prerender-manifest.json",R="routes-manifest.json",T="images-manifest.json",M="required-server-files.json",A="_devPagesManifest.json",k="middleware-manifest.json",L="_devMiddlewareManifest.json",I="react-loadable-manifest.json",C="font-manifest.json",N="server",D=["next.config.js","next.config.mjs"],F="BUILD_ID",U=["/_document","/_app","/_error"],B="public",H="static",W="__NEXT_DROP_CLIENT_FILE__",q="__NEXT_BUILTIN_DOCUMENT__",G="__barrel_optimize__",z="client-reference-manifest",V="server-reference-manifest",K="middleware-build-manifest",X="middleware-react-loadable-manifest",$="interception-route-rewrite-manifest",Y="main",J=""+Y+"-app",Q="app-pages-internals",Z="react-refresh",ee="amp",et="webpack",er="polyfills",en=Symbol(er),eo="webpack-runtime",ea="edge-runtime-webpack",ei="__N_SSG",eu="__N_SSP",es="https://fonts.googleapis.com/",ec=[{url:es,preconnect:"https://fonts.gstatic.com"},{url:"https://use.typekit.net",preconnect:"https://use.typekit.net"}],el={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},ef={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},ed=["/500"],ep=1,eh=6e3,ev={client:"client",server:"server"},em=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],ey=new Set([Y,Z,ee,J]);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5021:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});var r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function o(e){return r.test(e)?e.replace(n,"\\$&"):e}},4376:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});var n=r(8754)._(r(7294)).default.createContext({})},6824:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return i},PathnameContext:function(){return a},SearchParamsContext:function(){return o}});var n=r(7294),o=(0,n.createContext)(null),a=(0,n.createContext)(null),i=(0,n.createContext)(null)},9305:function(e,t){"use strict";function r(e,t){var r,n=e.split("/");return(t||[]).some(function(t){return!!n[1]&&n[1].toLowerCase()===t.toLowerCase()&&(r=t,n.splice(1,1),e=n.join("/")||"/",!0)}),{pathname:e,detectedLocale:r}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return r}})},3447:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});var n=r(8754)._(r(7294)),o=r(9238),a=n.default.createContext(o.imageConfigDefault)},9238:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});var r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"inline",remotePatterns:[],unoptimized:!1}},8551:function(e,t){"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},687:function(e,t,r){"use strict";var n=r(6089),o=r(3322),a=r(5667),i=r(1961),u=r(7731),s=r(7033);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return l},isBailoutToCSRError:function(){return f}});var c="BAILOUT_TO_CLIENT_SIDE_RENDERING",l=function(e){a(s,e);var t,r=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,r=u(s);return e=t?Reflect.construct(r,arguments,u(this).constructor):r.apply(this,arguments),i(this,e)});function s(e){var t;return o(this,s),(t=r.call(this,"Bail out to client-side rendering: "+e)).reason=e,t.digest=c,t}return n(s)}(s(Error));function f(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===c}},5542:function(e,t){"use strict";function r(){var e=Object.create(null);return{on:function(t,r){(e[t]||(e[t]=[])).push(r)},off:function(t,r){e[t]&&e[t].splice(e[t].indexOf(r)>>>0,1)},emit:function(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o1&&o.status>=500?e(t,r-1,n):o})})(t,a?3:1,{headers:Object.assign({},n?{purpose:"prefetch"}:{},n&&o?{"x-middleware-prefetch":"1"}:{}),method:null!=(s=null==e?void 0:e.method)?s:"GET"}).then(function(r){return r.ok&&(null==e?void 0:e.method)==="HEAD"?{dataHref:t,response:r,text:"",json:{},cacheKey:l}:r.text().then(function(e){if(!r.ok){if(o&&[301,302,307,308].includes(r.status))return{dataHref:t,response:r,text:e,json:{},cacheKey:l};if(404===r.status){var n;if(null==(n=Z(e))?void 0:n.notFound)return{dataHref:t,json:{notFound:Q},response:r,text:e,cacheKey:l}}var u=Error("Failed to load static props");throw a||(0,h.markAssetError)(u),u}return{dataHref:t,json:i?Z(e):null,response:r,text:e,cacheKey:l}})}).then(function(e){return u&&"no-cache"!==e.response.headers.get("x-middleware-cache")||delete r[l],e}).catch(function(e){throw c||delete r[l],("Failed to fetch"===e.message||"NetworkError when attempting to fetch resource."===e.message||"Load failed"===e.message)&&(0,h.markAssetError)(e),e})};return c&&u?f({}).then(function(e){return"no-cache"!==e.response.headers.get("x-middleware-cache")&&(r[l]=Promise.resolve(e)),e}):void 0!==r[l]?r[l]:r[l]=f(s?{method:"HEAD"}:{})}function et(){return Math.random().toString(36).slice(2,10)}function er(e){var t=e.url,r=e.router;if(t===(0,k.addBasePath)((0,T.addLocale)(r.asPath,r.locale)))throw Error("Invariant: attempted to hard navigate to the same URL "+t+" "+location.href);window.location.href=t}var en=function(e){var t=e.route,r=e.router,n=!1,o=r.clc=function(){n=!0};return function(){if(n){var e=Error('Abort fetching component for route: "'+t+'"');throw e.cancelled=!0,e}o===r.clc&&(r.clc=null)}},eo=function(){var e,t,i,c,f,d;function y(e,t,n,a){var i=this,u=a.initialProps,s=a.pageLoader,c=a.App,l=a.wrapApp,f=a.Component,d=a.err,h=a.subscription,v=a.isFallback,m=a.locale,g=(a.locales,a.defaultLocale,a.domainLocales,a.isPreview);o(this,y),this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=et(),this.onPopState=function(e){var t,r=i.isFirstPopStateEvent;i.isFirstPopStateEvent=!1;var n=e.state;if(!n){var o=i.pathname,a=i.query;i.changeState("replaceState",(0,j.formatWithValidation)({pathname:(0,k.addBasePath)(o),query:a}),(0,P.getURL)());return}if(n.__NA){window.location.reload();return}if(n.__N&&(!r||i.locale!==n.options.locale||n.as!==i.asPath)){var u=n.url,s=n.as,c=n.options,l=n.key;i._key=l;var f=(0,w.parseRelativeUrl)(u).pathname;(!i.isSsr||s!==(0,k.addBasePath)(i.asPath)||f!==(0,k.addBasePath)(i.pathname))&&(!i._bps||i._bps(n))&&i.change("replaceState",u,s,Object.assign({},c,{shallow:c.shallow&&i._shallow,locale:c.locale||i.defaultLocale,_h:0}),t)}};var b=(0,p.removeTrailingSlash)(e);this.components={},"/_error"!==e&&(this.components[b]={Component:f,initial:!0,props:u,err:d,__N_SSG:u&&u.__N_SSG,__N_SSP:u&&u.__N_SSP}),this.components["/_app"]={Component:c,styleSheets:[]};var E=r(1717).BloomFilter,O={numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]},S={numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]};(null==O?void 0:O.numHashes)&&(this._bfl_s=new E(O.numItems,O.errorRate),this._bfl_s.import(O)),(null==S?void 0:S.numHashes)&&(this._bfl_d=new E(S.numItems,S.errorRate),this._bfl_d.import(S)),this.events=y.events,this.pageLoader=s;var R=(0,x.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;if(this.basePath="",this.sub=h,this.clc=null,this._wrapApp=l,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.isExperimentalCompile||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp||!R&&!self.location.search),this.state={route:b,pathname:e,query:t,asPath:R?e:n,isPreview:!!g,locale:void 0,isFallback:v},this._initialMatchesMiddlewarePromise=Promise.resolve(!1),!n.startsWith("//")){var T={locale:m},M=(0,P.getURL)();this._initialMatchesMiddlewarePromise=z({router:this,locale:m,asPath:M}).then(function(r){return T._shouldResolveHref=n!==e,i.changeState("replaceState",r?M:(0,j.formatWithValidation)({pathname:(0,k.addBasePath)(e),query:t}),M,T),r})}window.addEventListener("popstate",this.onPopState)}return a(y,[{key:"reload",value:function(){window.location.reload()}},{key:"back",value:function(){window.history.back()}},{key:"forward",value:function(){window.history.forward()}},{key:"push",value:function(e,t,r){void 0===r&&(r={});var n=X(this,e,t);return e=n.url,t=n.as,this.change("pushState",e,t,r)}},{key:"replace",value:function(e,t,r){void 0===r&&(r={});var n=X(this,e,t);return e=n.url,t=n.as,this.change("replaceState",e,t,r)}},{key:"_bfl",value:(e=s(n.mark(function e(t,r,o,a){var i,u,s,c,l,f,d,h,v,m,y,g,b,P,x;return n.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:i=!1,u=!1,s=0,c=[t,r];case 4:if(!(s0&&!ei)){e.next=116;break}throw Error((ed?"The provided `href` ("+r+") value is missing query values ("+eh.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+el+") is incompatible with the `href` value ("+en+"). ")+"Read more: https://nextjs.org/docs/messages/"+(ed?"href-interpolation-failed":"incompatible-href-as"));case 116:e.next=119;break;case 118:ed?o=(0,j.formatWithValidation)(Object.assign({},ec,{pathname:ep.result,query:(0,H.omit)(J,ep.params)})):Object.assign(J,es);case 119:return c||y.events.emit("routeChangeStart",o,B),ev="/404"===this.pathname||"/_error"===this.pathname,e.prev=121,e.next=124,this.getRouteInfo({route:en,pathname:Y,query:J,as:o,resolvedAs:et,routeProps:B,locale:d.locale,isPreview:d.isPreview,hasMiddleware:ei,unstable_skipClientCache:a.unstable_skipClientCache,isQueryUpdating:c&&!this.isFallback,isMiddlewareRewrite:ea});case 124:if(eb=e.sent,!(!c&&!a.shallow)){e.next=128;break}return e.next=128,this._bfl(o,"resolvedAs"in eb?eb.resolvedAs:void 0,d.locale);case 128:if("route"in eb&&ei&&(en=Y=eb.route||en,B.shallow||(J=Object.assign({},eb.query||{},J)),e_=(0,L.hasBasePath)(K.pathname)?(0,A.removeBasePath)(K.pathname):K.pathname,es&&Y!==e_&&Object.keys(es).forEach(function(e){es&&J[e]===es[e]&&delete J[e]}),(0,x.isDynamicRoute)(Y))&&(eP=!B.shallow&&eb.resolvedAs?eb.resolvedAs:(0,k.addBasePath)((0,T.addLocale)(new URL(o,location.href).pathname,d.locale),!0),(0,L.hasBasePath)(eP)&&(eP=(0,A.removeBasePath)(eP)),ex=(0,S.getRouteRegex)(Y),(ew=(0,O.getRouteMatcher)(ex)(new URL(eP,location.href).pathname))&&Object.assign(J,ew)),!("type"in eb)){e.next=136;break}if("redirect-internal"!==eb.type){e.next=134;break}return e.abrupt("return",this.change(t,eb.newUrl,eb.newAs,a));case 134:return er({url:eb.destination,router:this}),e.abrupt("return",new Promise(function(){}));case 136:if((eE=eb.Component)&&eE.unstable_scriptLoader&&[].concat(eE.unstable_scriptLoader()).forEach(function(e){(0,v.handleClientScriptLoad)(e.props)}),!((eb.__N_SSG||eb.__N_SSP)&&eb.props)){e.next=165;break}if(!(eb.props.pageProps&&eb.props.pageProps.__N_REDIRECT)){e.next=149;break}if(a.locale=!1,!((eO=eb.props.pageProps.__N_REDIRECT).startsWith("/")&&!1!==eb.props.pageProps.__N_REDIRECT_BASE_PATH)){e.next=147;break}return(eS=(0,w.parseRelativeUrl)(eO)).pathname=$(eS.pathname,Z),eR=(ej=X(this,eO,eO)).url,eT=ej.as,e.abrupt("return",this.change(t,eR,eT,a));case 147:return er({url:eO,router:this}),e.abrupt("return",new Promise(function(){}));case 149:if(d.isPreview=!!eb.props.__N_PREVIEW,eb.props.notFound!==Q){e.next=165;break}return e.prev=151,e.next=154,this.fetchComponent("/404");case 154:eM="/404",e.next=160;break;case 157:e.prev=157,e.t3=e.catch(151),eM="/_error";case 160:return e.next=162,this.getRouteInfo({route:eM,pathname:eM,query:J,as:o,resolvedAs:et,routeProps:{shallow:!1},locale:d.locale,isPreview:d.isPreview,isNotFound:!0});case 162:if(!("type"in(eb=e.sent))){e.next=165;break}throw Error("Unexpected middleware effect on /404");case 165:if(c&&"/_error"===this.pathname&&(null==(ey=self.__NEXT_DATA__.props)?void 0:null==(em=ey.pageProps)?void 0:em.statusCode)===500&&(null==(eg=eb.props)?void 0:eg.pageProps)&&(eb.props.pageProps.statusCode=500),ek=a.shallow&&d.route===(null!=(eA=eb.route)?eA:en),eC=(eI=null!=(eL=a.scroll)?eL:!c&&!ek)?{x:0,y:0}:null,eN=null!=i?i:eC,eD=l(l({},d),{},{route:en,pathname:Y,query:J,asPath:q,isFallback:!1}),!(c&&ev)){e.next=188;break}return e.next=174,this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:J,as:o,resolvedAs:et,routeProps:{shallow:!1},locale:d.locale,isPreview:d.isPreview,isQueryUpdating:c&&!this.isFallback});case 174:if(!("type"in(eb=e.sent))){e.next=177;break}throw Error("Unexpected middleware effect on "+this.pathname);case 177:return"/_error"===this.pathname&&(null==(eU=self.__NEXT_DATA__.props)?void 0:null==(eF=eU.pageProps)?void 0:eF.statusCode)===500&&(null==(eB=eb.props)?void 0:eB.pageProps)&&(eb.props.pageProps.statusCode=500),e.prev=178,e.next=181,this.set(eD,eb,eN);case 181:e.next=187;break;case 183:throw e.prev=183,e.t4=e.catch(178),(0,m.default)(e.t4)&&e.t4.cancelled&&y.events.emit("routeChangeError",e.t4,q,B),e.t4;case 187:return e.abrupt("return",!0);case 188:if(y.events.emit("beforeHistoryChange",o,B),this.changeState(t,r,o,a),c&&!eN&&!g&&!V&&(0,F.compareRouterStates)(eD,this.state)){e.next=211;break}return e.prev=192,e.next=195,this.set(eD,eb,eN);case 195:e.next=204;break;case 197:if(e.prev=197,e.t5=e.catch(192),!e.t5.cancelled){e.next=203;break}eb.error=eb.error||e.t5,e.next=204;break;case 203:throw e.t5;case 204:if(!eb.error){e.next=207;break}throw c||y.events.emit("routeChangeError",eb.error,q,B),eb.error;case 207:c||y.events.emit("routeChangeComplete",o,B),eH=/#.+$/,eI&&eH.test(o)&&this.scrollToHash(o);case 211:return e.abrupt("return",!0);case 214:if(e.prev=214,e.t6=e.catch(121),!((0,m.default)(e.t6)&&e.t6.cancelled)){e.next=218;break}return e.abrupt("return",!1);case 218:throw e.t6;case 219:case"end":return e.stop()}},e,this,[[41,46],[54,63],[121,214],[151,157],[178,183],[192,197]])})),function(e,r,n,o,a){return t.apply(this,arguments)})},{key:"changeState",value:function(e,t,r,n){void 0===n&&(n={}),("pushState"!==e||(0,P.getURL)()!==r)&&(this._shallow=n.shallow,window.history[e]({url:t,as:r,options:n,__N:!0,key:this._key="pushState"!==e?this._key:et()},"",r))}},{key:"handleRouteInfoError",value:(i=s(n.mark(function e(t,r,o,a,i,u){var s,c,l,f;return n.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(console.error(t),!t.cancelled){e.next=3;break}throw t;case 3:if(!((0,h.isAssetError)(t)||u)){e.next=7;break}throw y.events.emit("routeChangeError",t,a,i),er({url:a,router:this}),G();case 7:return e.prev=7,e.next=10,this.fetchComponent("/_error");case 10:if((f={props:s,Component:l=(c=e.sent).page,styleSheets:c.styleSheets,err:t,error:t}).props){e.next=25;break}return e.prev=15,e.next=18,this.getInitialProps(l,{err:t,pathname:r,query:o});case 18:f.props=e.sent,e.next=25;break;case 21:e.prev=21,e.t0=e.catch(15),console.error("Error in error page `getInitialProps`: ",e.t0),f.props={};case 25:return e.abrupt("return",f);case 28:return e.prev=28,e.t1=e.catch(7),e.abrupt("return",this.handleRouteInfoError((0,m.default)(e.t1)?e.t1:Error(e.t1+""),r,o,a,i,!0));case 31:case"end":return e.stop()}},e,this,[[7,28],[15,21]])})),function(e,t,r,n,o,a){return i.apply(this,arguments)})},{key:"getRouteInfo",value:(c=s(n.mark(function e(t){var r,o,a,i,u,c,f,d,h,v,y,b,P,x,w,E,O,S,R,T,M,k,L,I,N,D,F,U,B,H,W,q,G=this;return n.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.route,o=t.pathname,a=t.query,i=t.as,u=t.resolvedAs,c=t.routeProps,f=t.locale,d=t.hasMiddleware,h=t.isPreview,v=t.unstable_skipClientCache,y=t.isQueryUpdating,b=t.isMiddlewareRewrite,P=t.isNotFound,x=r,e.prev=2,R=this.components[x],!(c.shallow&&R&&this.route===x)){e.next=6;break}return e.abrupt("return",R);case 6:if(T=en({route:x,router:this}),d&&(R=void 0),M=!R||"initial"in R?void 0:R,k=y,L={dataHref:this.pageLoader.getDataHref({href:(0,j.formatWithValidation)({pathname:o,query:a}),skipInterpolation:!0,asPath:P?"/404":u,locale:f}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:k?this.sbc:this.sdc,persistCache:!h,isPrefetch:!1,unstable_skipClientCache:v,isBackground:k},!(y&&!b)){e.next=15;break}e.t0=null,e.next=18;break;case 15:return e.next=17,Y({fetchData:function(){return ee(L)},asPath:P?"/404":u,locale:f,router:this}).catch(function(e){if(y)return null;throw e});case 17:e.t0=e.sent;case 18:if((I=e.t0)&&("/_error"===o||"/404"===o)&&(I.effect=void 0),y&&(I?I.json=self.__NEXT_DATA__.props:I={json:self.__NEXT_DATA__.props}),T(),!((null==I?void 0:null==(w=I.effect)?void 0:w.type)==="redirect-internal"||(null==I?void 0:null==(E=I.effect)?void 0:E.type)==="redirect-external")){e.next=24;break}return e.abrupt("return",I.effect);case 24:if((null==I?void 0:null==(O=I.effect)?void 0:O.type)!=="rewrite"){e.next=37;break}return N=(0,p.removeTrailingSlash)(I.effect.resolvedHref),e.next=28,this.pageLoader.getPageList();case 28:if(D=e.sent,!(!y||D.includes(N))||(x=N,o=I.effect.resolvedHref,a=l(l({},a),I.effect.parsedAs.query),u=(0,A.removeBasePath)((0,g.normalizeLocalePath)(I.effect.parsedAs.pathname,this.locales).pathname),R=this.components[x],!(c.shallow&&R&&this.route===x&&!d))){e.next=37;break}return e.abrupt("return",l(l({},R),{},{route:x}));case 37:if(!(0,C.isAPIRoute)(x)){e.next=40;break}return er({url:i,router:this}),e.abrupt("return",new Promise(function(){}));case 40:if(e.t1=M,e.t1){e.next=45;break}return e.next=44,this.fetchComponent(x).then(function(e){return{Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP}});case 44:e.t1=e.sent;case 45:F=e.t1,e.next=50;break;case 50:return U=null==I?void 0:null==(S=I.response)?void 0:S.headers.get("x-middleware-skip"),B=F.__N_SSG||F.__N_SSP,U&&(null==I?void 0:I.dataHref)&&delete this.sdc[I.dataHref],e.next=55,this._getData(s(n.mark(function e(){var t,r;return n.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!B){e.next=8;break}if(!((null==I?void 0:I.json)&&!U)){e.next=3;break}return e.abrupt("return",{cacheKey:I.cacheKey,props:I.json});case 3:return t=(null==I?void 0:I.dataHref)?I.dataHref:G.pageLoader.getDataHref({href:(0,j.formatWithValidation)({pathname:o,query:a}),asPath:u,locale:f}),e.next=6,ee({dataHref:t,isServerRender:G.isSsr,parseJSON:!0,inflightCache:U?{}:G.sdc,persistCache:!h,isPrefetch:!1,unstable_skipClientCache:v});case 6:return r=e.sent,e.abrupt("return",{cacheKey:r.cacheKey,props:r.json||{}});case 8:return e.t0={},e.next=11,G.getInitialProps(F.Component,{pathname:o,query:a,asPath:i,locale:f,locales:G.locales,defaultLocale:G.defaultLocale});case 11:return e.t1=e.sent,e.abrupt("return",{headers:e.t0,props:e.t1});case 13:case"end":return e.stop()}},e)})));case 55:return W=(H=e.sent).props,q=H.cacheKey,F.__N_SSP&&L.dataHref&&q&&delete this.sdc[q],this.isPreview||!F.__N_SSG||y||ee(Object.assign({},L,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch(function(){}),W.pageProps=Object.assign({},W.pageProps),F.props=W,F.route=x,F.query=a,F.resolvedAs=u,this.components[x]=F,e.abrupt("return",F);case 69:return e.prev=69,e.t2=e.catch(2),e.abrupt("return",this.handleRouteInfoError((0,m.getProperError)(e.t2),o,a,i,c));case 72:case"end":return e.stop()}},e,this,[[2,69]])})),function(e){return c.apply(this,arguments)})},{key:"set",value:function(e,t,r){return this.state=e,this.sub(t,this.components["/_app"].Component,r)}},{key:"beforePopState",value:function(e){this._bps=e}},{key:"onlyAHashChange",value:function(e){if(!this.asPath)return!1;var t=u(this.asPath.split("#",2),2),r=t[0],n=t[1],o=u(e.split("#",2),2),a=o[0],i=o[1];return!!i&&r===a&&n===i||r===a&&n!==i}},{key:"scrollToHash",value:function(e){var t=u(e.split("#",2),2)[1],r=void 0===t?"":t;(0,q.handleSmoothScroll)(function(){if(""===r||"top"===r){window.scrollTo(0,0);return}var e=decodeURIComponent(r),t=document.getElementById(e);if(t){t.scrollIntoView();return}var n=document.getElementsByName(e)[0];n&&n.scrollIntoView()},{onlyHashChange:this.onlyAHashChange(e)})}},{key:"urlIsNew",value:function(e){return this.asPath!==e}},{key:"prefetch",value:(f=s(n.mark(function e(t,r,o){var a,i,u,s,c,f,d,h,v,m,y,g,b,P=this;return n.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:void 0===r&&(r=t),void 0===o&&(o={}),e.next=4;break;case 4:if(!(0,B.isBot)(window.navigator.userAgent)){e.next=6;break}return e.abrupt("return");case 6:return i=(a=(0,w.parseRelativeUrl)(t)).pathname,u=a.pathname,s=a.query,c=u,e.next=13,this.pageLoader.getPageList();case 13:return f=e.sent,d=r,h=void 0!==o.locale?o.locale||void 0:this.locale,e.next=18,z({asPath:r,locale:h,router:this});case 18:v=e.sent,e.next=29;break;case 22:if(m=e.sent.__rewrites,!(y=(0,E.default)((0,k.addBasePath)((0,T.addLocale)(r,this.locale),!0),f,m,a.query,function(e){return $(e,f)},this.locales)).externalDest){e.next=27;break}return e.abrupt("return");case 27:v||(d=(0,M.removeLocale)((0,A.removeBasePath)(y.asPath),this.locale)),y.matchedPage&&y.resolvedHref&&(u=y.resolvedHref,a.pathname=u,v||(t=(0,j.formatWithValidation)(a)));case 29:a.pathname=$(a.pathname,f),(0,x.isDynamicRoute)(a.pathname)&&(u=a.pathname,a.pathname=u,Object.assign(s,(0,O.getRouteMatcher)((0,S.getRouteRegex)(a.pathname))((0,R.parsePath)(r).pathname)||{}),v||(t=(0,j.formatWithValidation)(a))),e.next=35;break;case 35:return e.next=37,Y({fetchData:function(){return ee({dataHref:P.pageLoader.getDataHref({href:(0,j.formatWithValidation)({pathname:c,query:s}),skipInterpolation:!0,asPath:d,locale:h}),hasMiddleware:!0,isServerRender:!1,parseJSON:!0,inflightCache:P.sdc,persistCache:!P.isPreview,isPrefetch:!0})},asPath:r,locale:h,router:this});case 37:e.t0=e.sent;case 38:if((null==(g=e.t0)?void 0:g.effect.type)==="rewrite"&&(a.pathname=g.effect.resolvedHref,u=g.effect.resolvedHref,s=l(l({},s),g.effect.parsedAs.query),d=g.effect.parsedAs.pathname,t=(0,j.formatWithValidation)(a)),(null==g?void 0:g.effect.type)!=="redirect-external"){e.next=42;break}return e.abrupt("return");case 42:return b=(0,p.removeTrailingSlash)(u),e.next=45,this._bfl(r,d,o.locale,!0);case 45:if(!e.sent){e.next=47;break}this.components[i]={__appRouter:!0};case 47:return e.next=49,Promise.all([this.pageLoader._isSsg(b).then(function(e){return!!e&&ee({dataHref:(null==g?void 0:g.json)?null==g?void 0:g.dataHref:P.pageLoader.getDataHref({href:t,asPath:d,locale:h}),isServerRender:!1,parseJSON:!0,inflightCache:P.sdc,persistCache:!P.isPreview,isPrefetch:!0,unstable_skipClientCache:o.unstable_skipClientCache||o.priority&&!0}).then(function(){return!1}).catch(function(){return!1})}),this.pageLoader[o.priority?"loadPage":"prefetch"](b)]);case 49:case"end":return e.stop()}},e,this)})),function(e,t,r){return f.apply(this,arguments)})},{key:"fetchComponent",value:(d=s(n.mark(function e(t){var r,o;return n.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=en({route:t,router:this}),e.prev=1,e.next=4,this.pageLoader.loadPage(t);case 4:return o=e.sent,r(),e.abrupt("return",o);case 9:throw e.prev=9,e.t0=e.catch(1),r(),e.t0;case 13:case"end":return e.stop()}},e,this,[[1,9]])})),function(e){return d.apply(this,arguments)})},{key:"_getData",value:function(e){var t=this,r=!1,n=function(){r=!0};return this.clc=n,e().then(function(e){if(n===t.clc&&(t.clc=null),r){var o=Error("Loading initial props cancelled");throw o.cancelled=!0,o}return e})}},{key:"_getFlightData",value:function(e){return ee({dataHref:e,isServerRender:!0,parseJSON:!1,inflightCache:this.sdc,persistCache:!1,isPrefetch:!1}).then(function(e){return{data:e.text}})}},{key:"getInitialProps",value:function(e,t){var r=this.components["/_app"].Component,n=this._wrapApp(r);return t.AppTree=n,(0,P.loadGetInitialProps)(r,{AppTree:n,Component:e,router:this,ctx:t})}},{key:"route",get:function(){return this.state.route}},{key:"pathname",get:function(){return this.state.pathname}},{key:"query",get:function(){return this.state.query}},{key:"asPath",get:function(){return this.state.asPath}},{key:"locale",get:function(){return this.state.locale}},{key:"isFallback",get:function(){return this.state.isFallback}},{key:"isPreview",get:function(){return this.state.isPreview}}]),y}();eo.events=(0,b.default)()},3445:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return a}});var n=r(5270),o=r(6945);function a(e,t,r,a){if(!t||t===r)return e;var i=e.toLowerCase();return!a&&((0,o.pathHasPrefix)(i,"/api")||(0,o.pathHasPrefix)(i,"/"+t.toLowerCase()))?e:(0,n.addPathPrefix)(e,"/"+t)}},5270:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});var n=r(1104);function o(e,t){if(!e.startsWith("/")||!t)return e;var r=(0,n.parsePath)(e);return""+t+r.pathname+r.query+r.hash}},1606:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return o}});var n=r(1104);function o(e,t){if(!e.startsWith("/")||!t)return e;var r=(0,n.parsePath)(e);return""+r.pathname+t+r.query+r.hash}},3931:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscURL:function(){return i}});var n=r(1843),o=r(9970);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce(function(e,t,r,n){return!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t},""))}function i(e){return e.replace(/\.rsc($|\?)/,"$1")}},2082:function(e,t){"use strict";function r(e){return new URL(e,"http://n").searchParams}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"asPathToSearchParams",{enumerable:!0,get:function(){return r}})},9791:function(e,t){"use strict";function r(e,t){var r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(var n=r.length;n--;){var o=r[n];if("query"===o){var a=Object.keys(e.query);if(a.length!==Object.keys(t.query).length)return!1;for(var i=a.length;i--;){var u=a[i];if(!t.query.hasOwnProperty(u)||e.query[u]!==t.query[u])return!1}}else if(!t.hasOwnProperty(o)||e[o]!==t[o])return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"compareRouterStates",{enumerable:!0,get:function(){return r}})},6969:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return u}});var n=r(8742),o=r(5270),a=r(1606),i=r(3445);function u(e){var t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,n.removeTrailingSlash)(t)),e.buildId&&(t=(0,a.addPathSuffix)((0,o.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,a.addPathSuffix)(t,"/"):(0,n.removeTrailingSlash)(t)}},6213:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return u},urlObjectKeys:function(){return i}});var n=r(1757)._(r(9357)),o=/https?|ftp|gopher|file/;function a(e){var t=e.auth,r=e.hostname,a=e.protocol||"",i=e.pathname||"",u=e.hash||"",s=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(c+=":"+e.port)),s&&"object"==typeof s&&(s=String(n.urlQueryToSearchParams(s)));var l=e.search||s&&"?"+s||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==c?(c="//"+(c||""),i&&"/"!==i[0]&&(i="/"+i)):c||(c=""),u&&"#"!==u[0]&&(u="#"+u),l&&"?"!==l[0]&&(l="?"+l),""+a+c+(i=i.replace(/[?#]/g,encodeURIComponent))+(l=l.replace("#","%23"))+u}var i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return a(e)}},256:function(e,t){"use strict";function r(e,t){return void 0===t&&(t=""),("/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index"+e:e)+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},213:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return i}});var n=r(9305),o=r(4773),a=r(6945);function i(e,t){var r=null!=(p=t.nextConfig)?p:{},i=r.basePath,u=r.i18n,s=r.trailingSlash,c={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):s};i&&(0,a.pathHasPrefix)(c.pathname,i)&&(c.pathname=(0,o.removePathPrefix)(c.pathname,i),c.basePath=i);var l=c.pathname;if(c.pathname.startsWith("/_next/data/")&&c.pathname.endsWith(".json")){var f=c.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/"),d=f[0];c.buildId=d,l="index"!==f[1]?"/"+f.slice(1).join("/"):"/",!0===t.parseData&&(c.pathname=l)}if(u){var p,h,v=t.i18nProvider?t.i18nProvider.analyze(c.pathname):(0,n.normalizeLocalePath)(c.pathname,u.locales);c.locale=v.detectedLocale,c.pathname=null!=(h=v.pathname)?h:c.pathname,!v.detectedLocale&&c.buildId&&(v=t.i18nProvider?t.i18nProvider.analyze(l):(0,n.normalizeLocalePath)(l,u.locales)).detectedLocale&&(c.locale=v.detectedLocale)}return c}},2023:function(e,t){"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}var r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},2518:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRoutes:function(){return n.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});var n=r(7456),o=r(1507)},8720:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});var n=r(6295),o=r(6258);function a(e,t,r){var a="",i=(0,o.getRouteRegex)(e),u=i.groups,s=(t!==e?(0,n.getRouteMatcher)(i)(t):"")||r;a=e;var c=Object.keys(u);return c.every(function(e){var t=s[e]||"",r=u[e],n=r.repeat,o=r.optional,i="["+(n?"...":"")+e+"]";return o&&(i=(t?"":"/")+"["+i+"]"),n&&!Array.isArray(t)&&(t=[t]),(o||e in s)&&(a=a.replace(i,n?t.map(function(e){return encodeURIComponent(e)}).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:c,result:a}}},8567:function(e,t){"use strict";function r(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return r}})},1507:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return a}});var n=r(2407),o=/\/\[[^/]+?\](?=\/|$)/;function a(e){return(0,n.isInterceptionRouteAppPath)(e)&&(e=(0,n.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},893:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});var n=r(8900),o=r(5016);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{var t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},5244:function(e,t){"use strict";function r(e,t){var r={};return Object.keys(e).forEach(function(n){t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},1104:function(e,t){"use strict";function r(e){var t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},2938:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return a}});var n=r(8900),o=r(9357);function a(e,t){var r=new URL((0,n.getLocationOrigin)()),a=t?new URL(t,r):e.startsWith(".")?new URL(window.location.href):r,i=new URL(e,a),u=i.pathname,s=i.searchParams,c=i.search,l=i.hash,f=i.href;if(i.origin!==r.origin)throw Error("invariant: invalid relative URL, router received "+e);return{pathname:u,query:(0,o.searchParamsToUrlQuery)(s),search:c,hash:l,href:f.slice(r.origin.length)}}},6945:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});var n=r(1104);function o(e,t){if("string"!=typeof e)return!1;var r=(0,n.parsePath)(e).pathname;return r===t||r.startsWith(t+"/")}},9357:function(e,t,r){"use strict";var n=r(3171);function o(e){var t={};return e.forEach(function(e,r){void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function a(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){var t=new URLSearchParams;return Object.entries(e).forEach(function(e){var r=n(e,2),o=r[0],i=r[1];Array.isArray(i)?i.forEach(function(e){return t.append(o,a(e))}):t.set(o,a(i))}),t}function u(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n30)&&(p=!0),isNaN(parseInt(d.slice(0,1)))||(p=!0),p&&(d=r()),a?o[d]=""+a+u:o[d]=u;var h=t?(0,s.escapeStringRegexp)(t):"";return f?c?"(?:/"+h+"(?<"+d+">.+?))?":"/"+h+"(?<"+d+">.+?)":"/"+h+"(?<"+d+">[^/]+?)"}function h(e,t){var r,n=(0,c.removeTrailingSlash)(e).slice(1).split("/"),a=(r=0,function(){for(var e="",t=++r;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),i={};return{namedParameterizedRoute:n.map(function(e){var r=u.INTERCEPTION_ROUTE_MARKERS.some(function(t){return e.startsWith(t)}),n=e.match(/\[((?:\[.*\])|.+)\]/);return r&&n?p({getSafeRouteKey:a,interceptionMarker:o(e.split(n[0]),1)[0],segment:n[1],routeKeys:i,keyPrefix:t?"nxtI":void 0}):n?p({getSafeRouteKey:a,segment:n[1],routeKeys:i,keyPrefix:t?"nxtP":void 0}):"/"+(0,s.escapeStringRegexp)(e)}).join(""),routeKeys:i}}function v(e,t){var r=h(e,t);return i(i({},d(e)),{},{namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys})}function m(e,t){var r=f(e).parameterizedRoute,n=t.catchAll,o=void 0===n||n;return"/"===r?{namedRegex:"^/"+(o?".*":"")+"$"}:{namedRegex:"^"+h(e,!1).namedParameterizedRoute+(o?"(?:(/.*)?)":"")+"$"}}},7456:function(e,t,r){"use strict";var n=r(8416),o=r(3322),a=r(6089);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return u}});var i=function(){function e(){o(this,e),this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}return a(e,[{key:"insert",value:function(e){this._insert(e.split("/").filter(Boolean),[],!1)}},{key:"smoosh",value:function(){return this._smoosh()}},{key:"_smoosh",value:function(e){var t=this;void 0===e&&(e="/");var r=n(this.children.keys()).sort();null!==this.slugName&&r.splice(r.indexOf("[]"),1),null!==this.restSlugName&&r.splice(r.indexOf("[...]"),1),null!==this.optionalRestSlugName&&r.splice(r.indexOf("[[...]]"),1);var o=r.map(function(r){return t.children.get(r)._smoosh(""+e+r+"/")}).reduce(function(e,t){return[].concat(n(e),n(t))},[]);if(null!==this.slugName&&o.push.apply(o,n(this.children.get("[]")._smoosh(e+"["+this.slugName+"]/"))),!this.placeholder){var a="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+a+'" and "'+a+"[[..."+this.optionalRestSlugName+']]").');o.unshift(a)}return null!==this.restSlugName&&o.push.apply(o,n(this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/"))),null!==this.optionalRestSlugName&&o.push.apply(o,n(this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/"))),o}},{key:"_insert",value:function(t,r,n){if(0===t.length){this.placeholder=!1;return}if(n)throw Error("Catch-all must be the last part of the URL.");var o=t[0];if(o.startsWith("[")&&o.endsWith("]")){var a=function(e,t){if(null!==e&&e!==t)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+t+"').");r.forEach(function(e){if(e===t)throw Error('You cannot have the same slug name "'+t+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+t+'" differ only by non-word symbols within a single dynamic path')}),r.push(t)},i=o.slice(1,-1),u=!1;if(i.startsWith("[")&&i.endsWith("]")&&(i=i.slice(1,-1),u=!0),i.startsWith("...")&&(i=i.substring(3),n=!0),i.startsWith("[")||i.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+i+"').");if(i.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+i+"').");if(n){if(u){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+t[0]+'" ).');a(this.optionalRestSlugName,i),this.optionalRestSlugName=i,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+t[0]+'").');a(this.restSlugName,i),this.restSlugName=i,o="[...]"}}else{if(u)throw Error('Optional route parameters are not yet supported ("'+t[0]+'").');a(this.slugName,i),this.slugName=i,o="[]"}}this.children.has(o)||this.children.set(o,new e),this.children.get(o)._insert(t.slice(1),r,n)}}]),e}();function u(e){var t=new i;return e.forEach(function(e){return t.insert(e)}),t.smoosh()}},1594:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return n},setConfig:function(){return o}});var r,n=function(){return r};function o(e){r=e}},9970:function(e,t){"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return o},PAGE_SEGMENT_KEY:function(){return n},isGroupSegment:function(){return r}});var n="__PAGE__",o="__DEFAULT__"},8900:function(e,t,r){"use strict";var n=r(4687),o=r(6089),a=r(3322),i=r(5667),u=r(1961),s=r(7731),c=r(7033),l=r(7752);function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var r,n=s(e);return r=t?Reflect.construct(n,arguments,s(this).constructor):n.apply(this,arguments),u(this,r)}}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return S},MiddlewareNotFoundError:function(){return M},MissingStaticPage:function(){return T},NormalizeError:function(){return j},PageNotFoundError:function(){return R},SP:function(){return E},ST:function(){return O},WEB_VITALS:function(){return d},execOnce:function(){return p},getDisplayName:function(){return g},getLocationOrigin:function(){return m},getURL:function(){return y},isAbsoluteUrl:function(){return v},isResSent:function(){return b},loadGetInitialProps:function(){return x},normalizeRepeatedSlashes:function(){return P},stringifyError:function(){return A}});var d=["CLS","FCP","FID","INP","LCP","TTFB"];function p(e){var t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;a1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},8018:function(e){var t,r,n,o,a,i,u,s,c,l,f,d,p,h,v,m,y,g,b,P,x,w,E,O,S,j,R,T,M,A,k,L,I,C,N,D,F,U,B,H,W,q,G,z,V,K;(t={}).d=function(e,r){for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},void 0!==t&&(t.ab="//"),r={},t.r(r),t.d(r,{getCLS:function(){return E},getFCP:function(){return P},getFID:function(){return A},getINP:function(){return q},getLCP:function(){return z},getTTFB:function(){return K},onCLS:function(){return E},onFCP:function(){return P},onFID:function(){return A},onINP:function(){return q},onLCP:function(){return z},onTTFB:function(){return K}}),s=-1,c=function(e){addEventListener("pageshow",function(t){t.persisted&&(s=t.timeStamp,e(t))},!0)},l=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]},f=function(){var e=l();return e&&e.activationStart||0},d=function(e,t){var r=l(),n="navigate";return s>=0?n="back-forward-cache":r&&(n=document.prerendering||f()>0?"prerender":r.type.replace(/_/g,"-")),{name:e,value:void 0===t?-1:t,rating:"good",delta:0,entries:[],id:"v3-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:n}},p=function(e,t,r){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var n=new PerformanceObserver(function(e){t(e.getEntries())});return n.observe(Object.assign({type:e,buffered:!0},r||{})),n}}catch(e){}},h=function(e,t){var r=function r(n){"pagehide"!==n.type&&"hidden"!==document.visibilityState||(e(n),t&&(removeEventListener("visibilitychange",r,!0),removeEventListener("pagehide",r,!0)))};addEventListener("visibilitychange",r,!0),addEventListener("pagehide",r,!0)},v=function(e,t,r,n){var o,a;return function(i){var u;t.value>=0&&(i||n)&&((a=t.value-(o||0))||void 0===o)&&(o=t.value,t.delta=a,t.rating=(u=t.value)>r[1]?"poor":u>r[0]?"needs-improvement":"good",e(t))}},m=-1,y=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},g=function(){h(function(e){m=e.timeStamp},!0)},b=function(){return m<0&&(m=y(),g(),c(function(){setTimeout(function(){m=y(),g()},0)})),{get firstHiddenTime(){return m}}},P=function(e,t){t=t||{};var r,n=[1800,3e3],o=b(),a=d("FCP"),i=function(e){e.forEach(function(e){"first-contentful-paint"===e.name&&(s&&s.disconnect(),e.startTime-1&&e(t)},a=d("CLS",0),i=0,u=[],s=function(e){e.forEach(function(e){if(!e.hadRecentInput){var t=u[0],r=u[u.length-1];i&&e.startTime-r.startTime<1e3&&e.startTime-t.startTime<5e3?(i+=e.value,u.push(e)):(i=e.value,u=[e]),i>a.value&&(a.value=i,a.entries=u,n())}})},l=p("layout-shift",s);l&&(n=v(o,a,r,t.reportAllChanges),h(function(){s(l.takeRecords()),n(!0)}),c(function(){i=0,w=-1,n=v(o,a=d("CLS",0),r,t.reportAllChanges)}))},O={passive:!0,capture:!0},S=new Date,j=function(e,t){n||(n=t,o=e,a=new Date,M(removeEventListener),R())},R=function(){if(o>=0&&o1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?(t=function(){j(o,e),n()},r=function(){n()},n=function(){removeEventListener("pointerup",t,O),removeEventListener("pointercancel",r,O)},addEventListener("pointerup",t,O),addEventListener("pointercancel",r,O)):j(o,e)}},M=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach(function(t){return e(t,T,O)})},A=function(e,t){t=t||{};var r,a=[100,300],u=b(),s=d("FID"),l=function(e){e.startTimet.latency){if(r)r.entries.push(e),r.latency=Math.max(r.latency,e.duration);else{var n={id:e.interactionId,latency:e.duration,entries:[e]};H[n.id]=n,B.push(n)}B.sort(function(e,t){return t.latency-e.latency}),B.splice(10).forEach(function(e){delete H[e.id]})}},q=function(e,t){t=t||{};var r=[200,500];D();var n,o=d("INP"),a=function(e){e.forEach(function(e){e.interactionId&&W(e),"first-input"!==e.entryType||B.some(function(t){return t.entries.some(function(t){return e.duration===t.duration&&e.startTime===t.startTime})})||W(e)});var t,r=(t=Math.min(B.length-1,Math.floor(U()/50)),B[t]);r&&r.latency!==o.value&&(o.value=r.latency,o.entries=r.entries,n())},i=p("event",a,{durationThreshold:t.durationThreshold||40});n=v(e,o,r,t.reportAllChanges),i&&(i.observe({type:"first-input",buffered:!0}),h(function(){a(i.takeRecords()),o.value<0&&U()>0&&(o.value=0,o.entries=[]),n(!0)}),c(function(){B=[],F=N(),n=v(e,o=d("INP"),r,t.reportAllChanges)}))},G={},z=function(e,t){t=t||{};var r,n=[2500,4e3],o=b(),a=d("LCP"),i=function(e){var t=e[e.length-1];if(t){var n=t.startTime-f();nperformance.now())return;n.entries=[a],o(!0),c(function(){(o=v(e,n=d("TTFB",0),r,t.reportAllChanges))(!0)})}})},e.exports=r},9423:function(e,t){"use strict";function r(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return r}})},676:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(8551);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Error((0,n.isPlainObject)(e)?JSON.stringify(e):e+"")}},2407:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return a}});let n=r(3931),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function i(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?`/${a}`:t+"/"+a;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);a=i.slice(0,-2).concat(a).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:a}}},2431:function(){},7061:function(e,t,r){var n=r(8698).default;function o(){"use strict";e.exports=o=function(){return r},e.exports.__esModule=!0,e.exports.default=e.exports;var t,r={},a=Object.prototype,i=a.hasOwnProperty,u=Object.defineProperty||function(e,t,r){e[t]=r.value},s="function"==typeof Symbol?Symbol:{},c=s.iterator||"@@iterator",l=s.asyncIterator||"@@asyncIterator",f=s.toStringTag||"@@toStringTag";function d(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{d({},"")}catch(e){d=function(e,t,r){return e[t]=r}}function p(e,r,n,o){var a,i,s=Object.create((r&&r.prototype instanceof b?r:b).prototype);return u(s,"_invoke",{value:(a=new A(o||[]),i=v,function(r,o){if(i===m)throw Error("Generator is already running");if(i===y){if("throw"===r)throw o;return{value:t,done:!0}}for(a.method=r,a.arg=o;;){var u=a.delegate;if(u){var s=function e(r,n){var o=n.method,a=r.iterator[o];if(a===t)return n.delegate=null,"throw"===o&&r.iterator.return&&(n.method="return",n.arg=t,e(r,n),"throw"===n.method)||"return"!==o&&(n.method="throw",n.arg=TypeError("The iterator does not provide a '"+o+"' method")),g;var i=h(a,r.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,g;var u=i.arg;return u?u.done?(n[r.resultName]=u.value,n.next=r.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,g):u:(n.method="throw",n.arg=TypeError("iterator result is not an object"),n.delegate=null,g)}(u,a);if(s){if(s===g)continue;return s}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(i===v)throw i=y,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);i=m;var c=h(e,n,a);if("normal"===c.type){if(i=a.done?y:"suspendedYield",c.arg===g)continue;return{value:c.arg,done:a.done}}"throw"===c.type&&(i=y,a.method="throw",a.arg=c.arg)}})}),s}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}r.wrap=p;var v="suspendedStart",m="executing",y="completed",g={};function b(){}function P(){}function x(){}var w={};d(w,c,function(){return this});var E=Object.getPrototypeOf,O=E&&E(E(k([])));O&&O!==a&&i.call(O,c)&&(w=O);var S=x.prototype=b.prototype=Object.create(w);function j(e){["next","throw","return"].forEach(function(t){d(e,t,function(e){return this._invoke(t,e)})})}function R(e,t){var r;u(this,"_invoke",{value:function(o,a){function u(){return new t(function(r,u){!function r(o,a,u,s){var c=h(e[o],e,a);if("throw"!==c.type){var l=c.arg,f=l.value;return f&&"object"==n(f)&&i.call(f,"__await")?t.resolve(f.__await).then(function(e){r("next",e,u,s)},function(e){r("throw",e,u,s)}):t.resolve(f).then(function(e){l.value=e,u(l)},function(e){return r("throw",e,u,s)})}s(c.arg)}(o,a,r,u)})}return r=r?r.then(u,u):u()}})}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function M(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function k(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=i.call(a,"catchLoc"),c=i.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),M(r),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;M(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:k(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),g}},r}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},8698:function(e){function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},4687:function(e,t,r){var n=r(7061)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},3148:function(e){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a},e.exports.__esModule=!0,e.exports.default=e.exports},9103:function(e){e.exports=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o},e.exports.__esModule=!0,e.exports.default=e.exports},1961:function(e,t,r){var n=r(2092).default,o=r(6948);e.exports=function(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return o(e)},e.exports.__esModule=!0,e.exports.default=e.exports},3062:function(e){function t(r,n){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r,n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},3171:function(e,t,r){var n=r(227),o=r(9981),a=r(4970),i=r(5149);e.exports=function(e,t){return n(e)||o(e,t)||a(e,t)||i()},e.exports.__esModule=!0,e.exports.default=e.exports},8416:function(e,t,r){var n=r(4353),o=r(8024),a=r(4970),i=r(8794);e.exports=function(e){return n(e)||o(e)||a(e)||i()},e.exports.__esModule=!0,e.exports.default=e.exports},3279:function(e,t,r){var n=r(2092).default;e.exports=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},9597:function(e,t,r){var n=r(2092).default,o=r(3279);e.exports=function(e){var t=o(e,"string");return"symbol"===n(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},2092:function(e){function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},4970:function(e,t,r){var n=r(3148);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,t)}},e.exports.__esModule=!0,e.exports.default=e.exports},7033:function(e,t,r){var n=r(7731),o=r(3062),a=r(3819),i=r(8957);function u(t){var r="function"==typeof Map?new Map:void 0;return e.exports=u=function(e){if(null===e||!a(e))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,t)}function t(){return i(e,arguments,n(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),o(t,e)},e.exports.__esModule=!0,e.exports.default=e.exports,u(t)}e.exports=u,e.exports.__esModule=!0,e.exports.default=e.exports},8754:function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:function(){return n},_interop_require_default:function(){return n}})},1757:function(e,t,r){"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var u=a?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(o,i,u):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:function(){return o},_interop_require_wildcard:function(){return o}})}},function(e){var t=function(t){return e(e.s=t)};e.O(0,[9774],function(){return t(3143),t(8488)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/out/_next/static/vZO2KMHSN2f3L_zaP4Y1s/_buildManifest.js b/out/_next/static/mgqZHLhPqpwpWfqmHzAXn/_buildManifest.js similarity index 99% rename from out/_next/static/vZO2KMHSN2f3L_zaP4Y1s/_buildManifest.js rename to out/_next/static/mgqZHLhPqpwpWfqmHzAXn/_buildManifest.js index dd02f1c9..455b1ece 100644 --- a/out/_next/static/vZO2KMHSN2f3L_zaP4Y1s/_buildManifest.js +++ b/out/_next/static/mgqZHLhPqpwpWfqmHzAXn/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST=function(s,e,a){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[s,"static/chunks/pages/index-122b23f7819a1134.js"],"/2021/speakers/speakergrid":[s,"static/chunks/pages/2021/speakers/speakergrid-7f09700df48c5f1d.js"],"/2023/hacktober":[s,"static/chunks/pages/2023/hacktober-adb8216bbf4627bb.js"],"/2023/notable-companies":[s,"static/chunks/pages/2023/notable-companies-acd6026c82d15e82.js"],"/_error":["static/chunks/pages/_error-dace7ce0691acc17.js"],"/about-the-conference":[s,"static/chunks/pages/about-the-conference-a8e5a7dabea4d641.js"],"/agenda":[s,"static/chunks/pages/agenda-a55271c7a41b8ac8.js"],"/code-of-conduct":[s,"static/chunks/pages/code-of-conduct-fe5055154b269c8b.js"],"/contact":[s,"static/chunks/pages/contact-c17fc842955657d7.js"],"/guides/crew":[s,a,"static/chunks/pages/guides/crew-bd1ead7ab00018de.js"],"/guides/speakers":[s,a,"static/chunks/pages/guides/speakers-e78fadcf3cd1527b.js"],"/guides/sponsors":[s,a,"static/chunks/pages/guides/sponsors-94e403ab5281e838.js"],"/information/accessibility-information":[s,"static/chunks/pages/information/accessibility-information-798f0a936e9a1f14.js"],"/information/apply-to-speak":[s,"static/chunks/pages/information/apply-to-speak-2a25ffdcf7fdf29b.js"],"/information/attendee-information":[s,a,"static/chunks/pages/information/attendee-information-c2221aad07a4768c.js"],"/information/covid-precautions":[s,"static/chunks/pages/information/covid-precautions-d083fce3b31dbcc0.js"],"/information/demographics":[s,"static/chunks/pages/information/demographics-70a46ca96af4fc87.js"],"/information/event-activities":[s,"static/chunks/pages/information/event-activities-7964b05f526de3a2.js"],"/information/supporting-speakers":[s,"static/chunks/pages/information/supporting-speakers-414e2b982d8a0cab.js"],"/information/ticket-information":[s,"static/chunks/pages/information/ticket-information-ce9f150c28c850c5.js"],"/information/venue-information":[s,"static/chunks/pages/information/venue-information-7f90d68a40820e31.js"],"/organisers/james-hayward":[e,s,"static/chunks/pages/organisers/james-hayward-81a4300bb5e29b83.js"],"/organisers/jessica-white":[e,s,"static/chunks/pages/organisers/jessica-white-92dcd612f3fddd2f.js"],"/organisers/mia-gordon":[e,s,"static/chunks/pages/organisers/mia-gordon-09595978dac5fac5.js"],"/organisers/moreton-brockley":[e,s,"static/chunks/pages/organisers/moreton-brockley-b48a4b9a7bec8f2c.js"],"/organisers/rachel-watson":[e,s,"static/chunks/pages/organisers/rachel-watson-30c819ff329b1943.js"],"/organisers/steven-pears":[e,s,"static/chunks/pages/organisers/steven-pears-c35fc25cd3cffdcb.js"],"/pastconferences/album":[s,"static/chunks/pages/pastconferences/album-0736ea3618839bcb.js"],"/pastconferences/pastspeakers/2019/anthony-dang":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/anthony-dang-1c490216e658b1e1.js"],"/pastconferences/pastspeakers/2019/cara-holland":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/cara-holland-9d18b39ddd6493f8.js"],"/pastconferences/pastspeakers/2019/dylan-beattie":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/dylan-beattie-c7db8429c221ecef.js"],"/pastconferences/pastspeakers/2019/galiya-warrier":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/galiya-warrier-fe3a5cf0ae1b8877.js"],"/pastconferences/pastspeakers/2019/helen-joy":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/helen-joy-d86e1e8322faa46e.js"],"/pastconferences/pastspeakers/2019/ian-cooper":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/ian-cooper-f3d1b6e637e56de3.js"],"/pastconferences/pastspeakers/2019/ian-johnson":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/ian-johnson-633f7ba34000aa39.js"],"/pastconferences/pastspeakers/2019/jessica-salisbury":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/jessica-salisbury-54aa637849cced08.js"],"/pastconferences/pastspeakers/2019/joel-hammond-turner":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/joel-hammond-turner-565e7f92f19ae4d0.js"],"/pastconferences/pastspeakers/2019/mark-towndrow":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/mark-towndrow-69b12f46362d25ce.js"],"/pastconferences/pastspeakers/2019/matt-brunt":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/matt-brunt-19ca32ec122bbbf7.js"],"/pastconferences/pastspeakers/2019/neil-oconnor":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/neil-oconnor-c9781f50724fe686.js"],"/pastconferences/pastspeakers/2019/robin-ninan":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/robin-ninan-77d827bc9f631f6b.js"],"/pastconferences/pastspeakers/2019/samathy-barratt":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/samathy-barratt-6715de8c3c9e11b0.js"],"/pastconferences/pastspeakers/2019/simon-painter":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/simon-painter-f646d360d8dd55ad.js"],"/pastconferences/pastspeakers/2019/zac-braddy":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/zac-braddy-9c38580b324ee399.js"],"/pastconferences/pastspeakers/2021/clifford-agius":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/clifford-agius-b1984dd67e381b0e.js"],"/pastconferences/pastspeakers/2021/connell-sharp":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/connell-sharp-907549749bf5ec97.js"],"/pastconferences/pastspeakers/2021/dylan-beattie":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/dylan-beattie-27090f603a2a6c83.js"],"/pastconferences/pastspeakers/2021/james-croft":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/james-croft-f8566cc70af0b84e.js"],"/pastconferences/pastspeakers/2021/jennifer-mackown":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/jennifer-mackown-0a0fa2a4e010732f.js"],"/pastconferences/pastspeakers/2021/kojo-hinson":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/kojo-hinson-d6082b2c25289616.js"],"/pastconferences/pastspeakers/2021/leke-sholuade":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/leke-sholuade-311c51a98dbaa3d7.js"],"/pastconferences/pastspeakers/2021/lex-lofthouse":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/lex-lofthouse-dd4c615824fd01a6.js"],"/pastconferences/pastspeakers/2021/manu-magalhaes":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/manu-magalhaes-95c6a8076355400b.js"],"/pastconferences/pastspeakers/2021/matt-whetton":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/matt-whetton-8be52c109a76fdc2.js"],"/pastconferences/pastspeakers/2021/poornima-nayar":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/poornima-nayar-0e6d172e286f838b.js"],"/pastconferences/pastspeakers/2021/riz-akmal-khan":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/riz-akmal-khan-07dc4370ffe60a13.js"],"/pastconferences/pastspeakers/2021/simon-painter":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/simon-painter-8f577fc1c77b585d.js"],"/pastconferences/pastspeakers/2021/stephen-haunts":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/stephen-haunts-8e303ef92548cbf1.js"],"/pastconferences/pastspeakers/2021/stephen-jackson":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/stephen-jackson-1675d2cf46426941.js"],"/pastconferences/pastspeakers/2021/steve-collins":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/steve-collins-23d507de65e56de8.js"],"/pastconferences/pastspeakers/2021/tania-allard":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/tania-allard-eae9ec14bb040ee3.js"],"/pastconferences/pastspeakers/2021/tom-morton":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/tom-morton-fa33001972fd694d.js"],"/pastconferences/pastspeakers/2023/ashley-smith":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/ashley-smith-c06971952665d673.js"],"/pastconferences/pastspeakers/2023/connell-sharp":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/connell-sharp-51481447d15086bc.js"],"/pastconferences/pastspeakers/2023/dan-clarke":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/dan-clarke-8a32ea3f4f85f1ad.js"],"/pastconferences/pastspeakers/2023/eli-holderness":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/eli-holderness-ae3250f80a9f4177.js"],"/pastconferences/pastspeakers/2023/gosia-borzecka":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/gosia-borzecka-dd4b24e136611bed.js"],"/pastconferences/pastspeakers/2023/jamie-tanna":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/jamie-tanna-aca88383b803f115.js"],"/pastconferences/pastspeakers/2023/marc-steele":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/marc-steele-32319b7e05db9de5.js"],"/pastconferences/pastspeakers/2023/marcus-noble":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/marcus-noble-df4e886f6943c84b.js"],"/pastconferences/pastspeakers/2023/mark-goodwin":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/mark-goodwin-f007982985dea6d4.js"],"/pastconferences/pastspeakers/2023/martyn-kilbryde":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/martyn-kilbryde-7031ca8777843c4c.js"],"/pastconferences/pastspeakers/2023/matt-brunt":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/matt-brunt-d20cf95eaf18211d.js"],"/pastconferences/pastspeakers/2023/matt-hunt":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/matt-hunt-4f9691592efd00ae.js"],"/pastconferences/pastspeakers/2023/paul-bailey":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/paul-bailey-ee6597f2f34fdded.js"],"/pastconferences/pastspeakers/2023/poornima-nayar":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/poornima-nayar-065e83e0e7f0afc5.js"],"/pastconferences/pastspeakers/2023/rachel-breeze":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/rachel-breeze-df29f90bfc50f4f7.js"],"/pastconferences/pastspeakers/2023/sean-farmar":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/sean-farmar-bb24d041efe97034.js"],"/pastconferences/pastspeakers/2023/shaun-lawrence":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/shaun-lawrence-1dca28b5ede8a83a.js"],"/pastconferences/pastspeakers/2023/soumaya-erradi":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/soumaya-erradi-cfc0166a8629708f.js"],"/pastconferences/pastspeakers/pastspeakergrid":[s,"static/chunks/pages/pastconferences/pastspeakers/pastspeakergrid-8b9326e2694fad7a.js"],"/sponsor/social-responsibility":[s,"static/chunks/pages/sponsor/social-responsibility-ece49752d1bdcf52.js"],"/sponsor/sponsor-the-event":[s,"static/chunks/pages/sponsor/sponsor-the-event-e1019aff432ca259.js"],"/sponsor/sponsorship-tiers":[s,"static/chunks/pages/sponsor/sponsorship-tiers-f68996e566507fb1.js"],"/sponsor/testimonials":[s,"static/chunks/pages/sponsor/testimonials-0e1855e6bc3b6df4.js"],"/sponsor/why-sponsor":[s,"static/chunks/pages/sponsor/why-sponsor-e1b37383173afbeb.js"],"/talks":[s,"static/chunks/pages/talks-a95af8e4ca41bd9c.js"],sortedPages:["/","/2021/speakers/speakergrid","/2023/hacktober","/2023/notable-companies","/_app","/_error","/about-the-conference","/agenda","/code-of-conduct","/contact","/guides/crew","/guides/speakers","/guides/sponsors","/information/accessibility-information","/information/apply-to-speak","/information/attendee-information","/information/covid-precautions","/information/demographics","/information/event-activities","/information/supporting-speakers","/information/ticket-information","/information/venue-information","/organisers/james-hayward","/organisers/jessica-white","/organisers/mia-gordon","/organisers/moreton-brockley","/organisers/rachel-watson","/organisers/steven-pears","/pastconferences/album","/pastconferences/pastspeakers/2019/anthony-dang","/pastconferences/pastspeakers/2019/cara-holland","/pastconferences/pastspeakers/2019/dylan-beattie","/pastconferences/pastspeakers/2019/galiya-warrier","/pastconferences/pastspeakers/2019/helen-joy","/pastconferences/pastspeakers/2019/ian-cooper","/pastconferences/pastspeakers/2019/ian-johnson","/pastconferences/pastspeakers/2019/jessica-salisbury","/pastconferences/pastspeakers/2019/joel-hammond-turner","/pastconferences/pastspeakers/2019/mark-towndrow","/pastconferences/pastspeakers/2019/matt-brunt","/pastconferences/pastspeakers/2019/neil-oconnor","/pastconferences/pastspeakers/2019/robin-ninan","/pastconferences/pastspeakers/2019/samathy-barratt","/pastconferences/pastspeakers/2019/simon-painter","/pastconferences/pastspeakers/2019/zac-braddy","/pastconferences/pastspeakers/2021/clifford-agius","/pastconferences/pastspeakers/2021/connell-sharp","/pastconferences/pastspeakers/2021/dylan-beattie","/pastconferences/pastspeakers/2021/james-croft","/pastconferences/pastspeakers/2021/jennifer-mackown","/pastconferences/pastspeakers/2021/kojo-hinson","/pastconferences/pastspeakers/2021/leke-sholuade","/pastconferences/pastspeakers/2021/lex-lofthouse","/pastconferences/pastspeakers/2021/manu-magalhaes","/pastconferences/pastspeakers/2021/matt-whetton","/pastconferences/pastspeakers/2021/poornima-nayar","/pastconferences/pastspeakers/2021/riz-akmal-khan","/pastconferences/pastspeakers/2021/simon-painter","/pastconferences/pastspeakers/2021/stephen-haunts","/pastconferences/pastspeakers/2021/stephen-jackson","/pastconferences/pastspeakers/2021/steve-collins","/pastconferences/pastspeakers/2021/tania-allard","/pastconferences/pastspeakers/2021/tom-morton","/pastconferences/pastspeakers/2023/ashley-smith","/pastconferences/pastspeakers/2023/connell-sharp","/pastconferences/pastspeakers/2023/dan-clarke","/pastconferences/pastspeakers/2023/eli-holderness","/pastconferences/pastspeakers/2023/gosia-borzecka","/pastconferences/pastspeakers/2023/jamie-tanna","/pastconferences/pastspeakers/2023/marc-steele","/pastconferences/pastspeakers/2023/marcus-noble","/pastconferences/pastspeakers/2023/mark-goodwin","/pastconferences/pastspeakers/2023/martyn-kilbryde","/pastconferences/pastspeakers/2023/matt-brunt","/pastconferences/pastspeakers/2023/matt-hunt","/pastconferences/pastspeakers/2023/paul-bailey","/pastconferences/pastspeakers/2023/poornima-nayar","/pastconferences/pastspeakers/2023/rachel-breeze","/pastconferences/pastspeakers/2023/sean-farmar","/pastconferences/pastspeakers/2023/shaun-lawrence","/pastconferences/pastspeakers/2023/soumaya-erradi","/pastconferences/pastspeakers/pastspeakergrid","/sponsor/social-responsibility","/sponsor/sponsor-the-event","/sponsor/sponsorship-tiers","/sponsor/testimonials","/sponsor/why-sponsor","/talks"]}}("static/chunks/9829-b1bec93575ba6ce2.js","static/chunks/2cca2479-4f95a7ab353b60c5.js","static/chunks/7052-07bdaf581d9e4f5f.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file +self.__BUILD_MANIFEST=function(s,e,a){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[s,"static/chunks/pages/index-122b23f7819a1134.js"],"/2021/speakers/speakergrid":[s,"static/chunks/pages/2021/speakers/speakergrid-7f09700df48c5f1d.js"],"/2023/hacktober":[s,"static/chunks/pages/2023/hacktober-adb8216bbf4627bb.js"],"/2023/notable-companies":[s,"static/chunks/pages/2023/notable-companies-acd6026c82d15e82.js"],"/_error":["static/chunks/pages/_error-dace7ce0691acc17.js"],"/about-the-conference":[s,"static/chunks/pages/about-the-conference-a8e5a7dabea4d641.js"],"/agenda":[s,"static/chunks/pages/agenda-a55271c7a41b8ac8.js"],"/code-of-conduct":[s,"static/chunks/pages/code-of-conduct-fe5055154b269c8b.js"],"/contact":[s,"static/chunks/pages/contact-c17fc842955657d7.js"],"/guides/crew":[s,a,"static/chunks/pages/guides/crew-bd1ead7ab00018de.js"],"/guides/speakers":[s,a,"static/chunks/pages/guides/speakers-e78fadcf3cd1527b.js"],"/guides/sponsors":[s,a,"static/chunks/pages/guides/sponsors-94e403ab5281e838.js"],"/information/accessibility-information":[s,"static/chunks/pages/information/accessibility-information-798f0a936e9a1f14.js"],"/information/apply-to-speak":[s,"static/chunks/pages/information/apply-to-speak-2a25ffdcf7fdf29b.js"],"/information/attendee-information":[s,a,"static/chunks/pages/information/attendee-information-c2221aad07a4768c.js"],"/information/covid-precautions":[s,"static/chunks/pages/information/covid-precautions-d083fce3b31dbcc0.js"],"/information/demographics":[s,"static/chunks/pages/information/demographics-70a46ca96af4fc87.js"],"/information/event-activities":[s,"static/chunks/pages/information/event-activities-7964b05f526de3a2.js"],"/information/supporting-speakers":[s,"static/chunks/pages/information/supporting-speakers-414e2b982d8a0cab.js"],"/information/ticket-information":[s,"static/chunks/pages/information/ticket-information-ce9f150c28c850c5.js"],"/information/venue-information":[s,"static/chunks/pages/information/venue-information-7f90d68a40820e31.js"],"/organisers/james-hayward":[e,s,"static/chunks/pages/organisers/james-hayward-81a4300bb5e29b83.js"],"/organisers/jessica-white":[e,s,"static/chunks/pages/organisers/jessica-white-92dcd612f3fddd2f.js"],"/organisers/mia-gordon":[e,s,"static/chunks/pages/organisers/mia-gordon-09595978dac5fac5.js"],"/organisers/moreton-brockley":[e,s,"static/chunks/pages/organisers/moreton-brockley-b48a4b9a7bec8f2c.js"],"/organisers/rachel-watson":[e,s,"static/chunks/pages/organisers/rachel-watson-30c819ff329b1943.js"],"/organisers/steven-pears":[e,s,"static/chunks/pages/organisers/steven-pears-c35fc25cd3cffdcb.js"],"/pastconferences/album":[s,"static/chunks/pages/pastconferences/album-0736ea3618839bcb.js"],"/pastconferences/pastspeakers/2019/anthony-dang":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/anthony-dang-1c490216e658b1e1.js"],"/pastconferences/pastspeakers/2019/cara-holland":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/cara-holland-9d18b39ddd6493f8.js"],"/pastconferences/pastspeakers/2019/dylan-beattie":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/dylan-beattie-c7db8429c221ecef.js"],"/pastconferences/pastspeakers/2019/galiya-warrier":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/galiya-warrier-fe3a5cf0ae1b8877.js"],"/pastconferences/pastspeakers/2019/helen-joy":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/helen-joy-d86e1e8322faa46e.js"],"/pastconferences/pastspeakers/2019/ian-cooper":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/ian-cooper-f3d1b6e637e56de3.js"],"/pastconferences/pastspeakers/2019/ian-johnson":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/ian-johnson-633f7ba34000aa39.js"],"/pastconferences/pastspeakers/2019/jessica-salisbury":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/jessica-salisbury-54aa637849cced08.js"],"/pastconferences/pastspeakers/2019/joel-hammond-turner":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/joel-hammond-turner-565e7f92f19ae4d0.js"],"/pastconferences/pastspeakers/2019/mark-towndrow":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/mark-towndrow-69b12f46362d25ce.js"],"/pastconferences/pastspeakers/2019/matt-brunt":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/matt-brunt-19ca32ec122bbbf7.js"],"/pastconferences/pastspeakers/2019/neil-oconnor":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/neil-oconnor-c9781f50724fe686.js"],"/pastconferences/pastspeakers/2019/robin-ninan":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/robin-ninan-77d827bc9f631f6b.js"],"/pastconferences/pastspeakers/2019/samathy-barratt":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/samathy-barratt-6715de8c3c9e11b0.js"],"/pastconferences/pastspeakers/2019/simon-painter":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/simon-painter-f646d360d8dd55ad.js"],"/pastconferences/pastspeakers/2019/zac-braddy":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2019/zac-braddy-9c38580b324ee399.js"],"/pastconferences/pastspeakers/2021/clifford-agius":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/clifford-agius-b1984dd67e381b0e.js"],"/pastconferences/pastspeakers/2021/connell-sharp":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/connell-sharp-907549749bf5ec97.js"],"/pastconferences/pastspeakers/2021/dylan-beattie":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/dylan-beattie-27090f603a2a6c83.js"],"/pastconferences/pastspeakers/2021/james-croft":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/james-croft-f8566cc70af0b84e.js"],"/pastconferences/pastspeakers/2021/jennifer-mackown":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/jennifer-mackown-0a0fa2a4e010732f.js"],"/pastconferences/pastspeakers/2021/kojo-hinson":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/kojo-hinson-d6082b2c25289616.js"],"/pastconferences/pastspeakers/2021/leke-sholuade":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/leke-sholuade-311c51a98dbaa3d7.js"],"/pastconferences/pastspeakers/2021/lex-lofthouse":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/lex-lofthouse-dd4c615824fd01a6.js"],"/pastconferences/pastspeakers/2021/manu-magalhaes":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/manu-magalhaes-95c6a8076355400b.js"],"/pastconferences/pastspeakers/2021/matt-whetton":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/matt-whetton-8be52c109a76fdc2.js"],"/pastconferences/pastspeakers/2021/poornima-nayar":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/poornima-nayar-0e6d172e286f838b.js"],"/pastconferences/pastspeakers/2021/riz-akmal-khan":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/riz-akmal-khan-07dc4370ffe60a13.js"],"/pastconferences/pastspeakers/2021/simon-painter":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/simon-painter-8f577fc1c77b585d.js"],"/pastconferences/pastspeakers/2021/stephen-haunts":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/stephen-haunts-8e303ef92548cbf1.js"],"/pastconferences/pastspeakers/2021/stephen-jackson":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/stephen-jackson-1675d2cf46426941.js"],"/pastconferences/pastspeakers/2021/steve-collins":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/steve-collins-23d507de65e56de8.js"],"/pastconferences/pastspeakers/2021/tania-allard":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/tania-allard-eae9ec14bb040ee3.js"],"/pastconferences/pastspeakers/2021/tom-morton":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2021/tom-morton-fa33001972fd694d.js"],"/pastconferences/pastspeakers/2023/ashley-smith":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/ashley-smith-c06971952665d673.js"],"/pastconferences/pastspeakers/2023/connell-sharp":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/connell-sharp-51481447d15086bc.js"],"/pastconferences/pastspeakers/2023/dan-clarke":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/dan-clarke-8a32ea3f4f85f1ad.js"],"/pastconferences/pastspeakers/2023/eli-holderness":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/eli-holderness-ae3250f80a9f4177.js"],"/pastconferences/pastspeakers/2023/gosia-borzecka":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/gosia-borzecka-dd4b24e136611bed.js"],"/pastconferences/pastspeakers/2023/jamie-tanna":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/jamie-tanna-aca88383b803f115.js"],"/pastconferences/pastspeakers/2023/marc-steele":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/marc-steele-32319b7e05db9de5.js"],"/pastconferences/pastspeakers/2023/marcus-noble":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/marcus-noble-df4e886f6943c84b.js"],"/pastconferences/pastspeakers/2023/mark-goodwin":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/mark-goodwin-f007982985dea6d4.js"],"/pastconferences/pastspeakers/2023/martyn-kilbryde":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/martyn-kilbryde-7031ca8777843c4c.js"],"/pastconferences/pastspeakers/2023/matt-brunt":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/matt-brunt-d20cf95eaf18211d.js"],"/pastconferences/pastspeakers/2023/matt-hunt":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/matt-hunt-4f9691592efd00ae.js"],"/pastconferences/pastspeakers/2023/paul-bailey":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/paul-bailey-ee6597f2f34fdded.js"],"/pastconferences/pastspeakers/2023/poornima-nayar":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/poornima-nayar-065e83e0e7f0afc5.js"],"/pastconferences/pastspeakers/2023/rachel-breeze":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/rachel-breeze-df29f90bfc50f4f7.js"],"/pastconferences/pastspeakers/2023/sean-farmar":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/sean-farmar-bb24d041efe97034.js"],"/pastconferences/pastspeakers/2023/shaun-lawrence":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/shaun-lawrence-1dca28b5ede8a83a.js"],"/pastconferences/pastspeakers/2023/soumaya-erradi":[e,s,"static/chunks/pages/pastconferences/pastspeakers/2023/soumaya-erradi-cfc0166a8629708f.js"],"/pastconferences/pastspeakers/pastspeakergrid":[s,"static/chunks/pages/pastconferences/pastspeakers/pastspeakergrid-8b9326e2694fad7a.js"],"/sponsor/social-responsibility":[s,"static/chunks/pages/sponsor/social-responsibility-ece49752d1bdcf52.js"],"/sponsor/sponsor-the-event":[s,"static/chunks/pages/sponsor/sponsor-the-event-e1019aff432ca259.js"],"/sponsor/sponsorship-tiers":[s,"static/chunks/pages/sponsor/sponsorship-tiers-f68996e566507fb1.js"],"/sponsor/testimonials":[s,"static/chunks/pages/sponsor/testimonials-0e1855e6bc3b6df4.js"],"/sponsor/why-sponsor":[s,"static/chunks/pages/sponsor/why-sponsor-e1b37383173afbeb.js"],"/talks":[s,"static/chunks/pages/talks-a95af8e4ca41bd9c.js"],sortedPages:["/","/2021/speakers/speakergrid","/2023/hacktober","/2023/notable-companies","/_app","/_error","/about-the-conference","/agenda","/code-of-conduct","/contact","/guides/crew","/guides/speakers","/guides/sponsors","/information/accessibility-information","/information/apply-to-speak","/information/attendee-information","/information/covid-precautions","/information/demographics","/information/event-activities","/information/supporting-speakers","/information/ticket-information","/information/venue-information","/organisers/james-hayward","/organisers/jessica-white","/organisers/mia-gordon","/organisers/moreton-brockley","/organisers/rachel-watson","/organisers/steven-pears","/pastconferences/album","/pastconferences/pastspeakers/2019/anthony-dang","/pastconferences/pastspeakers/2019/cara-holland","/pastconferences/pastspeakers/2019/dylan-beattie","/pastconferences/pastspeakers/2019/galiya-warrier","/pastconferences/pastspeakers/2019/helen-joy","/pastconferences/pastspeakers/2019/ian-cooper","/pastconferences/pastspeakers/2019/ian-johnson","/pastconferences/pastspeakers/2019/jessica-salisbury","/pastconferences/pastspeakers/2019/joel-hammond-turner","/pastconferences/pastspeakers/2019/mark-towndrow","/pastconferences/pastspeakers/2019/matt-brunt","/pastconferences/pastspeakers/2019/neil-oconnor","/pastconferences/pastspeakers/2019/robin-ninan","/pastconferences/pastspeakers/2019/samathy-barratt","/pastconferences/pastspeakers/2019/simon-painter","/pastconferences/pastspeakers/2019/zac-braddy","/pastconferences/pastspeakers/2021/clifford-agius","/pastconferences/pastspeakers/2021/connell-sharp","/pastconferences/pastspeakers/2021/dylan-beattie","/pastconferences/pastspeakers/2021/james-croft","/pastconferences/pastspeakers/2021/jennifer-mackown","/pastconferences/pastspeakers/2021/kojo-hinson","/pastconferences/pastspeakers/2021/leke-sholuade","/pastconferences/pastspeakers/2021/lex-lofthouse","/pastconferences/pastspeakers/2021/manu-magalhaes","/pastconferences/pastspeakers/2021/matt-whetton","/pastconferences/pastspeakers/2021/poornima-nayar","/pastconferences/pastspeakers/2021/riz-akmal-khan","/pastconferences/pastspeakers/2021/simon-painter","/pastconferences/pastspeakers/2021/stephen-haunts","/pastconferences/pastspeakers/2021/stephen-jackson","/pastconferences/pastspeakers/2021/steve-collins","/pastconferences/pastspeakers/2021/tania-allard","/pastconferences/pastspeakers/2021/tom-morton","/pastconferences/pastspeakers/2023/ashley-smith","/pastconferences/pastspeakers/2023/connell-sharp","/pastconferences/pastspeakers/2023/dan-clarke","/pastconferences/pastspeakers/2023/eli-holderness","/pastconferences/pastspeakers/2023/gosia-borzecka","/pastconferences/pastspeakers/2023/jamie-tanna","/pastconferences/pastspeakers/2023/marc-steele","/pastconferences/pastspeakers/2023/marcus-noble","/pastconferences/pastspeakers/2023/mark-goodwin","/pastconferences/pastspeakers/2023/martyn-kilbryde","/pastconferences/pastspeakers/2023/matt-brunt","/pastconferences/pastspeakers/2023/matt-hunt","/pastconferences/pastspeakers/2023/paul-bailey","/pastconferences/pastspeakers/2023/poornima-nayar","/pastconferences/pastspeakers/2023/rachel-breeze","/pastconferences/pastspeakers/2023/sean-farmar","/pastconferences/pastspeakers/2023/shaun-lawrence","/pastconferences/pastspeakers/2023/soumaya-erradi","/pastconferences/pastspeakers/pastspeakergrid","/sponsor/social-responsibility","/sponsor/sponsor-the-event","/sponsor/sponsorship-tiers","/sponsor/testimonials","/sponsor/why-sponsor","/talks"]}}("static/chunks/9829-5d0067eef43b3992.js","static/chunks/2cca2479-4f95a7ab353b60c5.js","static/chunks/7052-07bdaf581d9e4f5f.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/out/_next/static/vZO2KMHSN2f3L_zaP4Y1s/_ssgManifest.js b/out/_next/static/mgqZHLhPqpwpWfqmHzAXn/_ssgManifest.js similarity index 100% rename from out/_next/static/vZO2KMHSN2f3L_zaP4Y1s/_ssgManifest.js rename to out/_next/static/mgqZHLhPqpwpWfqmHzAXn/_ssgManifest.js diff --git a/out/about-the-conference/index.html b/out/about-the-conference/index.html index adf6728b..b4a9340a 100644 --- a/out/about-the-conference/index.html +++ b/out/about-the-conference/index.html @@ -1 +1 @@ -About DDD East Midlands

    Contents

    What Is DDD East Midlands?

    What does the DDD stand for?

    The Conference Principles

    The Organisation Committee

    The Event Crew

    Promoting Inclusivity

    What Is DDD East Midlands?

    A Conference Celebrating the East Midlands

    The East Midlands tech scene is incredibly diverse - it is the perfect blend of professional corporates, innovative independents, and well-funded start ups. This unique and perfect mix of traditional and contemporary is reflected in the DDD East Midlands Conference. We are part of the multi-national DDD conference community, but with a focus on promoting the talent, companies and the amazing tech community that the East Midlands has to offer.

    • We want to promote inclusivity, support and camaraderie.
    • We want to encourage members of the local tech community to do a talk
    • Hosted in a beautiful, modern building, which is one of the largest educational buildings in Nottingham City Centre.
    • Talks submitted anonymously and voted on by attendees.
    • A keynote and a range of talks split into 3 tracks.

    What does the DDD stand for?

    DDD stands for (in this case) Developer! Developer! Developer!

    Developer! Developer! Developer! is an umbrella, open-source conference format. By naming ourselves DDD, and associating ourselves with similar events, we abide by certain principles. Other than that, this conference is by the East Midlands community for the East Midlands community and is unique in its own right. There is more information about Developer! Developer! Developer! further down this page for those interested.

    DDD was first formed as a conference in 2005, the first event happening in Reading, UK. Since then it has generated many spin-off events across the world.

    The aims of the original DDD was to provide free technical education. During it’s more than 10-year history, it has nurtured talented speakers, who have gone on to become Microsoft Most Valuable Professionals, Microsoft FTEs and to present at National and International Conferences.

    Though the original DDD conference is focused on .NET, DDD East Midlands is going to be open to a range of talks within the field of technology. It is language and technology agnostic.

    The Conference Principles

    The event follows these DDD Principles:

    • The event is hosted on a Saturday so that attendees do not have to take time from work.
    • Tickets to attend the event are free.

    As well as our own following principles:

    • All talk submissions are anonymous.
    • There is a democratic selection process for talks involving attendees voting for what they want to see.
    • The event is arranged with the community in mind.

    The Organisation Committee

    The very first DDD East Midlands was organised by Moreton and Jessica. Since then we have grown to have an organisation committee. Rachel joined us to help organise the 2021 event, and now we have a full roster of organisers for 2023 including Steven, James and Mia.

    Picture of Jessica White
    Picture of Moreton Brockley
    Picture of Rachel Watson
    Picture of Mia
    Picture of Steven
    Picture of James

    Give them a follow on Twitter, say hi at the local events, offer them a coffee or some chocolate if they look in need. They will both be running around on the day of the event making sure your experience of it is the best they can possibly make it.

    The Event Crew

    We could not run the event without the support our fantastic event crew. They help with set-up, with looking after attendees and speakers during the day and cleaning up after the event.

    Picture of the volunteers from the 2021 event

    Promoting Inclusivity

    As an embodiment of the East Midlands tech community, we want to promote inclusivity, support and camaraderie. Here are just a few of the ways we ai to do this:

    Accessibility Page

    In order to remain transparent, we have tried to answer as many accessibility related questions as we could on our Accessibility Page.

    Submission And Selection Process

    The submission process is anonymous and the selection process democratic. This is a conference for the community, by the community. All talks that are submitted are anonymous. When the attendees vote on which talks they want to see, and when the organisers are sorting out the agenda, identifiable information about those who have submitted can't bee seen. This is to keep the process as fair as possible and ensure talks are picked on their advertised content, not by who is presenting.

    As mentioned, attendees will get to vote on the talks they wish to see. Talks will be selected by popular vote, but with some discretion by the organisers of the conference. The discretion is to ensure variety at the conference. If two or more talks are nearly exactly the same, the most popular will continue through and the next most popular, different talk will replace the one with identical content.

    We also ask that all talk submissions abide to the Code of Conduct. We want all attendees to feel comfortable at the event, so ask that no submissions or talks contain content of a graphic, violent or sexual nature or contain any language that may be considered marginalising or hateful. If you wouldn't want to say it to someone you respect, please don't include it in your submission. Organisers hold the right to remove anything that may be thought to cause distress.

    Making speaking accessible

    We would like to encourage more people to speak and to encourage a diverse range of backgrounds, experiences and tech related roles to come and share their learnings at our event. There are a number of ways in which we are trying to make speaking more accessible:

    • Offering mentors for speakers that are selected and request extra help.

    Speaking in front of a crowd of people isn't easy and we know it. There will be the option to highlight that you would like extra support, as a first-time speaker, or even just as someone who feels that they would benefit from it.

    The East Midlands is lucky to host some amazing (and incredibly generous) international and experienced speakers. Some of these fine people are donating their time to any speakers that indicate they want extra support. This support covers ways to address nerves, timing a talk, structuring the content of a talk, making sure your talk aligns to its description and more.

    • Arranging an optional workshop for all speakers to help them construct their talk.

    All selected speakers will be invited to an optional workshop before the event. This contains advise on subjects such as talk structure, presentation styles, designing your slides. This is made possible by our very kind Workshop Sponsor. More details will be described here closer to the event.

    \ No newline at end of file +About DDD East Midlands

    Contents

    What Is DDD East Midlands?

    What does the DDD stand for?

    The Conference Principles

    The Organisation Committee

    The Event Crew

    Promoting Inclusivity

    What Is DDD East Midlands?

    A Conference Celebrating the East Midlands

    The East Midlands tech scene is incredibly diverse - it is the perfect blend of professional corporates, innovative independents, and well-funded start ups. This unique and perfect mix of traditional and contemporary is reflected in the DDD East Midlands Conference. We are part of the multi-national DDD conference community, but with a focus on promoting the talent, companies and the amazing tech community that the East Midlands has to offer.

    • We want to promote inclusivity, support and camaraderie.
    • We want to encourage members of the local tech community to do a talk
    • Hosted in a beautiful, modern building, which is one of the largest educational buildings in Nottingham City Centre.
    • Talks submitted anonymously and voted on by attendees.
    • A keynote and a range of talks split into 3 tracks.

    What does the DDD stand for?

    DDD stands for (in this case) Developer! Developer! Developer!

    Developer! Developer! Developer! is an umbrella, open-source conference format. By naming ourselves DDD, and associating ourselves with similar events, we abide by certain principles. Other than that, this conference is by the East Midlands community for the East Midlands community and is unique in its own right. There is more information about Developer! Developer! Developer! further down this page for those interested.

    DDD was first formed as a conference in 2005, the first event happening in Reading, UK. Since then it has generated many spin-off events across the world.

    The aims of the original DDD was to provide free technical education. During it’s more than 10-year history, it has nurtured talented speakers, who have gone on to become Microsoft Most Valuable Professionals, Microsoft FTEs and to present at National and International Conferences.

    Though the original DDD conference is focused on .NET, DDD East Midlands is going to be open to a range of talks within the field of technology. It is language and technology agnostic.

    The Conference Principles

    The event follows these DDD Principles:

    • The event is hosted on a Saturday so that attendees do not have to take time from work.
    • Tickets to attend the event are free.

    As well as our own following principles:

    • All talk submissions are anonymous.
    • There is a democratic selection process for talks involving attendees voting for what they want to see.
    • The event is arranged with the community in mind.

    The Organisation Committee

    The very first DDD East Midlands was organised by Moreton and Jessica. Since then we have grown to have an organisation committee. Rachel joined us to help organise the 2021 event, and now we have a full roster of organisers for 2023 including Steven, James and Mia.

    Picture of Jessica White
    Picture of Moreton Brockley
    Picture of Rachel Watson
    Picture of Mia
    Picture of Steven
    Picture of James

    Give them a follow on Twitter, say hi at the local events, offer them a coffee or some chocolate if they look in need. They will both be running around on the day of the event making sure your experience of it is the best they can possibly make it.

    The Event Crew

    We could not run the event without the support our fantastic event crew. They help with set-up, with looking after attendees and speakers during the day and cleaning up after the event.

    Picture of the volunteers from the 2021 event

    Promoting Inclusivity

    As an embodiment of the East Midlands tech community, we want to promote inclusivity, support and camaraderie. Here are just a few of the ways we ai to do this:

    Accessibility Page

    In order to remain transparent, we have tried to answer as many accessibility related questions as we could on our Accessibility Page.

    Submission And Selection Process

    The submission process is anonymous and the selection process democratic. This is a conference for the community, by the community. All talks that are submitted are anonymous. When the attendees vote on which talks they want to see, and when the organisers are sorting out the agenda, identifiable information about those who have submitted can't bee seen. This is to keep the process as fair as possible and ensure talks are picked on their advertised content, not by who is presenting.

    As mentioned, attendees will get to vote on the talks they wish to see. Talks will be selected by popular vote, but with some discretion by the organisers of the conference. The discretion is to ensure variety at the conference. If two or more talks are nearly exactly the same, the most popular will continue through and the next most popular, different talk will replace the one with identical content.

    We also ask that all talk submissions abide to the Code of Conduct. We want all attendees to feel comfortable at the event, so ask that no submissions or talks contain content of a graphic, violent or sexual nature or contain any language that may be considered marginalising or hateful. If you wouldn't want to say it to someone you respect, please don't include it in your submission. Organisers hold the right to remove anything that may be thought to cause distress.

    Making speaking accessible

    We would like to encourage more people to speak and to encourage a diverse range of backgrounds, experiences and tech related roles to come and share their learnings at our event. There are a number of ways in which we are trying to make speaking more accessible:

    • Offering mentors for speakers that are selected and request extra help.

    Speaking in front of a crowd of people isn't easy and we know it. There will be the option to highlight that you would like extra support, as a first-time speaker, or even just as someone who feels that they would benefit from it.

    The East Midlands is lucky to host some amazing (and incredibly generous) international and experienced speakers. Some of these fine people are donating their time to any speakers that indicate they want extra support. This support covers ways to address nerves, timing a talk, structuring the content of a talk, making sure your talk aligns to its description and more.

    • Arranging an optional workshop for all speakers to help them construct their talk.

    All selected speakers will be invited to an optional workshop before the event. This contains advise on subjects such as talk structure, presentation styles, designing your slides. This is made possible by our very kind Workshop Sponsor. More details will be described here closer to the event.

    \ No newline at end of file diff --git a/out/agenda/index.html b/out/agenda/index.html index 83a36bc1..a659eb30 100644 --- a/out/agenda/index.html +++ b/out/agenda/index.html @@ -1 +1 @@ -Agenda

    Head to this site to get the event app on your phone and create a personalised plan for the day. If accessing on your phone, then go to the three dots on your browser and use the "add to homescreen" option.

    \ No newline at end of file +Agenda

    Head to this site to get the event app on your phone and create a personalised plan for the day. If accessing on your phone, then go to the three dots on your browser and use the "add to homescreen" option.

    \ No newline at end of file diff --git a/out/code-of-conduct/index.html b/out/code-of-conduct/index.html index fb258d45..342f6240 100644 --- a/out/code-of-conduct/index.html +++ b/out/code-of-conduct/index.html @@ -1 +1 @@ -Code of Conduct

    TL;DR

    Treat everyone in a respectful and kind manner. Harassment and abuse are never tolerated. If you are in a situation that makes you uncomfortable at a DDD East Midlands event, if the event itself is creating an unsafe or inappropriate environment or you are made to feel uncomfortable by anyone at any of our events or in our online communities, please let a member of the event team know or contact and organiser.

    The Full Version

    Inclusivity is a core value of DDD East Midlands. We believe that every single person has the right to take part in DDD East Midlands events and online communities in a safe and welcoming environment.

    In order to avoid any situtations where an attendee may feel uncomfortable we ask that you not only treat others in the manner that you would expect to be treated, but also to respect what makes other people feel comfortable. As part of this we ask that speakers and representatives of the event try to refrain from language or actions that may be considered offensive. This includes swearing.

    Harassment includes but is not limited to offensive verbal or written comments related to gender, age, sexual orientation, sexual behaviour, disability, physical appearance, body size, race, religion, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.

    If what you’re doing is making someone feel uncomfortable, that counts as harassment and is enough reason to stop doing it.

    Participants asked to stop any harassing behaviour are expected to comply immediately. Sponsors, venue staff, speakers, volunteers, organisers, and anyone else at any of our events or in our online communities are also subject to the anti-harassment policy. In particular, attendees should not use sexualised images, humour, activities, or other material in presentations, during events and on our online community.

    If a participant engages in harassing behaviour, DDD East Midlands may take any action DDD East Midlands deems appropriate, including warning the offender or expulsion from the events and our online communities with no eligibility for reimbursement or refund of any type.

    If you are being harassed, notice that someone else is being harassed, or have any other concerns, please let a member of the event team know or contact and organiser.

    DDD East Midlands representatives will be happy to help participants contact venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe while involved in DDD East Midlands events and our online communities.

    The facilities provided at DDD East Midlands events, including networks, internet access, wifi, power supply, furniture, toilets and the physical environment in general, must be used with respect, in full accordance of the law, the terms of this document and any additional terms laid out at the event. When breaches of these terms take place DDD East Midlands may take any action DDD East Midlands deems appropriate, including warning the offender, expulsion from the events and our online communities with no eligibility for reimbursement or refund of any type, or even involving law enforcement.

    Reporting Code Of Conduct Violations

    If there is any circumstance where want to report a code of conduct violation, there are numerous people you can speak to at the event.

    • The volunteers of the conference
    • The conference organisers (Jessica / Moreton)

    Our volunteers are happy to listen to your concerns, though any concerns will ultimately be dealt with by the events organisers. All conversations around code of conduct violations will be dealt with sensitively and confidentially.

    If you are uncomfortable speaking in person you can contact us on Twitter or by email, but there is no guaruntee that messages will be dealt with in a timely manner on the day.

    Approaching People About Jobs

    At our events and on our online community it is not considered acceptable to approach people unsolicited about jobs, it doesn't make for a welcoming environment and it isn't what our community is for.

    Job promotions should include the name of the role, the name of the company and information about where people can find out more and apply.

    \ No newline at end of file +Code of Conduct

    TL;DR

    Treat everyone in a respectful and kind manner. Harassment and abuse are never tolerated. If you are in a situation that makes you uncomfortable at a DDD East Midlands event, if the event itself is creating an unsafe or inappropriate environment or you are made to feel uncomfortable by anyone at any of our events or in our online communities, please let a member of the event team know or contact and organiser.

    The Full Version

    Inclusivity is a core value of DDD East Midlands. We believe that every single person has the right to take part in DDD East Midlands events and online communities in a safe and welcoming environment.

    In order to avoid any situtations where an attendee may feel uncomfortable we ask that you not only treat others in the manner that you would expect to be treated, but also to respect what makes other people feel comfortable. As part of this we ask that speakers and representatives of the event try to refrain from language or actions that may be considered offensive. This includes swearing.

    Harassment includes but is not limited to offensive verbal or written comments related to gender, age, sexual orientation, sexual behaviour, disability, physical appearance, body size, race, religion, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.

    If what you’re doing is making someone feel uncomfortable, that counts as harassment and is enough reason to stop doing it.

    Participants asked to stop any harassing behaviour are expected to comply immediately. Sponsors, venue staff, speakers, volunteers, organisers, and anyone else at any of our events or in our online communities are also subject to the anti-harassment policy. In particular, attendees should not use sexualised images, humour, activities, or other material in presentations, during events and on our online community.

    If a participant engages in harassing behaviour, DDD East Midlands may take any action DDD East Midlands deems appropriate, including warning the offender or expulsion from the events and our online communities with no eligibility for reimbursement or refund of any type.

    If you are being harassed, notice that someone else is being harassed, or have any other concerns, please let a member of the event team know or contact and organiser.

    DDD East Midlands representatives will be happy to help participants contact venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe while involved in DDD East Midlands events and our online communities.

    The facilities provided at DDD East Midlands events, including networks, internet access, wifi, power supply, furniture, toilets and the physical environment in general, must be used with respect, in full accordance of the law, the terms of this document and any additional terms laid out at the event. When breaches of these terms take place DDD East Midlands may take any action DDD East Midlands deems appropriate, including warning the offender, expulsion from the events and our online communities with no eligibility for reimbursement or refund of any type, or even involving law enforcement.

    Reporting Code Of Conduct Violations

    If there is any circumstance where want to report a code of conduct violation, there are numerous people you can speak to at the event.

    • The volunteers of the conference
    • The conference organisers (Jessica / Moreton)

    Our volunteers are happy to listen to your concerns, though any concerns will ultimately be dealt with by the events organisers. All conversations around code of conduct violations will be dealt with sensitively and confidentially.

    If you are uncomfortable speaking in person you can contact us on Twitter or by email, but there is no guaruntee that messages will be dealt with in a timely manner on the day.

    Approaching People About Jobs

    At our events and on our online community it is not considered acceptable to approach people unsolicited about jobs, it doesn't make for a welcoming environment and it isn't what our community is for.

    Job promotions should include the name of the role, the name of the company and information about where people can find out more and apply.

    \ No newline at end of file diff --git a/out/contact/index.html b/out/contact/index.html index 6f1318b0..2703e56b 100644 --- a/out/contact/index.html +++ b/out/contact/index.html @@ -1 +1 @@ -Contact

    Contents

    On The Day

    DDD East Midlands Accounts

    Rachel Watson

    Jessica White

    Moreton Brockley

    On The Day

    The two best ways to get in contact with the organisers on the day are:

    • At the information desk.
    • Through the volunteers.

    We will try our upmost to always have one of us available at the information desk with the exception of during the opening and closing ceremonies.

    If you want to get to one of us in particular on the day, the best way to reach us it through a volunteer. The volunteers will have contact details for the organisers which aren't available on this page that the organisers will be monitoring more closely on the day than their social media accounts.

    DDD East Midlands Accounts

    Accounts Run By The Co-Organisers

    Rachel Watson

    Co-Organiser

    Jessica White

    Co-Founder and Co-Organiser

    Moreton Brockley

    Co-Founder and Co-Organiser

    \ No newline at end of file +Contact

    Contents

    On The Day

    DDD East Midlands Accounts

    Rachel Watson

    Jessica White

    Moreton Brockley

    On The Day

    The two best ways to get in contact with the organisers on the day are:

    • At the information desk.
    • Through the volunteers.

    We will try our upmost to always have one of us available at the information desk with the exception of during the opening and closing ceremonies.

    If you want to get to one of us in particular on the day, the best way to reach us it through a volunteer. The volunteers will have contact details for the organisers which aren't available on this page that the organisers will be monitoring more closely on the day than their social media accounts.

    DDD East Midlands Accounts

    Accounts Run By The Co-Organisers

    Rachel Watson

    Co-Organiser

    Jessica White

    Co-Founder and Co-Organiser

    Moreton Brockley

    Co-Founder and Co-Organiser

    \ No newline at end of file diff --git a/out/guides/crew/index.html b/out/guides/crew/index.html index 34bd4b41..2f32497a 100644 --- a/out/guides/crew/index.html +++ b/out/guides/crew/index.html @@ -1 +1 @@ -Crew Information

    Contents

    Introduction

    Important Links

    When and Where?

    Absence

    Duties

    Transport

    Catering

    Wifi

    Social Media and Photos

    Introduction

    Thank you.

    Without your support, there wouldn’t be a DDD East Midlands Conference. Thank you for being an involved and encouraging community.

    This is going to be a great day full of amazing talks, exhibition stalls and more. We can't wait to meet you all and hope you have a fantastic day.

    When and Where?

    When

    You will be organised into shifts that cover half the day. Morning shift comprised registration through to the start of lunch. Afternoon shift covers lunch through to helping tear down.

    Setup and orienteering

    6th October 2023 6:00pm - 8:00pm.

    Morning shift

    7th October 2023 8:30am - 1:00pm.

    Afternoon shift

    7th October 2023 1:00pm - 7:00pm.

    Where

    The Nottingham Conference Centre

    Absence

    If you can't make your shift/will be late please let the organisers know as soon as possible via the crew slack.

    Transport On The Day

    Taking the train

    Head to Nottingham Train Station

    Nottingham Station is the mainline train station close to Nottingham city centre. The train station is a 15 minute walk from Nottingham Conference Centre, but for those new to the city, it might be easier to take a taxi or use Nottingham’s tram NET (Nottingham Express Transit) system. Directions to the station tram stop are signposted throughout the train station building. The Conference Centre is located between the Royal Centre and Nottingham Trent University tram stop. Take a tram heading to either Phoenix Park or Hucknall. Exit the tram at the Royal Centre, continue down Goldsmith Street taking the first right turn onto Burton Street where you will find the Nottingham Conference Centre entrance on the left.

    Driving

    Directions to Park and Rides

    From the north, exit the M1 at junction 26 and follow the signs for the A610 towards Nottingham city centre.

    There is a Park and Ride (tram) facility situated close to the M1 junction 26. The Park and Ride (Phoenix Park) site is clearly sign-posted off the A610.

    Leave the tram at the Nottingham Trent University tram stop which is located on Goldsmith Street and walk past the main University entrance, turn left on to Burton Street where you will find the Nottingham Conference Centre entrance.

    From the south, exit the M1 at junction 24 and follow the signs for the A453 to Nottingham city centre.

    The Queen’s Drive Park and Ride is located just off the A453 (Queen’s Drive), follow signs for A453 / Queen’s Drive Industrial Estate and merge on to the A453 (Queen’s Drive). The Park and Ride is located on the opposite side of the road to the retail park and is clearly sign-posted.

    Alight from the Park and Ride bus on Lower Parliament Street (Victoria Centre); Nottingham Conference Centre is a short walk away.

    Car parks

    Car parks in the city centre are clearly signposted from all major approach routes. There are two car parks close to Nottingham Conference Centre, Trinity Square car park on North Church Street and Talbot Street car park. For satellite navigation systems please use the following information:

    Trinity Square car park: postcode NG1 4BR
    co-ordinates 52.956785,-1.149316

    Talbot Street car park: postcode NG1 5GG
    co-ordinates 52.956143,-1.154433

    Catering

    Food and Dietary Requirements

    Lunch and snacks will be provided on the day. This will be a hot buffet lunch and the options will be chefs choice on the day.

    All food is prepared in kitchens where nuts, gluten and other allergens could be present. As the menu descriptions cannot include all ingredients, we will try to cater to the requirements you listed as part of your ticket registration.

    Here is an example menu provided by the menu to give you an idea of what might be provided for lunch:

    • Stir fried vegetables and beans in a Korean style bulgogi sauce
    • Chicken, leek and mushroom pie topped with shortcrust pastry
    • Lamb rogan josh served with naan and mango chutney
    • Parmentier potatoes
    • Steamed coriander rice
    • Medley of garden vegetables
    • Carrot, spring onion and sultana salad
    • Spiced cous cous

    Alcohol

    We will not be serving alcohol as part of the event and ask that you don't bring any with you as we are not licenced.

    Coffee

    There is a coffee cart at the event being run by Cartwheel Coffee, thanks to our Sponsors UNiDAYS.

    Wifi

    There will be free Wifi on the day

    This is provided by the venue and we will give out details on the day.

    Social Media and Photos

    Feel free to take photos and post on social media before, after and during the event. There are just a few guidelines we ask you to respect.

    Photographs

    We will have a coloured lanyard system at the event to indicate whether attendees are OK with their photo being taken and used.

    • Green — It’s fine for their photo to be taken
    • Red — Do not include me in your photos or promotional material

    You will be able to pick your lanyard on registration.

    Social Media Posts

    Please use any of the below information to tag us. If using our hashtag or handles though, please avoid promoting anything that doesn’t align with our code of conduct.

    DDD East Midlands on Social Media

    Hashtags: #dddeastmidlands

    \ No newline at end of file +Crew Information

    Contents

    Introduction

    Important Links

    When and Where?

    Absence

    Duties

    Transport

    Catering

    Wifi

    Social Media and Photos

    Introduction

    Thank you.

    Without your support, there wouldn’t be a DDD East Midlands Conference. Thank you for being an involved and encouraging community.

    This is going to be a great day full of amazing talks, exhibition stalls and more. We can't wait to meet you all and hope you have a fantastic day.

    When and Where?

    When

    You will be organised into shifts that cover half the day. Morning shift comprised registration through to the start of lunch. Afternoon shift covers lunch through to helping tear down.

    Setup and orienteering

    6th October 2023 6:00pm - 8:00pm.

    Morning shift

    7th October 2023 8:30am - 1:00pm.

    Afternoon shift

    7th October 2023 1:00pm - 7:00pm.

    Where

    The Nottingham Conference Centre

    Absence

    If you can't make your shift/will be late please let the organisers know as soon as possible via the crew slack.

    Transport On The Day

    Taking the train

    Head to Nottingham Train Station

    Nottingham Station is the mainline train station close to Nottingham city centre. The train station is a 15 minute walk from Nottingham Conference Centre, but for those new to the city, it might be easier to take a taxi or use Nottingham’s tram NET (Nottingham Express Transit) system. Directions to the station tram stop are signposted throughout the train station building. The Conference Centre is located between the Royal Centre and Nottingham Trent University tram stop. Take a tram heading to either Phoenix Park or Hucknall. Exit the tram at the Royal Centre, continue down Goldsmith Street taking the first right turn onto Burton Street where you will find the Nottingham Conference Centre entrance on the left.

    Driving

    Directions to Park and Rides

    From the north, exit the M1 at junction 26 and follow the signs for the A610 towards Nottingham city centre.

    There is a Park and Ride (tram) facility situated close to the M1 junction 26. The Park and Ride (Phoenix Park) site is clearly sign-posted off the A610.

    Leave the tram at the Nottingham Trent University tram stop which is located on Goldsmith Street and walk past the main University entrance, turn left on to Burton Street where you will find the Nottingham Conference Centre entrance.

    From the south, exit the M1 at junction 24 and follow the signs for the A453 to Nottingham city centre.

    The Queen’s Drive Park and Ride is located just off the A453 (Queen’s Drive), follow signs for A453 / Queen’s Drive Industrial Estate and merge on to the A453 (Queen’s Drive). The Park and Ride is located on the opposite side of the road to the retail park and is clearly sign-posted.

    Alight from the Park and Ride bus on Lower Parliament Street (Victoria Centre); Nottingham Conference Centre is a short walk away.

    Car parks

    Car parks in the city centre are clearly signposted from all major approach routes. There are two car parks close to Nottingham Conference Centre, Trinity Square car park on North Church Street and Talbot Street car park. For satellite navigation systems please use the following information:

    Trinity Square car park: postcode NG1 4BR
    co-ordinates 52.956785,-1.149316

    Talbot Street car park: postcode NG1 5GG
    co-ordinates 52.956143,-1.154433

    Catering

    Food and Dietary Requirements

    Lunch and snacks will be provided on the day. This will be a hot buffet lunch and the options will be chefs choice on the day.

    All food is prepared in kitchens where nuts, gluten and other allergens could be present. As the menu descriptions cannot include all ingredients, we will try to cater to the requirements you listed as part of your ticket registration.

    Here is an example menu provided by the menu to give you an idea of what might be provided for lunch:

    • Stir fried vegetables and beans in a Korean style bulgogi sauce
    • Chicken, leek and mushroom pie topped with shortcrust pastry
    • Lamb rogan josh served with naan and mango chutney
    • Parmentier potatoes
    • Steamed coriander rice
    • Medley of garden vegetables
    • Carrot, spring onion and sultana salad
    • Spiced cous cous

    Alcohol

    We will not be serving alcohol as part of the event and ask that you don't bring any with you as we are not licenced.

    Coffee

    There is a coffee cart at the event being run by Cartwheel Coffee, thanks to our Sponsors UNiDAYS.

    Wifi

    There will be free Wifi on the day

    This is provided by the venue and we will give out details on the day.

    Social Media and Photos

    Feel free to take photos and post on social media before, after and during the event. There are just a few guidelines we ask you to respect.

    Photographs

    We will have a coloured lanyard system at the event to indicate whether attendees are OK with their photo being taken and used.

    • Green — It’s fine for their photo to be taken
    • Red — Do not include me in your photos or promotional material

    You will be able to pick your lanyard on registration.

    Social Media Posts

    Please use any of the below information to tag us. If using our hashtag or handles though, please avoid promoting anything that doesn’t align with our code of conduct.

    DDD East Midlands on Social Media

    Hashtags: #dddeastmidlands

    \ No newline at end of file diff --git a/out/guides/speakers/index.html b/out/guides/speakers/index.html index 1734aea5..2924069c 100644 --- a/out/guides/speakers/index.html +++ b/out/guides/speakers/index.html @@ -1 +1 @@ -Speaker Information

    Contents

    Important Links

    General

    Before The Conference

    The Day Of The Conference

    Social Media and Photos

    After The Conference Media

    Suggested Checklist

    Transport

    General

    Rooms

    Room 1 (Lecture Theatre 2)

    Seats up to 470 people

    Room 2 (Lecture Theatre 4)

    Seats up to 100 people

    Room 3 (Lecture Theatre 5)

    Seats up to 100 people

    Available Tech

    Screen sizes/aspect ratio

    All of these screens are widescreen and are a mixture of 16:9 or 16:10 aspect ratio.

    Adaptors (HDMI etc)

    All rooms have wireless capabilities for MAC and PC, they also have both HDMI and VGA adaptors. The main lecture theatre (Room 1/Lecture Theatre 2) has all of the above plus Mini Display Port and Mini HDMI. There is also a visualizer available in each Lecture Theatre.

    Microphones

    All rooms have the choice of clip-on, static or hand held microphones. Please let your AV support person/volunteer know if you have a preference.

    Wi-Fi

    We will email the Wi-Fi details shortly before the event.

    Before The Conference

    What we need to know

    • Is there sound/video in your presentation?

    What to prepare

    • The device (laptop/mac) your plan to present from.
    • A copy of your presentation on a usb stick (in case of emergency)
    • A clicker
    • If possible, get any electricals you will need on the day PAT Tested.

    The Day Of The Conference

    Letting us know you have arrived

    Check in at registration and come say hi at the information desk. We will ask you to do a flow test on arrival. You'll then be offered a arm band to show if you are social distancing or not, and your lanyard.

    At least one of the organisers will be at the registration desk in the morning.

    PAT Testing

    If you can, get any devices that will be plugged in PAT tested before the event.

    Due to venue insurance restrictions, we need to be sure that anything that may be plugged into a socket on the day either:

    • Has a current PAT test sticker/certificate
    • Is less than one year old. Please ensure that where electrical items are less than a year old, evidence of this is provided.

    This includes any laptop chargers or phone chargers.

    We will provide limited PAT testing on the day, with speakers being priority candidates for this service. This service will be available between 8.30am - 10.30am the day of the conference. Registration for the event opens to the general public at 8.00am so there is a window in the morning where exclusively speakers and exhibitors can queue to get their devices PAT tested.

    If you will need your laptop cables PAT tested but cannot make it to the venue between those hours, contact Jessica to arrange dropping off your chargers the evening before.

    Green Room

    There is a room for speakers to get some space.

    On the day there will be a speakers green room. Here you can practice or prepare for your talk, or just get some peace away from the hustle and bustle of the conference.

    Try out the visualiser

    A visualiser will be set up in the Speakers Green Room so that you can try it out before you do your talk.

    Arriving at the room

    Please arrive 10 - 15 minutes before your presentation.

    This is so that there is enough time to get you all set up.

    Introduce yourself to the crew member looking after your room.

    The crew member will make sure there is water, and will be happy to help you with your presentation needs. They will also help us make sure everything is running smoothly in your room. Please let them know if there is anything we can provide to help you.

    Meet the AV technician and get Mic'd up

    There are a variety of microphones available in each room. Clip-on, static and hand held are available, so please let the technicians know if you have a preference.

    Clickers

    You can bring your own clicker or we can provide one.

    We can provide 3 clickers for the day (one per room). So if you do use one of the clickers provided, please make sure it stays in the room for the next speaker who might need it.

    Q and A space

    Want a place where people can approach you with their questions after your talk?

    We'll provide a space in the breakout area with a table and chair. Book in a time slot with Jessica, and you can advertise during or at the end of your talk that you will be available there to be approached by attendees after your talk.

    Social Media and Photos

    Feel free to take photos and post on social media before, after and during the event. There are just a few guidelines we ask you to respect.

    Photographs

    We will have a coloured lanyard system at the event to indicate whether attendees are OK with their photo being taken and used.

    • Green — It’s fine for their photo to be taken
    • Red — Do not include me in your photos or promotional material

    You will be able to pick your lanyard on registration.

    Social Media Posts

    Please use any of the below information to tag us. If using our hashtag or handles though, please avoid promoting anything that doesn’t align with our code of conduct.

    DDD East Midlands on Social Media

    Hashtags: #dddeastmidlands

    After The Conference Media

    Videoed Talks

    All the talks are being videoed by the local company ShutterSocks. These will be posted on Vimeo as soon as they are available. There are a few reasons we are videoing the talks:

    • For future conference submissions. Often conference submissions are strengthened with the evidence of your presentation skills.
    • To keep the conversation going after the conference. Your talks can be shared with all those who might find them useful.

    Transport On The Day

    Taking the train

    Head to Nottingham Train Station

    Nottingham Station is the mainline train station close to Nottingham city centre. The train station is a 15 minute walk from Nottingham Conference Centre, but for those new to the city, it might be easier to take a taxi or use Nottingham’s tram NET (Nottingham Express Transit) system. Directions to the station tram stop are signposted throughout the train station building. The Conference Centre is located between the Royal Centre and Nottingham Trent University tram stop. Take a tram heading to either Phoenix Park or Hucknall. Exit the tram at the Royal Centre, continue down Goldsmith Street taking the first right turn onto Burton Street where you will find the Nottingham Conference Centre entrance on the left.

    Driving

    Directions to Park and Rides

    From the north, exit the M1 at junction 26 and follow the signs for the A610 towards Nottingham city centre.

    There is a Park and Ride (tram) facility situated close to the M1 junction 26. The Park and Ride (Phoenix Park) site is clearly sign-posted off the A610.

    Leave the tram at the Nottingham Trent University tram stop which is located on Goldsmith Street and walk past the main University entrance, turn left on to Burton Street where you will find the Nottingham Conference Centre entrance.

    From the south, exit the M1 at junction 24 and follow the signs for the A453 to Nottingham city centre.

    The Queen’s Drive Park and Ride is located just off the A453 (Queen’s Drive), follow signs for A453 / Queen’s Drive Industrial Estate and merge on to the A453 (Queen’s Drive). The Park and Ride is located on the opposite side of the road to the retail park and is clearly sign-posted.

    Alight from the Park and Ride bus on Lower Parliament Street (Victoria Centre); Nottingham Conference Centre is a short walk away.

    Car parks

    Car parks in the city centre are clearly signposted from all major approach routes. There are two car parks close to Nottingham Conference Centre, Trinity Square car park on North Church Street and Talbot Street car park. For satellite navigation systems please use the following information:

    Trinity Square car park: postcode NG1 4BR
    co-ordinates 52.956785,-1.149316

    Talbot Street car park: postcode NG1 5GG
    co-ordinates 52.956143,-1.154433

    \ No newline at end of file +Speaker Information

    Contents

    Important Links

    General

    Before The Conference

    The Day Of The Conference

    Social Media and Photos

    After The Conference Media

    Suggested Checklist

    Transport

    General

    Rooms

    Room 1 (Lecture Theatre 2)

    Seats up to 470 people

    Room 2 (Lecture Theatre 4)

    Seats up to 100 people

    Room 3 (Lecture Theatre 5)

    Seats up to 100 people

    Available Tech

    Screen sizes/aspect ratio

    All of these screens are widescreen and are a mixture of 16:9 or 16:10 aspect ratio.

    Adaptors (HDMI etc)

    All rooms have wireless capabilities for MAC and PC, they also have both HDMI and VGA adaptors. The main lecture theatre (Room 1/Lecture Theatre 2) has all of the above plus Mini Display Port and Mini HDMI. There is also a visualizer available in each Lecture Theatre.

    Microphones

    All rooms have the choice of clip-on, static or hand held microphones. Please let your AV support person/volunteer know if you have a preference.

    Wi-Fi

    We will email the Wi-Fi details shortly before the event.

    Before The Conference

    What we need to know

    • Is there sound/video in your presentation?

    What to prepare

    • The device (laptop/mac) your plan to present from.
    • A copy of your presentation on a usb stick (in case of emergency)
    • A clicker
    • If possible, get any electricals you will need on the day PAT Tested.

    The Day Of The Conference

    Letting us know you have arrived

    Check in at registration and come say hi at the information desk. We will ask you to do a flow test on arrival. You'll then be offered a arm band to show if you are social distancing or not, and your lanyard.

    At least one of the organisers will be at the registration desk in the morning.

    PAT Testing

    If you can, get any devices that will be plugged in PAT tested before the event.

    Due to venue insurance restrictions, we need to be sure that anything that may be plugged into a socket on the day either:

    • Has a current PAT test sticker/certificate
    • Is less than one year old. Please ensure that where electrical items are less than a year old, evidence of this is provided.

    This includes any laptop chargers or phone chargers.

    We will provide limited PAT testing on the day, with speakers being priority candidates for this service. This service will be available between 8.30am - 10.30am the day of the conference. Registration for the event opens to the general public at 8.00am so there is a window in the morning where exclusively speakers and exhibitors can queue to get their devices PAT tested.

    If you will need your laptop cables PAT tested but cannot make it to the venue between those hours, contact Jessica to arrange dropping off your chargers the evening before.

    Green Room

    There is a room for speakers to get some space.

    On the day there will be a speakers green room. Here you can practice or prepare for your talk, or just get some peace away from the hustle and bustle of the conference.

    Try out the visualiser

    A visualiser will be set up in the Speakers Green Room so that you can try it out before you do your talk.

    Arriving at the room

    Please arrive 10 - 15 minutes before your presentation.

    This is so that there is enough time to get you all set up.

    Introduce yourself to the crew member looking after your room.

    The crew member will make sure there is water, and will be happy to help you with your presentation needs. They will also help us make sure everything is running smoothly in your room. Please let them know if there is anything we can provide to help you.

    Meet the AV technician and get Mic'd up

    There are a variety of microphones available in each room. Clip-on, static and hand held are available, so please let the technicians know if you have a preference.

    Clickers

    You can bring your own clicker or we can provide one.

    We can provide 3 clickers for the day (one per room). So if you do use one of the clickers provided, please make sure it stays in the room for the next speaker who might need it.

    Q and A space

    Want a place where people can approach you with their questions after your talk?

    We'll provide a space in the breakout area with a table and chair. Book in a time slot with Jessica, and you can advertise during or at the end of your talk that you will be available there to be approached by attendees after your talk.

    Social Media and Photos

    Feel free to take photos and post on social media before, after and during the event. There are just a few guidelines we ask you to respect.

    Photographs

    We will have a coloured lanyard system at the event to indicate whether attendees are OK with their photo being taken and used.

    • Green — It’s fine for their photo to be taken
    • Red — Do not include me in your photos or promotional material

    You will be able to pick your lanyard on registration.

    Social Media Posts

    Please use any of the below information to tag us. If using our hashtag or handles though, please avoid promoting anything that doesn’t align with our code of conduct.

    DDD East Midlands on Social Media

    Hashtags: #dddeastmidlands

    After The Conference Media

    Videoed Talks

    All the talks are being videoed by the local company ShutterSocks. These will be posted on Vimeo as soon as they are available. There are a few reasons we are videoing the talks:

    • For future conference submissions. Often conference submissions are strengthened with the evidence of your presentation skills.
    • To keep the conversation going after the conference. Your talks can be shared with all those who might find them useful.

    Transport On The Day

    Taking the train

    Head to Nottingham Train Station

    Nottingham Station is the mainline train station close to Nottingham city centre. The train station is a 15 minute walk from Nottingham Conference Centre, but for those new to the city, it might be easier to take a taxi or use Nottingham’s tram NET (Nottingham Express Transit) system. Directions to the station tram stop are signposted throughout the train station building. The Conference Centre is located between the Royal Centre and Nottingham Trent University tram stop. Take a tram heading to either Phoenix Park or Hucknall. Exit the tram at the Royal Centre, continue down Goldsmith Street taking the first right turn onto Burton Street where you will find the Nottingham Conference Centre entrance on the left.

    Driving

    Directions to Park and Rides

    From the north, exit the M1 at junction 26 and follow the signs for the A610 towards Nottingham city centre.

    There is a Park and Ride (tram) facility situated close to the M1 junction 26. The Park and Ride (Phoenix Park) site is clearly sign-posted off the A610.

    Leave the tram at the Nottingham Trent University tram stop which is located on Goldsmith Street and walk past the main University entrance, turn left on to Burton Street where you will find the Nottingham Conference Centre entrance.

    From the south, exit the M1 at junction 24 and follow the signs for the A453 to Nottingham city centre.

    The Queen’s Drive Park and Ride is located just off the A453 (Queen’s Drive), follow signs for A453 / Queen’s Drive Industrial Estate and merge on to the A453 (Queen’s Drive). The Park and Ride is located on the opposite side of the road to the retail park and is clearly sign-posted.

    Alight from the Park and Ride bus on Lower Parliament Street (Victoria Centre); Nottingham Conference Centre is a short walk away.

    Car parks

    Car parks in the city centre are clearly signposted from all major approach routes. There are two car parks close to Nottingham Conference Centre, Trinity Square car park on North Church Street and Talbot Street car park. For satellite navigation systems please use the following information:

    Trinity Square car park: postcode NG1 4BR
    co-ordinates 52.956785,-1.149316

    Talbot Street car park: postcode NG1 5GG
    co-ordinates 52.956143,-1.154433

    \ No newline at end of file diff --git a/out/guides/sponsors/index.html b/out/guides/sponsors/index.html index 4eb9f704..6badaf6e 100644 --- a/out/guides/sponsors/index.html +++ b/out/guides/sponsors/index.html @@ -1 +1 @@ -Sponsor Information

    Contents

    Important Links

    Before The Conference

    Setup The Day Before Conference

    Transport On The Day

    Setup On The Day

    General Conference Day Information

    Exhibition Stalls

    Social Media and Photos

    Packing Up Day Of The Conference

    Contacts

    Before The Conference

    Tickets

    Certain tiers get guaranteed tickets to the conference. How many depends on the tier that you are sponsoring at. Rachel will provide you with your custom Eventbrite code to access your tickets with.

    What to do with the tickets

    If you have an exhibition booth we suggest you use tickets to ensure there are 2 - 3 people managing the booth.

    There are a number of ways you can use your remaining tickets:

    • Give them to internal employees.

      This conference is a great way for your employees to get free training, take part in valuable networking and have a lot of fun.

    • Run a competition.

      You could do this online using social media or something else. Use this opportunity to promote your company and give people a great impression.

    • Sponsor a diverse candidate.

      You could run a diversity scheme, to support people who want to come to the conference but haven't been able to get a ticket.

    • Donate to a meetup as a "sponsor prize".

      There are a multitude of meetups in the East Midlands who would love to give tickets to their attendees. To promote your own business and provide a great opportunity to someone you could provide tickets to a meetup as a prize.


    How to access tickets


    Screenshot of EventBrite screen
    • A new category of ticket should be displayed to you. Select the number you want and fill in the details on the form.

    If you are giving away tickets away as part of a promotion, competition or donation to meetup; then you can pass this code on to those who are taking the ticket.


    PAT Testing

    If you can, get any devices that will be plugged in PAT tested before the event.

    Due to venue insurance restrictions, we need to be sure that anything that may be plugged into a socket on the day either:

    • Has a current PAT test sticker/certificate
    • Is less than one year old. Please ensure that where electrical items are less than a year old, evidence of this is provided.

    This includes any laptop chargers or phone chargers.

    We will provide limited PAT testing on the day, with speakers being priority candidates for this service. This service will be available between 8.30am - 10.30am the day of the conference. Registration for the event opens to the general public at 9.00am so there is a window in the morning where exclusively speakers and exhibitors can queue to get their devices PAT tested.

    Setup The Day Before Conference

    Time To Setup

    You will be emailed a time slot closer to the event, in which you can set up your exhibition stall. This time slot will be somewhere between 18.00 – 21.30 on the 2nd of October (the night before the event).

    We have to arrange this into time slots due to the limited vehicle space at the venue. If there are any restrictions you have regarding time slot, please let us know in advance.

    On the day of the event, the organisers will be at the venue from 08.15. You may turn up any time from then. Attendee registration opens at 9.00am.

    Parking

    Please use the loading bay on South Sherwood Street during your allotted time.

    The entrance to the South Sherwood Street loading bay on a busy road and right next to a bus stop. We ask that you do not obstruct this entrance, but instead, only park within the loading bay.

    Please limit yourselves to using one vehicle at a time.

    Lift Restrictions

    Below are the lift restrictions. Please keep these in mind for anything you are bringing for your exhibition stall.

    LiftDimensionsMax Weight.
    Loading bay liftOpen topped x 1000 mm x 1470 mm1000 kg
    Newton lift doors2100 mm x 1100 mm1000 kg

    Transport On The Day

    Taking the train

    Head to Nottingham Train Station

    Nottingham Station is the mainline train station close to Nottingham city centre. The train station is a 15 minute walk from Nottingham Conference Centre, but for those new to the city, it might be easier to take a taxi or use Nottingham’s tram NET (Nottingham Express Transit) system. Directions to the station tram stop are signposted throughout the train station building. The Conference Centre is located between the Royal Centre and Nottingham Trent University tram stop. Take a tram heading to either Phoenix Park or Hucknall. Exit the tram at the Royal Centre, continue down Goldsmith Street taking the first right turn onto Burton Street where you will find the Nottingham Conference Centre entrance on the left.

    Driving

    Directions to Park and Rides

    From the north, exit the M1 at junction 26 and follow the signs for the A610 towards Nottingham city centre.

    There is a Park and Ride (tram) facility situated close to the M1 junction 26. The Park and Ride (Phoenix Park) site is clearly sign-posted off the A610.

    Leave the tram at the Nottingham Trent University tram stop which is located on Goldsmith Street and walk past the main University entrance, turn left on to Burton Street where you will find the Nottingham Conference Centre entrance.

    From the south, exit the M1 at junction 24 and follow the signs for the A453 to Nottingham city centre.

    The Queen’s Drive Park and Ride is located just off the A453 (Queen’s Drive), follow signs for A453 / Queen’s Drive Industrial Estate and merge on to the A453 (Queen’s Drive). The Park and Ride is located on the opposite side of the road to the retail park and is clearly sign-posted.

    Alight from the Park and Ride bus on Lower Parliament Street (Victoria Centre); Nottingham Conference Centre is a short walk away.

    Car parks

    Car parks in the city centre are clearly signposted from all major approach routes. There are two car parks close to Nottingham Conference Centre, Trinity Square car park on North Church Street and Talbot Street car park. For satellite navigation systems please use the following information:

    Trinity Square car park: postcode NG1 4BR
    co-ordinates 52.956785,-1.149316

    Talbot Street car park: postcode NG1 5GG
    co-ordinates 52.956143,-1.154433

    Setup On The Day

    Arrival

    You can arrive at the venue any time after 7.15am on the day of the event. This will give you the opportunity to do any last minute set up and settle in before registration opens at 9.00am.

    If you need to use the PAT testing service we are providing, that opens from 8.30am.

    Signing In

    All those who are looking after your exhibition booth that have a ticket through your sponsorship will have an Eventbrite ticket. On coming in, a crew member will scan the QR code on your Eventbrite ticket. You will then be directed to fill in your lanyards.

    General Conference Day Information

    Power

    There will be some electricity sockets available on the day. DDD East Midlands will provide extension cables on request if you will need multiple ports on the day. Please contact Jessica: jessica@dddeastmidlands.com at least two weeks prior to the event.

    Due to the venues insurance policy we require that any plugged in devices are PAT tested and have an in date sticker.

    We can provide PAT testing for a limited number of devices on the day, but priority will be given to speakers for the available slots. Where possible please have your devices that will be plugged in on the day PAT tested.

    Exhibition Stall Staff

    We expect that you have 1-3 people working at the exhibition stall. These are included in your ticket allowance for the event. Please have these people register their ticket at check-in on the day.

    Exhibitions stalls can be visited throughout the whole day, including during talk sessions. We expect you will be most busy during the breaks.

    Health and Safety

    There will be space behind exhibition stall partitions for storage. Passageways, stairways and fire exits shall be kept free of obstruction; all loose packaging must be removed to keep walkways free from tripping hazards.

    Exhibitors exhibit entirely at their own risk. Nottingham Conference Centre and DDD East Midlands are not liable for any losses or damage to property which may occur.

    In the opening ceremony, there will be a briefing about fire evacuation procedures. If you are unable to attend the opening ceremony please request this information from either Moreton or Jessica.

    Wifi

    Free Wi-Fi is supplied by the venue. There will be separate access codes provided for staff/exhibitors and attendees. Access details are provided on the day.

    Catering

    Lunch and snacks will be provided on the day.

    All food is prepared in kitchens where nuts, gluten and other allergens could be present. As the menu descriptions cannot include all ingredients, please let us know prior to arrival if any of your representatives have a food allergy, and we will try to cater to them.

    Exhibition Stalls

    Space

    The exhibition space you will have will be 3 meters x 2 meters.

    What Is Provided?

    • Provided table size: 170 cm x 150 cm
    • Grey poster boards. 7 foot tall by 3 foot wide.

    What Is Recommended To Bring?

    • Linen
    • Anything for decorating your exhibition stall and background screens (swag, banners, leaflets, promotional material).
    • (If included in your sponsorship) Banners away from your exhibition booth

    Restrictions

    • Please avoid bringing any displays with automatically moving parts, unless you can be assured that they will not be left unattended
    • The height/weight restrictions of the lifts.

    Social Media and Photos

    Feel free to take photos and post on social media before, after and during the event. There are just a few guidelines we ask you to respect.

    Photographs

    We will have a coloured lanyard system at the event to indicate whether attendees are OK with their photo being taken and used.

    • Green — It’s fine for their photo to be taken
    • Red — Do not include me in your photos or promotional material

    You will be able to pick your lanyard on registration.

    Social Media Posts

    Please use any of the below information to tag us. If using our hashtag or handles though, please avoid promoting anything that doesn’t align with our code of conduct.

    DDD East Midlands on Social Media

    Hashtags: #dddeastmidlands

    Packing Up Day Of The Conference

    Collecting your exhibition items.

    You will be emailed a time slot closer to the event, in which you can bring a vehicle to the venue to collect any remaining items from your exhibition stall. This time slot will be somewhere between 16.30 – 18.30 on the 2nd of October (the day of the event).

    We have to arrange this into time slots due to the limited vehicle space at the venue. If there are any restrictions you have regarding time slot, or you don’t think you will need one, please let us know in advance.

    Location: We ask that you use the loading bay on South Sherwood Street.

    Contact

    See the ways to contact the team on the Contact Us page.


    \ No newline at end of file +Sponsor Information

    Contents

    Important Links

    Before The Conference

    Setup The Day Before Conference

    Transport On The Day

    Setup On The Day

    General Conference Day Information

    Exhibition Stalls

    Social Media and Photos

    Packing Up Day Of The Conference

    Contacts

    Before The Conference

    Tickets

    Certain tiers get guaranteed tickets to the conference. How many depends on the tier that you are sponsoring at. Rachel will provide you with your custom Eventbrite code to access your tickets with.

    What to do with the tickets

    If you have an exhibition booth we suggest you use tickets to ensure there are 2 - 3 people managing the booth.

    There are a number of ways you can use your remaining tickets:

    • Give them to internal employees.

      This conference is a great way for your employees to get free training, take part in valuable networking and have a lot of fun.

    • Run a competition.

      You could do this online using social media or something else. Use this opportunity to promote your company and give people a great impression.

    • Sponsor a diverse candidate.

      You could run a diversity scheme, to support people who want to come to the conference but haven't been able to get a ticket.

    • Donate to a meetup as a "sponsor prize".

      There are a multitude of meetups in the East Midlands who would love to give tickets to their attendees. To promote your own business and provide a great opportunity to someone you could provide tickets to a meetup as a prize.


    How to access tickets


    Screenshot of EventBrite screen
    • A new category of ticket should be displayed to you. Select the number you want and fill in the details on the form.

    If you are giving away tickets away as part of a promotion, competition or donation to meetup; then you can pass this code on to those who are taking the ticket.


    PAT Testing

    If you can, get any devices that will be plugged in PAT tested before the event.

    Due to venue insurance restrictions, we need to be sure that anything that may be plugged into a socket on the day either:

    • Has a current PAT test sticker/certificate
    • Is less than one year old. Please ensure that where electrical items are less than a year old, evidence of this is provided.

    This includes any laptop chargers or phone chargers.

    We will provide limited PAT testing on the day, with speakers being priority candidates for this service. This service will be available between 8.30am - 10.30am the day of the conference. Registration for the event opens to the general public at 9.00am so there is a window in the morning where exclusively speakers and exhibitors can queue to get their devices PAT tested.

    Setup The Day Before Conference

    Time To Setup

    You will be emailed a time slot closer to the event, in which you can set up your exhibition stall. This time slot will be somewhere between 18.00 – 21.30 on the 2nd of October (the night before the event).

    We have to arrange this into time slots due to the limited vehicle space at the venue. If there are any restrictions you have regarding time slot, please let us know in advance.

    On the day of the event, the organisers will be at the venue from 08.15. You may turn up any time from then. Attendee registration opens at 9.00am.

    Parking

    Please use the loading bay on South Sherwood Street during your allotted time.

    The entrance to the South Sherwood Street loading bay on a busy road and right next to a bus stop. We ask that you do not obstruct this entrance, but instead, only park within the loading bay.

    Please limit yourselves to using one vehicle at a time.

    Lift Restrictions

    Below are the lift restrictions. Please keep these in mind for anything you are bringing for your exhibition stall.

    LiftDimensionsMax Weight.
    Loading bay liftOpen topped x 1000 mm x 1470 mm1000 kg
    Newton lift doors2100 mm x 1100 mm1000 kg

    Transport On The Day

    Taking the train

    Head to Nottingham Train Station

    Nottingham Station is the mainline train station close to Nottingham city centre. The train station is a 15 minute walk from Nottingham Conference Centre, but for those new to the city, it might be easier to take a taxi or use Nottingham’s tram NET (Nottingham Express Transit) system. Directions to the station tram stop are signposted throughout the train station building. The Conference Centre is located between the Royal Centre and Nottingham Trent University tram stop. Take a tram heading to either Phoenix Park or Hucknall. Exit the tram at the Royal Centre, continue down Goldsmith Street taking the first right turn onto Burton Street where you will find the Nottingham Conference Centre entrance on the left.

    Driving

    Directions to Park and Rides

    From the north, exit the M1 at junction 26 and follow the signs for the A610 towards Nottingham city centre.

    There is a Park and Ride (tram) facility situated close to the M1 junction 26. The Park and Ride (Phoenix Park) site is clearly sign-posted off the A610.

    Leave the tram at the Nottingham Trent University tram stop which is located on Goldsmith Street and walk past the main University entrance, turn left on to Burton Street where you will find the Nottingham Conference Centre entrance.

    From the south, exit the M1 at junction 24 and follow the signs for the A453 to Nottingham city centre.

    The Queen’s Drive Park and Ride is located just off the A453 (Queen’s Drive), follow signs for A453 / Queen’s Drive Industrial Estate and merge on to the A453 (Queen’s Drive). The Park and Ride is located on the opposite side of the road to the retail park and is clearly sign-posted.

    Alight from the Park and Ride bus on Lower Parliament Street (Victoria Centre); Nottingham Conference Centre is a short walk away.

    Car parks

    Car parks in the city centre are clearly signposted from all major approach routes. There are two car parks close to Nottingham Conference Centre, Trinity Square car park on North Church Street and Talbot Street car park. For satellite navigation systems please use the following information:

    Trinity Square car park: postcode NG1 4BR
    co-ordinates 52.956785,-1.149316

    Talbot Street car park: postcode NG1 5GG
    co-ordinates 52.956143,-1.154433

    Setup On The Day

    Arrival

    You can arrive at the venue any time after 7.15am on the day of the event. This will give you the opportunity to do any last minute set up and settle in before registration opens at 9.00am.

    If you need to use the PAT testing service we are providing, that opens from 8.30am.

    Signing In

    All those who are looking after your exhibition booth that have a ticket through your sponsorship will have an Eventbrite ticket. On coming in, a crew member will scan the QR code on your Eventbrite ticket. You will then be directed to fill in your lanyards.

    General Conference Day Information

    Power

    There will be some electricity sockets available on the day. DDD East Midlands will provide extension cables on request if you will need multiple ports on the day. Please contact Jessica: jessica@dddeastmidlands.com at least two weeks prior to the event.

    Due to the venues insurance policy we require that any plugged in devices are PAT tested and have an in date sticker.

    We can provide PAT testing for a limited number of devices on the day, but priority will be given to speakers for the available slots. Where possible please have your devices that will be plugged in on the day PAT tested.

    Exhibition Stall Staff

    We expect that you have 1-3 people working at the exhibition stall. These are included in your ticket allowance for the event. Please have these people register their ticket at check-in on the day.

    Exhibitions stalls can be visited throughout the whole day, including during talk sessions. We expect you will be most busy during the breaks.

    Health and Safety

    There will be space behind exhibition stall partitions for storage. Passageways, stairways and fire exits shall be kept free of obstruction; all loose packaging must be removed to keep walkways free from tripping hazards.

    Exhibitors exhibit entirely at their own risk. Nottingham Conference Centre and DDD East Midlands are not liable for any losses or damage to property which may occur.

    In the opening ceremony, there will be a briefing about fire evacuation procedures. If you are unable to attend the opening ceremony please request this information from either Moreton or Jessica.

    Wifi

    Free Wi-Fi is supplied by the venue. There will be separate access codes provided for staff/exhibitors and attendees. Access details are provided on the day.

    Catering

    Lunch and snacks will be provided on the day.

    All food is prepared in kitchens where nuts, gluten and other allergens could be present. As the menu descriptions cannot include all ingredients, please let us know prior to arrival if any of your representatives have a food allergy, and we will try to cater to them.

    Exhibition Stalls

    Space

    The exhibition space you will have will be 3 meters x 2 meters.

    What Is Provided?

    • Provided table size: 170 cm x 150 cm
    • Grey poster boards. 7 foot tall by 3 foot wide.

    What Is Recommended To Bring?

    • Linen
    • Anything for decorating your exhibition stall and background screens (swag, banners, leaflets, promotional material).
    • (If included in your sponsorship) Banners away from your exhibition booth

    Restrictions

    • Please avoid bringing any displays with automatically moving parts, unless you can be assured that they will not be left unattended
    • The height/weight restrictions of the lifts.

    Social Media and Photos

    Feel free to take photos and post on social media before, after and during the event. There are just a few guidelines we ask you to respect.

    Photographs

    We will have a coloured lanyard system at the event to indicate whether attendees are OK with their photo being taken and used.

    • Green — It’s fine for their photo to be taken
    • Red — Do not include me in your photos or promotional material

    You will be able to pick your lanyard on registration.

    Social Media Posts

    Please use any of the below information to tag us. If using our hashtag or handles though, please avoid promoting anything that doesn’t align with our code of conduct.

    DDD East Midlands on Social Media

    Hashtags: #dddeastmidlands

    Packing Up Day Of The Conference

    Collecting your exhibition items.

    You will be emailed a time slot closer to the event, in which you can bring a vehicle to the venue to collect any remaining items from your exhibition stall. This time slot will be somewhere between 16.30 – 18.30 on the 2nd of October (the day of the event).

    We have to arrange this into time slots due to the limited vehicle space at the venue. If there are any restrictions you have regarding time slot, or you don’t think you will need one, please let us know in advance.

    Location: We ask that you use the loading bay on South Sherwood Street.

    Contact

    See the ways to contact the team on the Contact Us page.


    \ No newline at end of file diff --git a/out/index.html b/out/index.html index c37c3b55..04e0473e 100644 --- a/out/index.html +++ b/out/index.html @@ -1 +1 @@ -DDD East Midlands

    Developer! Developer! Developer! East Midlands

    DDD East Midlands is an inclusive, not-for-profit technology conference that celebrates the unique tech, talent and companies that the East Midlands has to offer. This event is run by community members to promote collaboration and the amazing tech community that has already grown in the East Midlands.

    Event on hold

    The event is being transferred to new ownership. This requires some effort but currently plans are for the event to return with a new team in 2026.


    Principles

    This conference follows these DDD principles:

    • The event is hosted on a Saturdayk.
    • Tickets to attend the event are free.

    As well as these following principles:

    • All talk submissions are anonymous.
    • There is a anonymised democratic selection process for talks which involves attendees voting for what they want to see.
    • The event is arranged with the community in mind.

    \ No newline at end of file +DDD East Midlands

    Developer! Developer! Developer! East Midlands

    DDD East Midlands is an inclusive, not-for-profit technology conference that celebrates the unique tech, talent and companies that the East Midlands has to offer. This event is run by community members to promote collaboration and the amazing tech community that has already grown in the East Midlands.

    Event on hold

    The event is being transferred to new ownership. This requires some effort but currently plans are for the event to return with a new team in 2026.


    Principles

    This conference follows these DDD principles:

    • The event is hosted on a Saturdayk.
    • Tickets to attend the event are free.

    As well as these following principles:

    • All talk submissions are anonymous.
    • There is a anonymised democratic selection process for talks which involves attendees voting for what they want to see.
    • The event is arranged with the community in mind.

    \ No newline at end of file diff --git a/out/information/accessibility-information/index.html b/out/information/accessibility-information/index.html index c46cba59..4b21d27b 100644 --- a/out/information/accessibility-information/index.html +++ b/out/information/accessibility-information/index.html @@ -1 +1 @@ -Accessibility Information

    Contents

    Multi-faith/Quiet Contemplation Room

    Childcare

    Gendered Bathrooms

    Wheelchair Access

    Audio/Visual

    Dietary/Alcohol Concerns

    Assistance Animals

    Multi-faith/Quiet Contemplation Room

    Will be a place to pray available?

    There will be a prayer room available on the day. It will be marked on the maps and all volunteers will know where it will be located.

    Childcare

    Will childcare be available?

    Unfortunately we will not be able to provide childcare at this first event. The overhead and cost were too high on this instance, but we would love to find a way in the future. Accessibility is important to us and we would love to make it easier for parents to attend the conference.

    Gendered Bathrooms

    Are bathrooms gender neutral?

    Unfortunately, this isn't the case at this years event. The NCC is converting some of it's toilets to be gender neutral but this won't be in place until after the event.

    We ask that all attendees are respectful to other peoples gender identification and needs.

    Wheelchair Access

    What is wheelchair access like outside the venue?

    Both the Goldsmith Street entrance and the Burton street entrance are accessible and there are lifts to all levels. The wheelchair door on Burton Street is a push button entrance door.

    What is wheelchair access like inside the venue?

    Wheelchair access is good. There are no steps/lips on doors to watch out for.

    Are there accessible bathrooms for wheelchair users?

    There are on each level.

    Audio/Visual

    Do you have large print versions of your materials, flyers, resources etc?

    No. Unfortunately, with this being our first event, this is one level of complexity we won't be covering this year.

    Will you have audio-described resources?

    No. Unfortunately, with this being our first event, this is one level of complexity we won't be covering this year.

    Will talks be captioned?

    Currently unconfirmed. If the Inclusivity sponsorship option is paid for, then we will be providing captioning, but this is currently still available.

    Dietary/Alcohol Concerns

    Will dietary requirements be catered to?

    If you have indicated your dietary requirements in your Eventbrite registration, we will do our best to cater towards them.

    Are people welcome to bring their own food?

    Of course! We completely understand that there are various reasons people may want to bring their own food and drink. We will be catering for vegetarian, vegan and celiac dietary requirements at the event as far as we can.

    Are people going to be drinking/serving alcohol?

    We won't be providing alcohol at the event.

    Assistance Animals

    Are assistance animals allowed in the venue?

    They are yes - but only official assistance dogs.

    \ No newline at end of file +Accessibility Information

    Contents

    Multi-faith/Quiet Contemplation Room

    Childcare

    Gendered Bathrooms

    Wheelchair Access

    Audio/Visual

    Dietary/Alcohol Concerns

    Assistance Animals

    Multi-faith/Quiet Contemplation Room

    Will be a place to pray available?

    There will be a prayer room available on the day. It will be marked on the maps and all volunteers will know where it will be located.

    Childcare

    Will childcare be available?

    Unfortunately we will not be able to provide childcare at this first event. The overhead and cost were too high on this instance, but we would love to find a way in the future. Accessibility is important to us and we would love to make it easier for parents to attend the conference.

    Gendered Bathrooms

    Are bathrooms gender neutral?

    Unfortunately, this isn't the case at this years event. The NCC is converting some of it's toilets to be gender neutral but this won't be in place until after the event.

    We ask that all attendees are respectful to other peoples gender identification and needs.

    Wheelchair Access

    What is wheelchair access like outside the venue?

    Both the Goldsmith Street entrance and the Burton street entrance are accessible and there are lifts to all levels. The wheelchair door on Burton Street is a push button entrance door.

    What is wheelchair access like inside the venue?

    Wheelchair access is good. There are no steps/lips on doors to watch out for.

    Are there accessible bathrooms for wheelchair users?

    There are on each level.

    Audio/Visual

    Do you have large print versions of your materials, flyers, resources etc?

    No. Unfortunately, with this being our first event, this is one level of complexity we won't be covering this year.

    Will you have audio-described resources?

    No. Unfortunately, with this being our first event, this is one level of complexity we won't be covering this year.

    Will talks be captioned?

    Currently unconfirmed. If the Inclusivity sponsorship option is paid for, then we will be providing captioning, but this is currently still available.

    Dietary/Alcohol Concerns

    Will dietary requirements be catered to?

    If you have indicated your dietary requirements in your Eventbrite registration, we will do our best to cater towards them.

    Are people welcome to bring their own food?

    Of course! We completely understand that there are various reasons people may want to bring their own food and drink. We will be catering for vegetarian, vegan and celiac dietary requirements at the event as far as we can.

    Are people going to be drinking/serving alcohol?

    We won't be providing alcohol at the event.

    Assistance Animals

    Are assistance animals allowed in the venue?

    They are yes - but only official assistance dogs.

    \ No newline at end of file diff --git a/out/information/apply-to-speak/index.html b/out/information/apply-to-speak/index.html index 6e9c6d29..b506efe6 100644 --- a/out/information/apply-to-speak/index.html +++ b/out/information/apply-to-speak/index.html @@ -1 +1 @@ -Application Information

    Contents

    Frequently asked questions about submission.

    Frequently asked questions about submission.

    What is a CFP?

    CFP stands for Call for Papers. It's also known as Call For Speakers. It is the request for people to submit their talk ideas.

    When does the CFP Open?

    2nd April 2021

    When does the CFP Close?

    30th April 2021.

    How do I apply to talk?

    We use Sessionise for all talk submission and organisation. We will write a blog again this year on how to fill in this form.

    The talks are voted on by attendees through anonymous popularity vote. Only talk titles and descriptions will be displayed on a page which can be filtered by tag. Attendees will vote on what they want to see and the most popular talks will be selected. We ask you do not include any identifiable information in your titles and talks descriptions, and that you don't share the titles of your submissions on social media to help keep this fair. More can be read about this process in this blog post.

    We also ask that you ensure all submissions abide to our Code of Conduct.

    What are the options for talk length?

    Last year we only had the option to submit for hour long talks. We received feedback that this was intimidating to some people who otherwise would have submitted to the event.

    This year you can submit for:

    • 60 minute talks (ideally 45 minutes + time for Q and A)
    • 30 minute talks (ideally 20 minutes + time for Q and A)
    • 15 minute length talks.

    Can I present with a co-speaker?

    Yes you can!

    Can I submit more than one talk?

    One speaker can submit multiple talks, but if more than one talk gets into the top selected, only the most popular will be picked for presentation. We are limiting talks to one per speaker on the day.

    There is the option to submit with a co-speaker as well.

    Are travel and accommodation expenses provided for speakers?

    As we want to encourage local speakers and keep our costs low, we cannot provide expenses (i.e. travel and accommodation costs) to speakers.

    \ No newline at end of file +Application Information

    Contents

    Frequently asked questions about submission.

    Frequently asked questions about submission.

    What is a CFP?

    CFP stands for Call for Papers. It's also known as Call For Speakers. It is the request for people to submit their talk ideas.

    When does the CFP Open?

    2nd April 2021

    When does the CFP Close?

    30th April 2021.

    How do I apply to talk?

    We use Sessionise for all talk submission and organisation. We will write a blog again this year on how to fill in this form.

    The talks are voted on by attendees through anonymous popularity vote. Only talk titles and descriptions will be displayed on a page which can be filtered by tag. Attendees will vote on what they want to see and the most popular talks will be selected. We ask you do not include any identifiable information in your titles and talks descriptions, and that you don't share the titles of your submissions on social media to help keep this fair. More can be read about this process in this blog post.

    We also ask that you ensure all submissions abide to our Code of Conduct.

    What are the options for talk length?

    Last year we only had the option to submit for hour long talks. We received feedback that this was intimidating to some people who otherwise would have submitted to the event.

    This year you can submit for:

    • 60 minute talks (ideally 45 minutes + time for Q and A)
    • 30 minute talks (ideally 20 minutes + time for Q and A)
    • 15 minute length talks.

    Can I present with a co-speaker?

    Yes you can!

    Can I submit more than one talk?

    One speaker can submit multiple talks, but if more than one talk gets into the top selected, only the most popular will be picked for presentation. We are limiting talks to one per speaker on the day.

    There is the option to submit with a co-speaker as well.

    Are travel and accommodation expenses provided for speakers?

    As we want to encourage local speakers and keep our costs low, we cannot provide expenses (i.e. travel and accommodation costs) to speakers.

    \ No newline at end of file diff --git a/out/information/attendee-information/index.html b/out/information/attendee-information/index.html index 88c859e5..ace58f8d 100644 --- a/out/information/attendee-information/index.html +++ b/out/information/attendee-information/index.html @@ -1 +1 @@ -Attendee Information

    Contents

    Code of Conduct

    Age Restrictions

    Accessibility Concerns

    Tickets

    Before The Day

    Transport On The Day

    Coming To The Event

    Catering

    Wifi

    Social Media and Photos

    Code of Conduct

    Please familiarise yourself with the Code of Conduct.

    All involved in the DDD East Midlands Conference are subject to Code Of Conduct Page.This is not just for the day of the event, but for all presence of DDD East Midlands including Social Media.

    Please make sure you are familiar with it and adhere to it at all times to create the most inclusive and friendly event for all involved.

    Should you have any concerns regarding the Code of Conduct before, during or after the event, please contact the organisers. See the contact page for information.

    Age Restrictions

    For insurance reasons, only people over the age of 18 can attend DDD East Midlands. We would love to bring this age limit down in the future, but for the first event, we want to keep some of the cost and organisational overhead relatively low.

    Accessibility Concerns

    We have attempted to answer a number of questions around accessibility concerns see the accessibility page for more information.

    Tickets

    Using Tickets

    We are using Eventbrite for our ticketing. Registration will open from 8am. On entrance one of the crew of volunteers will ask to scan your QR code.

    Returning Tickets

    If for any reason you are no longer able to attend the conference, please return your ticket so that someone else can claim the place. We do pay per person, so this will have an impact on us if you can no longer attend but don't return the ticket.

    Waiting List

    The tickets for this event sold out within a day for both releases. If you were not lucky enough to get a ticket, pleasesign up to the waitlist here. If a ticket becomes available, and you are next on the waitlist you will recieve an email and given 24 hours to claim your ticket.

    Before The Day

    PAT Testing

    This point is particularly important if you are taking part in our "Hacktober Corner".

    Any devices that will be plugged in during the day need to be PAT tested. They need to have a valid visible sticker on them or a certificate present. Where possible, please try to get your devices PAT tested before the day. This includes any laptop chargers.

    There will be a limited amount of PAT testing available on the day. First priority will go to speakers and then to exhibitors.

    Transport On The Day

    Taking the train

    Head to Nottingham Train Station

    Nottingham Station is the mainline train station close to Nottingham city centre. The train station is a 15 minute walk from Nottingham Conference Centre, but for those new to the city, it might be easier to take a taxi or use Nottingham’s tram NET (Nottingham Express Transit) system. Directions to the station tram stop are signposted throughout the train station building. The Conference Centre is located between the Royal Centre and Nottingham Trent University tram stop. Take a tram heading to either Phoenix Park or Hucknall. Exit the tram at the Royal Centre, continue down Goldsmith Street taking the first right turn onto Burton Street where you will find the Nottingham Conference Centre entrance on the left.

    Driving

    Directions to Park and Rides

    From the north, exit the M1 at junction 26 and follow the signs for the A610 towards Nottingham city centre.

    There is a Park and Ride (tram) facility situated close to the M1 junction 26. The Park and Ride (Phoenix Park) site is clearly sign-posted off the A610.

    Leave the tram at the Nottingham Trent University tram stop which is located on Goldsmith Street and walk past the main University entrance, turn left on to Burton Street where you will find the Nottingham Conference Centre entrance.

    From the south, exit the M1 at junction 24 and follow the signs for the A453 to Nottingham city centre.

    The Queen’s Drive Park and Ride is located just off the A453 (Queen’s Drive), follow signs for A453 / Queen’s Drive Industrial Estate and merge on to the A453 (Queen’s Drive). The Park and Ride is located on the opposite side of the road to the retail park and is clearly sign-posted.

    Alight from the Park and Ride bus on Lower Parliament Street (Victoria Centre); Nottingham Conference Centre is a short walk away.

    Car parks

    Car parks in the city centre are clearly signposted from all major approach routes. There are two car parks close to Nottingham Conference Centre, Trinity Square car park on North Church Street and Talbot Street car park. For satellite navigation systems please use the following information:

    Trinity Square car park: postcode NG1 4BR
    co-ordinates 52.956785,-1.149316

    Talbot Street car park: postcode NG1 5GG
    co-ordinates 52.956143,-1.154433

    Coming To The Event

    Coffee Meet

    We know that it isn't always easy to walk into an event alone. One of our volunteers will be at the Costa near the venue to meet those who want to come to the conference with company. They will be heading off from Costa at 8.30 to walk to the venue and get you all signed in.

    Registration

    Registration opens at 8.00am with the opening ceremony starting at 9.00am. You will need your Eventbrite ticket as volunteers will be scanning the QR code.

    Once you have been scanned in you will be given a lanyard (the colour of which is based on whether you are happy having your photo taken or not) and asked to fill in the information on the front (Name, Pronoun).

    Catering

    Food and Dietary Requirements

    Lunch and snacks will be provided on the day. This will be a hot buffet lunch and the options will be chefs choice on the day.

    All food is prepared in kitchens where nuts, gluten and other allergens could be present. As the menu descriptions cannot include all ingredients, we will try to cater to the requirements you listed as part of your ticket registration.

    Here is an example menu provided by the menu to give you an idea of what might be provided for lunch:

    • Stir fried vegetables and beans in a Korean style bulgogi sauce
    • Chicken, leek and mushroom pie topped with shortcrust pastry
    • Lamb rogan josh served with naan and mango chutney
    • Parmentier potatoes
    • Steamed coriander rice
    • Medley of garden vegetables
    • Carrot, spring onion and sultana salad
    • Spiced cous cous

    Alcohol

    We will not be serving alcohol as part of the event and ask that you don't bring any with you as we are not licenced.

    Coffee

    There is a coffee cart at the event being run by Cartwheel Coffee, thanks to our Sponsors UNiDAYS.

    Wifi

    There will be free Wifi on the day

    This is provided by the venue and we will give out details on the day.

    Social Media and Photos

    Feel free to take photos and post on social media before, after and during the event. There are just a few guidelines we ask you to respect.

    Photographs

    We will have a coloured lanyard system at the event to indicate whether attendees are OK with their photo being taken and used.

    • Green — It’s fine for their photo to be taken
    • Red — Do not include me in your photos or promotional material

    You will be able to pick your lanyard on registration.

    Social Media Posts

    Please use any of the below information to tag us. If using our hashtag or handles though, please avoid promoting anything that doesn’t align with our code of conduct.

    DDD East Midlands on Social Media

    Hashtags: #dddeastmidlands

    \ No newline at end of file +Attendee Information

    Contents

    Code of Conduct

    Age Restrictions

    Accessibility Concerns

    Tickets

    Before The Day

    Transport On The Day

    Coming To The Event

    Catering

    Wifi

    Social Media and Photos

    Code of Conduct

    Please familiarise yourself with the Code of Conduct.

    All involved in the DDD East Midlands Conference are subject to Code Of Conduct Page.This is not just for the day of the event, but for all presence of DDD East Midlands including Social Media.

    Please make sure you are familiar with it and adhere to it at all times to create the most inclusive and friendly event for all involved.

    Should you have any concerns regarding the Code of Conduct before, during or after the event, please contact the organisers. See the contact page for information.

    Age Restrictions

    For insurance reasons, only people over the age of 18 can attend DDD East Midlands. We would love to bring this age limit down in the future, but for the first event, we want to keep some of the cost and organisational overhead relatively low.

    Accessibility Concerns

    We have attempted to answer a number of questions around accessibility concerns see the accessibility page for more information.

    Tickets

    Using Tickets

    We are using Eventbrite for our ticketing. Registration will open from 8am. On entrance one of the crew of volunteers will ask to scan your QR code.

    Returning Tickets

    If for any reason you are no longer able to attend the conference, please return your ticket so that someone else can claim the place. We do pay per person, so this will have an impact on us if you can no longer attend but don't return the ticket.

    Waiting List

    The tickets for this event sold out within a day for both releases. If you were not lucky enough to get a ticket, pleasesign up to the waitlist here. If a ticket becomes available, and you are next on the waitlist you will recieve an email and given 24 hours to claim your ticket.

    Before The Day

    PAT Testing

    This point is particularly important if you are taking part in our "Hacktober Corner".

    Any devices that will be plugged in during the day need to be PAT tested. They need to have a valid visible sticker on them or a certificate present. Where possible, please try to get your devices PAT tested before the day. This includes any laptop chargers.

    There will be a limited amount of PAT testing available on the day. First priority will go to speakers and then to exhibitors.

    Transport On The Day

    Taking the train

    Head to Nottingham Train Station

    Nottingham Station is the mainline train station close to Nottingham city centre. The train station is a 15 minute walk from Nottingham Conference Centre, but for those new to the city, it might be easier to take a taxi or use Nottingham’s tram NET (Nottingham Express Transit) system. Directions to the station tram stop are signposted throughout the train station building. The Conference Centre is located between the Royal Centre and Nottingham Trent University tram stop. Take a tram heading to either Phoenix Park or Hucknall. Exit the tram at the Royal Centre, continue down Goldsmith Street taking the first right turn onto Burton Street where you will find the Nottingham Conference Centre entrance on the left.

    Driving

    Directions to Park and Rides

    From the north, exit the M1 at junction 26 and follow the signs for the A610 towards Nottingham city centre.

    There is a Park and Ride (tram) facility situated close to the M1 junction 26. The Park and Ride (Phoenix Park) site is clearly sign-posted off the A610.

    Leave the tram at the Nottingham Trent University tram stop which is located on Goldsmith Street and walk past the main University entrance, turn left on to Burton Street where you will find the Nottingham Conference Centre entrance.

    From the south, exit the M1 at junction 24 and follow the signs for the A453 to Nottingham city centre.

    The Queen’s Drive Park and Ride is located just off the A453 (Queen’s Drive), follow signs for A453 / Queen’s Drive Industrial Estate and merge on to the A453 (Queen’s Drive). The Park and Ride is located on the opposite side of the road to the retail park and is clearly sign-posted.

    Alight from the Park and Ride bus on Lower Parliament Street (Victoria Centre); Nottingham Conference Centre is a short walk away.

    Car parks

    Car parks in the city centre are clearly signposted from all major approach routes. There are two car parks close to Nottingham Conference Centre, Trinity Square car park on North Church Street and Talbot Street car park. For satellite navigation systems please use the following information:

    Trinity Square car park: postcode NG1 4BR
    co-ordinates 52.956785,-1.149316

    Talbot Street car park: postcode NG1 5GG
    co-ordinates 52.956143,-1.154433

    Coming To The Event

    Coffee Meet

    We know that it isn't always easy to walk into an event alone. One of our volunteers will be at the Costa near the venue to meet those who want to come to the conference with company. They will be heading off from Costa at 8.30 to walk to the venue and get you all signed in.

    Registration

    Registration opens at 8.00am with the opening ceremony starting at 9.00am. You will need your Eventbrite ticket as volunteers will be scanning the QR code.

    Once you have been scanned in you will be given a lanyard (the colour of which is based on whether you are happy having your photo taken or not) and asked to fill in the information on the front (Name, Pronoun).

    Catering

    Food and Dietary Requirements

    Lunch and snacks will be provided on the day. This will be a hot buffet lunch and the options will be chefs choice on the day.

    All food is prepared in kitchens where nuts, gluten and other allergens could be present. As the menu descriptions cannot include all ingredients, we will try to cater to the requirements you listed as part of your ticket registration.

    Here is an example menu provided by the menu to give you an idea of what might be provided for lunch:

    • Stir fried vegetables and beans in a Korean style bulgogi sauce
    • Chicken, leek and mushroom pie topped with shortcrust pastry
    • Lamb rogan josh served with naan and mango chutney
    • Parmentier potatoes
    • Steamed coriander rice
    • Medley of garden vegetables
    • Carrot, spring onion and sultana salad
    • Spiced cous cous

    Alcohol

    We will not be serving alcohol as part of the event and ask that you don't bring any with you as we are not licenced.

    Coffee

    There is a coffee cart at the event being run by Cartwheel Coffee, thanks to our Sponsors UNiDAYS.

    Wifi

    There will be free Wifi on the day

    This is provided by the venue and we will give out details on the day.

    Social Media and Photos

    Feel free to take photos and post on social media before, after and during the event. There are just a few guidelines we ask you to respect.

    Photographs

    We will have a coloured lanyard system at the event to indicate whether attendees are OK with their photo being taken and used.

    • Green — It’s fine for their photo to be taken
    • Red — Do not include me in your photos or promotional material

    You will be able to pick your lanyard on registration.

    Social Media Posts

    Please use any of the below information to tag us. If using our hashtag or handles though, please avoid promoting anything that doesn’t align with our code of conduct.

    DDD East Midlands on Social Media

    Hashtags: #dddeastmidlands

    \ No newline at end of file diff --git a/out/information/covid-precautions/index.html b/out/information/covid-precautions/index.html index cb7361df..e0e02eb9 100644 --- a/out/information/covid-precautions/index.html +++ b/out/information/covid-precautions/index.html @@ -1 +1 @@ -Covid Precautions

    Covid Precautions

    Having spoken to several of our ticket holders we have found that we have several delegates with underlying health issues - including one of our organising team - and a lot of nervous attendees.

    DDD East Midlands Conference is an inclusive event to celebrate and explore the great technical talent across the region, so we don’t want you spending the day anxious about covid, we want you to be having fun!

    To ensure the event is as safe as possible for all in attendance we are taking the following precautions and ask that you help us by cooperating with them.

    On arrival at the event

    When you arrive we will do the following:


    Check your temperature

    We will do this by using a “thermometer gun,” a device that is equipped with an infrared sensor that can quickly measure surface temperature without making any contact with a person's skin.


    Prove you have had a negative result on a lateral flow test in the last 24-48 hours

    We would like you to do this by entering your negative result athttps://test-for-coronavirus.service.gov.uk/report-result/login-choice.From this you will receive an email or text message to confirm your negative result, which we would like you to show us upon arrival.

    If you cannot prove a negative lateral flow result we will have a testing area at the venue where you will be asked to do one in real time before joining the conference. Please bear in mind this will take 30 mins as a minimum so arrive early!


    Ask you to choose a wrist band.

    The wrist band will indicate if you are socially distancing or not.

    • Red band: Please keep your distance.
    • Green band: I'm not socially distancing.

    We thank you in advance for being respectful about peoples choices around their social distancing requirements.


    Throughout the day

    • It is not a socially distanced conference so there is no requirement for you to keep your distance from your friends, but please be respectful of others who may want to keep their distance.
    • Face mask wearing will be optional, depending on your comfort levels.
    • We will provide hand sanitiser around the venue for use throughout the day

    Thank you for your patience

    These additional checks will mean it takes a little longer to check you in than we would usually like, but hope you understand we are taking these precautions so that everyone feels safe and relaxed and can enjoy the event.

    \ No newline at end of file +Covid Precautions

    Covid Precautions

    Having spoken to several of our ticket holders we have found that we have several delegates with underlying health issues - including one of our organising team - and a lot of nervous attendees.

    DDD East Midlands Conference is an inclusive event to celebrate and explore the great technical talent across the region, so we don’t want you spending the day anxious about covid, we want you to be having fun!

    To ensure the event is as safe as possible for all in attendance we are taking the following precautions and ask that you help us by cooperating with them.

    On arrival at the event

    When you arrive we will do the following:


    Check your temperature

    We will do this by using a “thermometer gun,” a device that is equipped with an infrared sensor that can quickly measure surface temperature without making any contact with a person's skin.


    Prove you have had a negative result on a lateral flow test in the last 24-48 hours

    We would like you to do this by entering your negative result athttps://test-for-coronavirus.service.gov.uk/report-result/login-choice.From this you will receive an email or text message to confirm your negative result, which we would like you to show us upon arrival.

    If you cannot prove a negative lateral flow result we will have a testing area at the venue where you will be asked to do one in real time before joining the conference. Please bear in mind this will take 30 mins as a minimum so arrive early!


    Ask you to choose a wrist band.

    The wrist band will indicate if you are socially distancing or not.

    • Red band: Please keep your distance.
    • Green band: I'm not socially distancing.

    We thank you in advance for being respectful about peoples choices around their social distancing requirements.


    Throughout the day

    • It is not a socially distanced conference so there is no requirement for you to keep your distance from your friends, but please be respectful of others who may want to keep their distance.
    • Face mask wearing will be optional, depending on your comfort levels.
    • We will provide hand sanitiser around the venue for use throughout the day

    Thank you for your patience

    These additional checks will mean it takes a little longer to check you in than we would usually like, but hope you understand we are taking these precautions so that everyone feels safe and relaxed and can enjoy the event.

    \ No newline at end of file diff --git a/out/information/demographics/index.html b/out/information/demographics/index.html index 87171224..61c20e47 100644 --- a/out/information/demographics/index.html +++ b/out/information/demographics/index.html @@ -1 +1 @@ -Demographics

    Contents

    Attendee Statistics

    Talk Topics

    Attendee Statistics

    We have been asked about who comes to DDD East Midlands. All tech professionals are welcome but below is a high level view from Eventbrite information about who attends the conference.

    Job Titles

    From the past two events it can be seen that the attendence is very engineering heavy. There are all levels of a business that attend, with a good showing from Directors and Heads of department as well. 2021 had a wider range of professions joining the conference, which is a trend we would like to continue.

    2021

    Top 5 Job Titles

    2021 Talk Topic Votes

    Further breakdown

    Job TitlePercentage %
    Software Engineer (Graduate - Senior)47.2
    Director/VP/Founder6.3
    Recruitment Consultant6.3
    CTO/CEO5.6
    Head of Engineering5.6
    Software Engineer (Lead)4.2
    Architect3.5
    DevOps Engineer3.4
    Student2.8
    Product Manager2.8
    Delivery Manager2.8
    Designer1.4
    QA Engineer1.4

    2019

    2021 Talk Topic Votes
    Job TitlePercentage %
    Software Engineer (Graduate - Senior)47.0
    Director/VP/Founder8.5
    Head of Engineering7.0
    Software Engineer (Lead)5.6
    Student5.6
    Architect4.4
    Recruitment Consultant4.4
    CTO/CEO3.3
    Designer3.0
    QA Engineer2.2
    UX Consultant1.9
    Product Manager1.9
    DevOps Engineer1.9

    Attendee Pronouns

    2021

    In 2021 we had more people share their preferred pronoun with us with only 5.9% preferring not to share. As per usual the highest percentage was for those using He/Him pronouns at around 69%. She/Her was the preferred pronoun of 23% of attendees and 2% preferred They/Them.

    2019

    55% of the attendees did not provide their preferred pronoun on their ticket submission so it is hard to get an accurate view with that data. 12.2% of attendees put down She/Her or They/Them as their main pronoun, and 69% used the pronouns He/Him.

    Talk Statistics

    We collect statistics from Sessionize about the talks submitted, the level of "entry" for each talk and the speakers past experience / whether they request extra support. These stats help us notice trends in popular topics.

    2021

    Quite possibly because of the effects of the pandemic, but there was a larger sway towards the topics of management and core skills. People focused topics. Cloud was still high ranking as with the previous event, and there was a good mix of topics from different disciplines.

    2021 Talk Topic Votes

    Like the previous event, most of the talks submitted were at a beginners level. For the next event we will try to support potential speakers on submitting more advanced talk levels.

    2021 Difficulty Level of Talks Submitted

    2019

    Talks submitted all had a least one tag attached about its subject area. This graph shows the number of submissions with each tag, which shows a definite trend towards process, architecture and hosting. We encourage talks in all areas of technology, so we made efforts to see if we can make efforts to strengthen submissions in other areas as well.

    2019 Talk Topic Votes

    Another area of focus was that there would be talks at all levels for people to vote on and attend. The majority of talks were focused at an introductory level, which is normally beneficial to a lot of the audience. It is great that we had intermediate and advanced submissions as well, and would be great if we could get these proportions a bit higher.

    2019 Difficulty Level of Talks Submitted
    \ No newline at end of file +Demographics

    Contents

    Attendee Statistics

    Talk Topics

    Attendee Statistics

    We have been asked about who comes to DDD East Midlands. All tech professionals are welcome but below is a high level view from Eventbrite information about who attends the conference.

    Job Titles

    From the past two events it can be seen that the attendence is very engineering heavy. There are all levels of a business that attend, with a good showing from Directors and Heads of department as well. 2021 had a wider range of professions joining the conference, which is a trend we would like to continue.

    2021

    Top 5 Job Titles

    2021 Talk Topic Votes

    Further breakdown

    Job TitlePercentage %
    Software Engineer (Graduate - Senior)47.2
    Director/VP/Founder6.3
    Recruitment Consultant6.3
    CTO/CEO5.6
    Head of Engineering5.6
    Software Engineer (Lead)4.2
    Architect3.5
    DevOps Engineer3.4
    Student2.8
    Product Manager2.8
    Delivery Manager2.8
    Designer1.4
    QA Engineer1.4

    2019

    2021 Talk Topic Votes
    Job TitlePercentage %
    Software Engineer (Graduate - Senior)47.0
    Director/VP/Founder8.5
    Head of Engineering7.0
    Software Engineer (Lead)5.6
    Student5.6
    Architect4.4
    Recruitment Consultant4.4
    CTO/CEO3.3
    Designer3.0
    QA Engineer2.2
    UX Consultant1.9
    Product Manager1.9
    DevOps Engineer1.9

    Attendee Pronouns

    2021

    In 2021 we had more people share their preferred pronoun with us with only 5.9% preferring not to share. As per usual the highest percentage was for those using He/Him pronouns at around 69%. She/Her was the preferred pronoun of 23% of attendees and 2% preferred They/Them.

    2019

    55% of the attendees did not provide their preferred pronoun on their ticket submission so it is hard to get an accurate view with that data. 12.2% of attendees put down She/Her or They/Them as their main pronoun, and 69% used the pronouns He/Him.

    Talk Statistics

    We collect statistics from Sessionize about the talks submitted, the level of "entry" for each talk and the speakers past experience / whether they request extra support. These stats help us notice trends in popular topics.

    2021

    Quite possibly because of the effects of the pandemic, but there was a larger sway towards the topics of management and core skills. People focused topics. Cloud was still high ranking as with the previous event, and there was a good mix of topics from different disciplines.

    2021 Talk Topic Votes

    Like the previous event, most of the talks submitted were at a beginners level. For the next event we will try to support potential speakers on submitting more advanced talk levels.

    2021 Difficulty Level of Talks Submitted

    2019

    Talks submitted all had a least one tag attached about its subject area. This graph shows the number of submissions with each tag, which shows a definite trend towards process, architecture and hosting. We encourage talks in all areas of technology, so we made efforts to see if we can make efforts to strengthen submissions in other areas as well.

    2019 Talk Topic Votes

    Another area of focus was that there would be talks at all levels for people to vote on and attend. The majority of talks were focused at an introductory level, which is normally beneficial to a lot of the audience. It is great that we had intermediate and advanced submissions as well, and would be great if we could get these proportions a bit higher.

    2019 Difficulty Level of Talks Submitted
    \ No newline at end of file diff --git a/out/information/event-activities/index.html b/out/information/event-activities/index.html index adb4188f..7af72001 100644 --- a/out/information/event-activities/index.html +++ b/out/information/event-activities/index.html @@ -1 +1 @@ -Event Activities

    Each year we kick off the day with a keynote speaker to set the tone. Our keynote speakers in previous years have included Dylan Beattie and Tania Allard . Our 2023 keynote speaker will be announced soon…

    Over the years we have tried a variety of formats, including lightening talks, 30-minute talks, 45- minute talks and 60-minute talks.

    Based on feedback from previous years, for the event in 2023 there will be a mixture of 45-minute talks, 30-minute talks and lightning talks.

    We hope that offering a variety like this will not only encourage people to do their first talk, but also to further improve the diversity of the event.

    Some of the recorded talks from previous years can be viewed on our Youtube Channel:https://www.youtube.com/c/DDDEastMidlandsConference/videos

    Image of part of the exhibition space at DDD East Midlands 2021

    Exhibition Space

    The Exhibition Space has 6 stalls from our generous sponsors, a Hacktoberfest area, Coffee Stall from Cartwheel Coffee and new for 2023: a workshop space.

    In previous years our exhibitors have showcased their companies, products and employment opportunities in their own unique ways. These have included "why you should come to work and live in the East Midlands", a Mario Kart Competition, a giant game of jenga, an interactive "how far in have we zoomed?" competition, a sustainable toilet roll tower and much more…

    Hacktoberfest

    Hacktoberfest is a coding initiative run by GitHub and Practical Dev. As DDD East Midlands is a community event it's important to us to include a space where attendees can contribute and try new things while being supported.

    In this area we had a small activity that attendees could take part in, to add a selfie of themselves to page on the DDD East Midlands website. There were a couple of great volunteers who helped anyone who had never submitted a pull request to a repository before. They helped the attendees sign up to GitHub, sign up to Hacktoberfest and open their first PR.

    This year the area is supported by NewDay.

    Image of the three volunteers around the Hacktoberfest Stall

    Coffee and Catering

    Ok so not strictly an activity, but the coffee and food at our conferences is too good not to shout about it at every opportunity.

    The event has a very popular coffee cart, where local brewers Cartwheel Coffee supply the attendees, speakers and crew with some of the most delicious coffee you'll ever have the opportunity of having.

    There are also snacks provided through the day and a fully catered lunch provided by the venues caterers. These aren't dried sandwiches and pastries, but cooked meals, salads and delicious deserts. We ask for attendee catering needs before the event to ensure that no matter peoples intolerancies or eating requirements; nobody will go hungry.

    \ No newline at end of file +Event Activities

    Each year we kick off the day with a keynote speaker to set the tone. Our keynote speakers in previous years have included Dylan Beattie and Tania Allard . Our 2023 keynote speaker will be announced soon…

    Over the years we have tried a variety of formats, including lightening talks, 30-minute talks, 45- minute talks and 60-minute talks.

    Based on feedback from previous years, for the event in 2023 there will be a mixture of 45-minute talks, 30-minute talks and lightning talks.

    We hope that offering a variety like this will not only encourage people to do their first talk, but also to further improve the diversity of the event.

    Some of the recorded talks from previous years can be viewed on our Youtube Channel:https://www.youtube.com/c/DDDEastMidlandsConference/videos

    Image of part of the exhibition space at DDD East Midlands 2021

    Exhibition Space

    The Exhibition Space has 6 stalls from our generous sponsors, a Hacktoberfest area, Coffee Stall from Cartwheel Coffee and new for 2023: a workshop space.

    In previous years our exhibitors have showcased their companies, products and employment opportunities in their own unique ways. These have included "why you should come to work and live in the East Midlands", a Mario Kart Competition, a giant game of jenga, an interactive "how far in have we zoomed?" competition, a sustainable toilet roll tower and much more…

    Hacktoberfest

    Hacktoberfest is a coding initiative run by GitHub and Practical Dev. As DDD East Midlands is a community event it's important to us to include a space where attendees can contribute and try new things while being supported.

    In this area we had a small activity that attendees could take part in, to add a selfie of themselves to page on the DDD East Midlands website. There were a couple of great volunteers who helped anyone who had never submitted a pull request to a repository before. They helped the attendees sign up to GitHub, sign up to Hacktoberfest and open their first PR.

    This year the area is supported by NewDay.

    Image of the three volunteers around the Hacktoberfest Stall

    Coffee and Catering

    Ok so not strictly an activity, but the coffee and food at our conferences is too good not to shout about it at every opportunity.

    The event has a very popular coffee cart, where local brewers Cartwheel Coffee supply the attendees, speakers and crew with some of the most delicious coffee you'll ever have the opportunity of having.

    There are also snacks provided through the day and a fully catered lunch provided by the venues caterers. These aren't dried sandwiches and pastries, but cooked meals, salads and delicious deserts. We ask for attendee catering needs before the event to ensure that no matter peoples intolerancies or eating requirements; nobody will go hungry.

    \ No newline at end of file diff --git a/out/information/supporting-speakers/index.html b/out/information/supporting-speakers/index.html index 3ca00c49..c46c56f3 100644 --- a/out/information/supporting-speakers/index.html +++ b/out/information/supporting-speakers/index.html @@ -1 +1 @@ -Supporting Speakers

    DDD East Midlands will continue to make efforts for the event to be a positive and supportive experience for speakers.

    • Talks at local meetups on writing talk proposals and biographies.
    • Speakers Workshop.
    • Mentorship.

    From the organisers doing talks at local meetups on how to submit a good CFP through to a mentorship scheme for successful applicants before the event. The aim is to promote a variety of local speakers to submit, from the very experienced to the inexperienced, while guaranteeing high-quality talks.

    Talks at local meetups on how to write a high-quality CFP

    As active members of the local tech community, the organisers of DDD East Midlands want to make submitting to the event as accessible to as many people as possible, offering their own support and time to realise this.

    In previous years our organisers have toured around local meetups and universities giving guidance on what a good submission to speak should look like, and how to write one with your own personal style.

    Due to covid, this wasn't something that was possible for our 2021 event, however now meet-ups are starting to come back in-person, this is something we hope to revive for 2023, where relevant.

    There are some blog posts around the content here: https://blog.dddeastmidlands.com/tag/talking-tips

    Speakers Workshop

    As in previous years, all speakers will be invited to attend a workshop ahead of time, on how to structure and present a talk as part of our mentorship scheme for first-time speakers.

    Encouraging people to do their very first talk is something we continue to be passionate about, so speakers can indicate if they are first-time speakers and/or want additional support.

    We have some great mentors from the local community who are international speakers. They will help refine talk content and slides, as well as give feedback on how to improve the mentees presentation style.

    This workshop is run by Dylan Beattie and you can read about our 2019 workshop here: https://blog.dddeastmidlands.com/blog/recappin-post/

    \ No newline at end of file +Supporting Speakers

    DDD East Midlands will continue to make efforts for the event to be a positive and supportive experience for speakers.

    • Talks at local meetups on writing talk proposals and biographies.
    • Speakers Workshop.
    • Mentorship.

    From the organisers doing talks at local meetups on how to submit a good CFP through to a mentorship scheme for successful applicants before the event. The aim is to promote a variety of local speakers to submit, from the very experienced to the inexperienced, while guaranteeing high-quality talks.

    Talks at local meetups on how to write a high-quality CFP

    As active members of the local tech community, the organisers of DDD East Midlands want to make submitting to the event as accessible to as many people as possible, offering their own support and time to realise this.

    In previous years our organisers have toured around local meetups and universities giving guidance on what a good submission to speak should look like, and how to write one with your own personal style.

    Due to covid, this wasn't something that was possible for our 2021 event, however now meet-ups are starting to come back in-person, this is something we hope to revive for 2023, where relevant.

    There are some blog posts around the content here: https://blog.dddeastmidlands.com/tag/talking-tips

    Speakers Workshop

    As in previous years, all speakers will be invited to attend a workshop ahead of time, on how to structure and present a talk as part of our mentorship scheme for first-time speakers.

    Encouraging people to do their very first talk is something we continue to be passionate about, so speakers can indicate if they are first-time speakers and/or want additional support.

    We have some great mentors from the local community who are international speakers. They will help refine talk content and slides, as well as give feedback on how to improve the mentees presentation style.

    This workshop is run by Dylan Beattie and you can read about our 2019 workshop here: https://blog.dddeastmidlands.com/blog/recappin-post/

    \ No newline at end of file diff --git a/out/information/ticket-information/index.html b/out/information/ticket-information/index.html index 38478d74..f049b6d5 100644 --- a/out/information/ticket-information/index.html +++ b/out/information/ticket-information/index.html @@ -1 +1 @@ -Ticket Information

    Contents

    How much do tickets cost?

    When will tickets be released?

    What do if I can't come to the event anymore?

    How much do tickets cost?

    Tickets for the event will be free but limited in availability. We wanted to ensure that price wouldn't be a barrier for those wanting to attend.

    When will tickets be released?

    Before the next 2025 event.

    What do if I can't come to the event anymore?

    If you can no longer come to the event you (we are sad you can't make it!) please return your ticket so that someone else can claim it.

    You can return your ticket through a couple of ways:

    • Return it through Eventbrite.
    • Contact James and he can sort it out for you. Email - name @ dddeastmidlands . com
    \ No newline at end of file +Ticket Information

    Contents

    How much do tickets cost?

    When will tickets be released?

    What do if I can't come to the event anymore?

    How much do tickets cost?

    Tickets for the event will be free but limited in availability. We wanted to ensure that price wouldn't be a barrier for those wanting to attend.

    When will tickets be released?

    Before the next 2025 event.

    What do if I can't come to the event anymore?

    If you can no longer come to the event you (we are sad you can't make it!) please return your ticket so that someone else can claim it.

    You can return your ticket through a couple of ways:

    • Return it through Eventbrite.
    • Contact James and he can sort it out for you. Email - name @ dddeastmidlands . com
    \ No newline at end of file diff --git a/out/information/venue-information/index.html b/out/information/venue-information/index.html index 953437f8..a6a7abbf 100644 --- a/out/information/venue-information/index.html +++ b/out/information/venue-information/index.html @@ -1 +1 @@ -Venue

    How to find DDD East Midlands

    The venue for DDD is now part of NTU Events and Conferencing, formerly known as Nottingham Conference Centre. DDD takes place in the Nottingham Trent University Newton & Arkwright buildings, whose entrance is at 10 Goldsmith St, Nottingham NG1 4BU.

    Useful links

    The entrance is directly opposite St Andrews with Castle Gate URC Church.

    By rail

    Nottingham Station is the mainline train station close to Nottingham city centre. The train station is a 15 minute walk from the conference centre, but for those new to Nottingham it might be easier to take a taxi or use the Nottingham Express Transit (NET) system. Directions to the the station tram stop are signposted throughout the train station building. The conference venue is located between the Royal Centre and Nottingham Trent University tram stop. Take a tram heading to either Phoenix Park or Hucknall. Exit the tram at the Royal Centre, and continue along Goldsmith Street past Burton Street. The entrance is on your left, through the big glass doors marked "Nottingham Trent University Newton & Arkwright".

    By air

    The closest airport to Nottingham is East Midlands Airport which is 15 miles (approximately 24 kilometres) outside of the city. It takes about half an hour from there to travel into the city by car or bus. There is a Skylink bus service that runs every half hour from the airport into Nottingham city centre and stops a few minutes walk away from the conference venue.

    By car

    From the north, exit the M1 at junction 26 and follow the signs for the A610 towards Nottingham city centre.

    There is a Park and Ride (tram) facility situated close to the M1 junction 26. The Park and Ride (Phoenix Park) site is clearly sign-posted off the A610.

    Leave the tram at the Nottingham Trent University tram stop which is located on Goldsmith Street. Head south along Goldsmith Street. the entrance to DDD is on your right, opposite St Andrews URC Church.

    From the south, exit the M1 at junction 24 and follow the signs for the A453 to Nottingham city centre.

    The Queen’s Drive Park and Ride is located just off the A453 (Queen’s Drive), follow signs for A453 / Queen’s Drive Industrial Estate and merge on to the A453 (Queen’s Drive). The Park and Ride is located on the opposite side of the road to the retail park and is clearly sign-posted.

    Alight from the Park and Ride bus on Lower Parliament Street (Victoria Centre); The conference venue is a short walk away.

    Car parking

    Car parks in the city centre are clearly signposted from all major approach routes. There are two car parks close to venue; Trinity Square car park on North Church Street and Talbot Street car park. For satellite navigation systems please use the following information:

    Trinity Square car park: postcode NG1 4BR
    co-ordinates 52.956785,-1.149316

    Talbot Street car park: postcode NG1 5GG
    co-ordinates 52.956143,-1.154433

    \ No newline at end of file +Venue

    How to find DDD East Midlands

    The venue for DDD is now part of NTU Events and Conferencing, formerly known as Nottingham Conference Centre. DDD takes place in the Nottingham Trent University Newton & Arkwright buildings, whose entrance is at 10 Goldsmith St, Nottingham NG1 4BU.

    Useful links

    The entrance is directly opposite St Andrews with Castle Gate URC Church.

    By rail

    Nottingham Station is the mainline train station close to Nottingham city centre. The train station is a 15 minute walk from the conference centre, but for those new to Nottingham it might be easier to take a taxi or use the Nottingham Express Transit (NET) system. Directions to the the station tram stop are signposted throughout the train station building. The conference venue is located between the Royal Centre and Nottingham Trent University tram stop. Take a tram heading to either Phoenix Park or Hucknall. Exit the tram at the Royal Centre, and continue along Goldsmith Street past Burton Street. The entrance is on your left, through the big glass doors marked "Nottingham Trent University Newton & Arkwright".

    By air

    The closest airport to Nottingham is East Midlands Airport which is 15 miles (approximately 24 kilometres) outside of the city. It takes about half an hour from there to travel into the city by car or bus. There is a Skylink bus service that runs every half hour from the airport into Nottingham city centre and stops a few minutes walk away from the conference venue.

    By car

    From the north, exit the M1 at junction 26 and follow the signs for the A610 towards Nottingham city centre.

    There is a Park and Ride (tram) facility situated close to the M1 junction 26. The Park and Ride (Phoenix Park) site is clearly sign-posted off the A610.

    Leave the tram at the Nottingham Trent University tram stop which is located on Goldsmith Street. Head south along Goldsmith Street. the entrance to DDD is on your right, opposite St Andrews URC Church.

    From the south, exit the M1 at junction 24 and follow the signs for the A453 to Nottingham city centre.

    The Queen’s Drive Park and Ride is located just off the A453 (Queen’s Drive), follow signs for A453 / Queen’s Drive Industrial Estate and merge on to the A453 (Queen’s Drive). The Park and Ride is located on the opposite side of the road to the retail park and is clearly sign-posted.

    Alight from the Park and Ride bus on Lower Parliament Street (Victoria Centre); The conference venue is a short walk away.

    Car parking

    Car parks in the city centre are clearly signposted from all major approach routes. There are two car parks close to venue; Trinity Square car park on North Church Street and Talbot Street car park. For satellite navigation systems please use the following information:

    Trinity Square car park: postcode NG1 4BR
    co-ordinates 52.956785,-1.149316

    Talbot Street car park: postcode NG1 5GG
    co-ordinates 52.956143,-1.154433

    \ No newline at end of file diff --git a/out/organisers/james-hayward/index.html b/out/organisers/james-hayward/index.html index a7b85439..15239a8b 100644 --- a/out/organisers/james-hayward/index.html +++ b/out/organisers/james-hayward/index.html @@ -1 +1 @@ -James Hayward

    Project Manager

    Picture of James Hayward
    • Pronouns: He/Him

    About James

    James is a Learning Technology and Delivery Manager. He's an active member of the local community and arranges other events outside of this one. James has also volunteered at both the 2019 and 2021 event.

    James' Responsibilities

    Will be working closely with Jessica, ensuring everything happens on schedule and everyone knows what they need to do and when. Timelines, coordination with the venue, keeping in mind things like accessibility needs. Coordinating everything that makes the event a success.

    Links

    \ No newline at end of file +James Hayward

    Project Manager

    Picture of James Hayward
    • Pronouns: He/Him

    About James

    James is a Learning Technology and Delivery Manager. He's an active member of the local community and arranges other events outside of this one. James has also volunteered at both the 2019 and 2021 event.

    James' Responsibilities

    Will be working closely with Jessica, ensuring everything happens on schedule and everyone knows what they need to do and when. Timelines, coordination with the venue, keeping in mind things like accessibility needs. Coordinating everything that makes the event a success.

    Links

    \ No newline at end of file diff --git a/out/organisers/jessica-white/index.html b/out/organisers/jessica-white/index.html index 6155a78c..e8ee4207 100644 --- a/out/organisers/jessica-white/index.html +++ b/out/organisers/jessica-white/index.html @@ -1 +1 @@ -Jessica White

    Director/ Co-Founder / Co-Organiser

    Picture of Jessica White
    • Pronouns: She/Her

    About Jessica

    Fully caffeinated, Jessica is more whirling dervish than person. Professionally, she is a Technical Architect. Outside of work she is a Microsoft MVP, Mentor, Organiser, Gamer and avid reader.

    Jessica has a lot of event organisation experience. Having founded Women In Tech Nottinghamback in 2015, and running it for nearly 2 years, she has previous experience with running an inclusive event. She also co-organises the .NET Notts meetup in Nottingham.

    Jessica's Responsibilities

    • Partner Agreements and outreach
    • Scheduling
    • Contracts
    • Social Media
    • Staffing
    • Managing the Open Source Repositories
    • Speaker Management

    Links

    \ No newline at end of file +Jessica White

    Director/ Co-Founder / Co-Organiser

    Picture of Jessica White
    • Pronouns: She/Her

    About Jessica

    Fully caffeinated, Jessica is more whirling dervish than person. Professionally, she is a Technical Architect. Outside of work she is a Microsoft MVP, Mentor, Organiser, Gamer and avid reader.

    Jessica has a lot of event organisation experience. Having founded Women In Tech Nottinghamback in 2015, and running it for nearly 2 years, she has previous experience with running an inclusive event. She also co-organises the .NET Notts meetup in Nottingham.

    Jessica's Responsibilities

    • Partner Agreements and outreach
    • Scheduling
    • Contracts
    • Social Media
    • Staffing
    • Managing the Open Source Repositories
    • Speaker Management

    Links

    \ No newline at end of file diff --git a/out/organisers/mia-gordon/index.html b/out/organisers/mia-gordon/index.html index dba7d07f..d2914615 100644 --- a/out/organisers/mia-gordon/index.html +++ b/out/organisers/mia-gordon/index.html @@ -1 +1 @@ -Mia Gordon

    Social Responsibility Manager

    Picture of Mia Gordon
    • Pronouns: She/Her

    About Mia

    Mia is a developer, and joined the organisation committee ready for the 2023 event.

    Mia's Responsibilities

    Organising outreach. This can include working with universities, boot camps, organisations such as Coding Black Females. Helping us get a diverse range of speakers and publicising great initiatives.

    \ No newline at end of file +Mia Gordon

    Social Responsibility Manager

    Picture of Mia Gordon
    • Pronouns: She/Her

    About Mia

    Mia is a developer, and joined the organisation committee ready for the 2023 event.

    Mia's Responsibilities

    Organising outreach. This can include working with universities, boot camps, organisations such as Coding Black Females. Helping us get a diverse range of speakers and publicising great initiatives.

    \ No newline at end of file diff --git a/out/organisers/moreton-brockley/index.html b/out/organisers/moreton-brockley/index.html index 339c744a..f7285c13 100644 --- a/out/organisers/moreton-brockley/index.html +++ b/out/organisers/moreton-brockley/index.html @@ -1 +1 @@ -Moreton Brockley

    Directior/ Co-Founder / Co-Organiser

    Picture of Moreton Brockley
    • Pronouns: He/Him

    About Moreton

    A Principle Developer, Moreton is the sensible head of the co-founders. He is the number whizz and the fashion guru. Seriously, check out his Ninja Turtle Doc Martens. You may (not) recognise Moreton from his performance at 2018's Hack24 as Mr Blobby.

    Moreton's Responsibilities

    • Accountancy
    • Budgeting
    • Scheduling

    Links

    \ No newline at end of file +Moreton Brockley

    Directior/ Co-Founder / Co-Organiser

    Picture of Moreton Brockley
    • Pronouns: He/Him

    About Moreton

    A Principle Developer, Moreton is the sensible head of the co-founders. He is the number whizz and the fashion guru. Seriously, check out his Ninja Turtle Doc Martens. You may (not) recognise Moreton from his performance at 2018's Hack24 as Mr Blobby.

    Moreton's Responsibilities

    • Accountancy
    • Budgeting
    • Scheduling

    Links

    \ No newline at end of file diff --git a/out/organisers/rachel-watson/index.html b/out/organisers/rachel-watson/index.html index a72a940f..677f0b6e 100644 --- a/out/organisers/rachel-watson/index.html +++ b/out/organisers/rachel-watson/index.html @@ -1 +1 @@ -Rachel Watson

    Co-Organiser and Chief of Communications

    Picture of Rachel Watson
    • Pronouns: She/Her

    About Rachel

    Rachel joined for the 2021 event. She is an excellent and ethical recruiter as a day job. If you have any need for a new role, reach out to her and she'll do her best to help connect you to great local companies.

    Rachel's Responsibilities

    Coordinating all the DDD East Midlands correspondence with sponsors and partners, making sure the experience is as seamless as possibles. Also helping on the run up to the event to ensure everyone involved has what they need and are prepared to contribute to make it a great event.

    Links

    \ No newline at end of file +Rachel Watson

    Co-Organiser and Chief of Communications

    Picture of Rachel Watson
    • Pronouns: She/Her

    About Rachel

    Rachel joined for the 2021 event. She is an excellent and ethical recruiter as a day job. If you have any need for a new role, reach out to her and she'll do her best to help connect you to great local companies.

    Rachel's Responsibilities

    Coordinating all the DDD East Midlands correspondence with sponsors and partners, making sure the experience is as seamless as possibles. Also helping on the run up to the event to ensure everyone involved has what they need and are prepared to contribute to make it a great event.

    Links

    \ No newline at end of file diff --git a/out/organisers/steven-pears/index.html b/out/organisers/steven-pears/index.html index c77e7b07..cece14be 100644 --- a/out/organisers/steven-pears/index.html +++ b/out/organisers/steven-pears/index.html @@ -1 +1 @@ -Steven Pears

    Contracts and Finances Manager

    Picture of Steven Pears
    • Pronouns: He/Him

    About Steve

    Steve (or StoiveyP) is a Technical Architect and active member of the local community. He has volunteered at the 2019 and 2021 DDD East Midlands Conferences and provided a lot of coffee to Jessica during the events. Steve is also a Microsoft MVP and experienced public speaker.

    Steven's Responsibilities

    Will be working closely with Moreton to manage the events contracts, budgets, payments and anything else financial.

    Links

    \ No newline at end of file +Steven Pears

    Contracts and Finances Manager

    Picture of Steven Pears
    • Pronouns: He/Him

    About Steve

    Steve (or StoiveyP) is a Technical Architect and active member of the local community. He has volunteered at the 2019 and 2021 DDD East Midlands Conferences and provided a lot of coffee to Jessica during the events. Steve is also a Microsoft MVP and experienced public speaker.

    Steven's Responsibilities

    Will be working closely with Moreton to manage the events contracts, budgets, payments and anything else financial.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/album/index.html b/out/pastconferences/album/index.html index 8dc15fff..dd724750 100644 --- a/out/pastconferences/album/index.html +++ b/out/pastconferences/album/index.html @@ -1 +1 @@ -Photographs from Previous DDD East Midlands events

    Please do not use the images for any marketing or commercial purposes.

    2023

    Photographs by Kirsty Rocket.

    2021

    Photographs by Andrew Acford.

    2019

    Photographs by Andrew Acford.

    \ No newline at end of file +Photographs from Previous DDD East Midlands events

    Please do not use the images for any marketing or commercial purposes.

    2023

    Photographs by Kirsty Rocket.

    2021

    Photographs by Andrew Acford.

    2019

    Photographs by Andrew Acford.

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/anthony-dang/index.html b/out/pastconferences/pastspeakers/2019/anthony-dang/index.html index 23eb0008..3de9736a 100644 --- a/out/pastconferences/pastspeakers/2019/anthony-dang/index.html +++ b/out/pastconferences/pastspeakers/2019/anthony-dang/index.html @@ -1 +1 @@ -Anthony Dang
    Picture of Anthony Dang
    • Pronouns: He/Him
    • Talk Length: 60 minute

    Cache me outside - Caching Methodologies and Architectures

    Caching can be your best-friend or your worst best-friend. A poor cache implementation can mean the difference between experiencing blazing fast performance or unexplained random slowness, or both! It can even result in random stale (out of date) content which you can’t explain.

    In this presentation we will demo and compare different caching methodologies, and their perceived real world uses. We will discuss Donut cache, Memory cache, Redis, Varnish, CDNs, and many more. We will dive into demos of real world implementations which can cause unpredictable problems. Some of these are horrible, and some are face-palm.

    At the end of this presentation you will be aware of the different trade-offs with each caching methodology, and which might best for your situation.

    About Anthony

    Head of Development

    Anthony is the Technical Director at Radley Yeldar (London, UK). He writes tech articles, and is a regular presenter at conferences and meetups. He loves automation and development processes, experienced in scaling high performing teams across multiple countries, a Scrum certified Agile enthusiast, and a vocal proponent of Behaviour Driven Development. Originally from Sydney, Australia, he is now based in London.

    Video from 2019

    Links

    \ No newline at end of file +Anthony Dang
    Picture of Anthony Dang
    • Pronouns: He/Him
    • Talk Length: 60 minute

    Cache me outside - Caching Methodologies and Architectures

    Caching can be your best-friend or your worst best-friend. A poor cache implementation can mean the difference between experiencing blazing fast performance or unexplained random slowness, or both! It can even result in random stale (out of date) content which you can’t explain.

    In this presentation we will demo and compare different caching methodologies, and their perceived real world uses. We will discuss Donut cache, Memory cache, Redis, Varnish, CDNs, and many more. We will dive into demos of real world implementations which can cause unpredictable problems. Some of these are horrible, and some are face-palm.

    At the end of this presentation you will be aware of the different trade-offs with each caching methodology, and which might best for your situation.

    About Anthony

    Head of Development

    Anthony is the Technical Director at Radley Yeldar (London, UK). He writes tech articles, and is a regular presenter at conferences and meetups. He loves automation and development processes, experienced in scaling high performing teams across multiple countries, a Scrum certified Agile enthusiast, and a vocal proponent of Behaviour Driven Development. Originally from Sydney, Australia, he is now based in London.

    Video from 2019

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/cara-holland/index.html b/out/pastconferences/pastspeakers/2019/cara-holland/index.html index 79aa6d44..a9dcbd5e 100644 --- a/out/pastconferences/pastspeakers/2019/cara-holland/index.html +++ b/out/pastconferences/pastspeakers/2019/cara-holland/index.html @@ -1 +1 @@ -Cara Holland
    Picture of Cara Holland
    • Pronouns: She/Her
    • Talk Length: 60 minute

    Draw UX (or how to get your visual thinking groove on)

    Working visually is a super power. It increases your ability to understand and share complex information, think creatively and collaborate effectively. But for lots of adults drawing at work is a huge step outside of their comfort zone.

    I'm a business visualiser who draws, writes and trains.

    In this session I will show you how to use visual skills throughout the UX journey, transforming your engagement and problem solving skills, and how you already have the functional drawing ability you need, even if you can barely draw a stick. Honest.

    By the end of this session you will understand WHY working visually is so effective, but more importantly you'll get to see HOW it works by trying out visual exericises yourself.

    About Cara

    Founder and head doodler at Graphic Change

    Founder, trainer and author of best selling book Draw a Better Business, Cara Holland has been working visually with companies as varied as Google and the NHS for the last 13 years. She also co-runs the Graphic Change Academy which has trained people in over 69 countries how to start drawing at work.

    Video from 2019

    Links

    \ No newline at end of file +Cara Holland
    Picture of Cara Holland
    • Pronouns: She/Her
    • Talk Length: 60 minute

    Draw UX (or how to get your visual thinking groove on)

    Working visually is a super power. It increases your ability to understand and share complex information, think creatively and collaborate effectively. But for lots of adults drawing at work is a huge step outside of their comfort zone.

    I'm a business visualiser who draws, writes and trains.

    In this session I will show you how to use visual skills throughout the UX journey, transforming your engagement and problem solving skills, and how you already have the functional drawing ability you need, even if you can barely draw a stick. Honest.

    By the end of this session you will understand WHY working visually is so effective, but more importantly you'll get to see HOW it works by trying out visual exericises yourself.

    About Cara

    Founder and head doodler at Graphic Change

    Founder, trainer and author of best selling book Draw a Better Business, Cara Holland has been working visually with companies as varied as Google and the NHS for the last 13 years. She also co-runs the Graphic Change Academy which has trained people in over 69 countries how to start drawing at work.

    Video from 2019

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/dylan-beattie/index.html b/out/pastconferences/pastspeakers/2019/dylan-beattie/index.html index 4f3ee8a2..0e6ba5c1 100644 --- a/out/pastconferences/pastspeakers/2019/dylan-beattie/index.html +++ b/out/pastconferences/pastspeakers/2019/dylan-beattie/index.html @@ -1 +1 @@ -Dylan Beattie
    Picture of Dylan Beattie
    • Pronouns: He/Him
    • Talk Length: 60 minute Keynote

    The Art of Code

    Software and technology has changed every aspect of the world we live in. At one extreme are the ‘mission critical’ applications - the code that runs our banks, our hospitals, our airports and phone networks. Then there’s the code we all use every day to browse the web, watch movies, create spreadsheets… not quite so critical, but still code that solves problems and delivers services.

    But what about the code that only exists because somebody wanted to write it? Code created just to make people smile, laugh, maybe even dance? Maybe even code that does nothing at all, created just to see if it was possible?

    Join Dylan Beattie - programmer, musician, and creator of the Rockstar programming language - for an entertaining look at the art of code. We’ll look at the origins of programming as an art form, from Conway's Game of Life to the 1970s demoscene and the earliest Obfuscated C competitions. We’ll talk about esoteric languages and quines - how DO you create a program that prints its own source code? We’ll look at quine relays, code golf and generative art, and we’ll explore the phenomenon of live coding as performance - from the pioneers of electronic music to modern algoraves and live coding platforms like Sonic Pi.

    About Dylan

    Software Architect

    Dylan wrote his first web page in 1992 and never looked back. He's been building data-driven web applications since the late 1990s, and has worked on everything from tiny standalone websites to complex distributed systems. He's the CTO at Skills Matter in London, he's a Microsoft MVP, and he's a regular speaker at conferences and user groups, where he's spoken about topics from continuous delivery and Conway's Law to the history of the web, federated authentication and hypermedia APIs. When he's not wrangling code, Dylan plays guitar and writes songs about code.

    Video from 2019

    Links

    \ No newline at end of file +Dylan Beattie
    Picture of Dylan Beattie
    • Pronouns: He/Him
    • Talk Length: 60 minute Keynote

    The Art of Code

    Software and technology has changed every aspect of the world we live in. At one extreme are the ‘mission critical’ applications - the code that runs our banks, our hospitals, our airports and phone networks. Then there’s the code we all use every day to browse the web, watch movies, create spreadsheets… not quite so critical, but still code that solves problems and delivers services.

    But what about the code that only exists because somebody wanted to write it? Code created just to make people smile, laugh, maybe even dance? Maybe even code that does nothing at all, created just to see if it was possible?

    Join Dylan Beattie - programmer, musician, and creator of the Rockstar programming language - for an entertaining look at the art of code. We’ll look at the origins of programming as an art form, from Conway's Game of Life to the 1970s demoscene and the earliest Obfuscated C competitions. We’ll talk about esoteric languages and quines - how DO you create a program that prints its own source code? We’ll look at quine relays, code golf and generative art, and we’ll explore the phenomenon of live coding as performance - from the pioneers of electronic music to modern algoraves and live coding platforms like Sonic Pi.

    About Dylan

    Software Architect

    Dylan wrote his first web page in 1992 and never looked back. He's been building data-driven web applications since the late 1990s, and has worked on everything from tiny standalone websites to complex distributed systems. He's the CTO at Skills Matter in London, he's a Microsoft MVP, and he's a regular speaker at conferences and user groups, where he's spoken about topics from continuous delivery and Conway's Law to the history of the web, federated authentication and hypermedia APIs. When he's not wrangling code, Dylan plays guitar and writes songs about code.

    Video from 2019

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/galiya-warrier/index.html b/out/pastconferences/pastspeakers/2019/galiya-warrier/index.html index 704cf609..4c2bc2ad 100644 --- a/out/pastconferences/pastspeakers/2019/galiya-warrier/index.html +++ b/out/pastconferences/pastspeakers/2019/galiya-warrier/index.html @@ -1 +1 @@ -Galiya Warrier
    Picture of Galiya Warrier
    • Pronouns: She/Her
    • Talk Length: 60 minute

    Deep Learning in the world of little ponies

    In this talk, we will discuss computer vision, one of the most common real-world applications of machine learning. We will deep dive into various state-of-the-art concepts around building custom image classifiers - application of deep neural networks, specifically convolutional neural networks and transfer learning. We will demonstrate how those approaches could be used to create your own image classifier to recognise the characters of "My Little Pony" TV Series [or Pokemon, or Superheroes, or your custom images].

    About Galiya

    Cloud Solution Architect (AA and AI), Microsoft

    I'm a Cloud Solution Architect at Microsoft, where I help enterprise customers adopt Advanced Analytics and Artifical Intelligence services on Microsoft Azure cloud.

    Links

    \ No newline at end of file +Galiya Warrier
    Picture of Galiya Warrier
    • Pronouns: She/Her
    • Talk Length: 60 minute

    Deep Learning in the world of little ponies

    In this talk, we will discuss computer vision, one of the most common real-world applications of machine learning. We will deep dive into various state-of-the-art concepts around building custom image classifiers - application of deep neural networks, specifically convolutional neural networks and transfer learning. We will demonstrate how those approaches could be used to create your own image classifier to recognise the characters of "My Little Pony" TV Series [or Pokemon, or Superheroes, or your custom images].

    About Galiya

    Cloud Solution Architect (AA and AI), Microsoft

    I'm a Cloud Solution Architect at Microsoft, where I help enterprise customers adopt Advanced Analytics and Artifical Intelligence services on Microsoft Azure cloud.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/helen-joy/index.html b/out/pastconferences/pastspeakers/2019/helen-joy/index.html index c16d6ccd..ba69da16 100644 --- a/out/pastconferences/pastspeakers/2019/helen-joy/index.html +++ b/out/pastconferences/pastspeakers/2019/helen-joy/index.html @@ -1 +1 @@ -Helen Joy
    Picture of Helen Joy
    • Pronouns: She/Her
    • Talk Length: 30 minute

    Whose Design is it Anyway? - In introduction to inclusive design and research

    As creators of products and services, we’re pretty good at thinking we’ve got it all sussed. We map user journeys, we create roadmaps, we write user stories. We know what we want people to do; what actions we want them to take. But do we really know who these people are? Do we really know what they need? Do we take the time to find out, or are we building products and services based on our own assumptions and biases?

    And what about those who lack our digital privilege? Digital exclusion is a reality for many people. It’s our responsibility to look out for everyone, not just those who are the most visible or the easiest to design for.

    As technologists, we have the power to massively hinder or improve lives; not those of ‘users’ but of people. This talk looks at what it means to be digitally excluded and how by adopting a practical user research-led attitude to design, we can create products that are not just appealing to us, but life-changing to those who use them.

    About Helen

    UX Consultant at SPARCK

    Helen Joy is a UX consultant and user researcher at SPARCK with a focus on universal and inclusive design practices. She's an organiser of Women in Tech Nottingham, working to promote inclusivity within the tech industry and raise the profile of talented female and gender minority speakers. When not consulting or speaking at events, Helen is an avid coffee drinker and hot yoga fan.

    Video from 2019

    Links

    \ No newline at end of file +Helen Joy
    Picture of Helen Joy
    • Pronouns: She/Her
    • Talk Length: 30 minute

    Whose Design is it Anyway? - In introduction to inclusive design and research

    As creators of products and services, we’re pretty good at thinking we’ve got it all sussed. We map user journeys, we create roadmaps, we write user stories. We know what we want people to do; what actions we want them to take. But do we really know who these people are? Do we really know what they need? Do we take the time to find out, or are we building products and services based on our own assumptions and biases?

    And what about those who lack our digital privilege? Digital exclusion is a reality for many people. It’s our responsibility to look out for everyone, not just those who are the most visible or the easiest to design for.

    As technologists, we have the power to massively hinder or improve lives; not those of ‘users’ but of people. This talk looks at what it means to be digitally excluded and how by adopting a practical user research-led attitude to design, we can create products that are not just appealing to us, but life-changing to those who use them.

    About Helen

    UX Consultant at SPARCK

    Helen Joy is a UX consultant and user researcher at SPARCK with a focus on universal and inclusive design practices. She's an organiser of Women in Tech Nottingham, working to promote inclusivity within the tech industry and raise the profile of talented female and gender minority speakers. When not consulting or speaking at events, Helen is an avid coffee drinker and hot yoga fan.

    Video from 2019

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/ian-cooper/index.html b/out/pastconferences/pastspeakers/2019/ian-cooper/index.html index 9ca0e0de..dae4b0af 100644 --- a/out/pastconferences/pastspeakers/2019/ian-cooper/index.html +++ b/out/pastconferences/pastspeakers/2019/ian-cooper/index.html @@ -1 +1 @@ -Ian Cooper
    Picture of Ian Cooper
    • Pronouns: He/Him
    • Talk Length: 60 minute

    How to Escape The Distributed Monolith

    Microservices were all the rage, so you broke up your monolith. The services talk to each other by gRPC, you use a service mesh to route and load balance, and provide reliability oriented computing, you are fully buzzword compliant.

    Yet something seems to be wrong.

    You can't easily release software from one team, without coordinating with teams creating other. Testing has to be end-to-end to flush out problems or risk your team creating breaking changes for another team. Your 'heavy-lifters', whether you call the principals or architects seem to spend all their time on Docker, K8s, Istio and a whole slew of infrastructure technologies. Your system won't run without them, and you feel locked in.

    What happened?

    In this talk we look at the emerging world of "smart proxies and dumb endpoints" and ask whatever happened to the vision of "smart endpoints and dumb pipes", and what you can do to change course and deliver on the original promises of microservices to allow your teams to release frequently and independently of each other. And become masters of your tech stack, not its servants.

    About Ian

    Coding architect, pierced, bearded, tattooed

    Polyglot Coding Architect in London, founder of #ldnug, speaker, tabletop gamer, geek. Tattooed, pierced, and bearded. The 'guv' on @BrighterCommand

    Video from 2019

    Links

    \ No newline at end of file +Ian Cooper
    Picture of Ian Cooper
    • Pronouns: He/Him
    • Talk Length: 60 minute

    How to Escape The Distributed Monolith

    Microservices were all the rage, so you broke up your monolith. The services talk to each other by gRPC, you use a service mesh to route and load balance, and provide reliability oriented computing, you are fully buzzword compliant.

    Yet something seems to be wrong.

    You can't easily release software from one team, without coordinating with teams creating other. Testing has to be end-to-end to flush out problems or risk your team creating breaking changes for another team. Your 'heavy-lifters', whether you call the principals or architects seem to spend all their time on Docker, K8s, Istio and a whole slew of infrastructure technologies. Your system won't run without them, and you feel locked in.

    What happened?

    In this talk we look at the emerging world of "smart proxies and dumb endpoints" and ask whatever happened to the vision of "smart endpoints and dumb pipes", and what you can do to change course and deliver on the original promises of microservices to allow your teams to release frequently and independently of each other. And become masters of your tech stack, not its servants.

    About Ian

    Coding architect, pierced, bearded, tattooed

    Polyglot Coding Architect in London, founder of #ldnug, speaker, tabletop gamer, geek. Tattooed, pierced, and bearded. The 'guv' on @BrighterCommand

    Video from 2019

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/ian-johnson/index.html b/out/pastconferences/pastspeakers/2019/ian-johnson/index.html index 5a05f0ab..fc292ad4 100644 --- a/out/pastconferences/pastspeakers/2019/ian-johnson/index.html +++ b/out/pastconferences/pastspeakers/2019/ian-johnson/index.html @@ -1 +1 @@ -Ian Johnson
    Picture of Ian Johnson
    • Pronouns: He/Him
    • Talk Length: 60 minute

    Reasonable Code

    In a reasonable a system (i.e. a system that helps me to understand it, to reason about it) I should be able to understand how to make a change without holding the entire system in my head. I should be able to reason where the change needs to be made and reason about the impact it will have.

    I want to explore what reasonable means to me, from the processes of the team all the way down to an individual block of code. Along the way, we will encounter existing frameworks, tools, and patterns that our community has developed over the years to help us to reason about our code and processes; I feel that they have often been misused and end up creating the opposite effect, adding unnecessary complexity to how we work.

    About Ian

    Software developer, sketch noter

    Ian is a software developer working at Redgate, a company that develops tools for developers and database administrators.

    Ian is passionate about writing maintainable code that delivers on the needs of users. Though he considers himself an introvert, Ian loves talking with other developers, learning from their experiences and sharing his own.

    Outside of work, Ian is a passionate Star Wars fan and has been known to make the occasional really bad pun, but all of his code is "no-pun sourced" (sorry, couldn't resist).

    Links

    \ No newline at end of file +Ian Johnson
    Picture of Ian Johnson
    • Pronouns: He/Him
    • Talk Length: 60 minute

    Reasonable Code

    In a reasonable a system (i.e. a system that helps me to understand it, to reason about it) I should be able to understand how to make a change without holding the entire system in my head. I should be able to reason where the change needs to be made and reason about the impact it will have.

    I want to explore what reasonable means to me, from the processes of the team all the way down to an individual block of code. Along the way, we will encounter existing frameworks, tools, and patterns that our community has developed over the years to help us to reason about our code and processes; I feel that they have often been misused and end up creating the opposite effect, adding unnecessary complexity to how we work.

    About Ian

    Software developer, sketch noter

    Ian is a software developer working at Redgate, a company that develops tools for developers and database administrators.

    Ian is passionate about writing maintainable code that delivers on the needs of users. Though he considers himself an introvert, Ian loves talking with other developers, learning from their experiences and sharing his own.

    Outside of work, Ian is a passionate Star Wars fan and has been known to make the occasional really bad pun, but all of his code is "no-pun sourced" (sorry, couldn't resist).

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/jessica-salisbury/index.html b/out/pastconferences/pastspeakers/2019/jessica-salisbury/index.html index 9ca98984..a1e0463d 100644 --- a/out/pastconferences/pastspeakers/2019/jessica-salisbury/index.html +++ b/out/pastconferences/pastspeakers/2019/jessica-salisbury/index.html @@ -1 +1 @@ -Jessica Salisbury
    Picture of Jessica Salisbury
    • Pronouns: She/Her
    • Talk Length: 60 minute

    The Power of the Feedback Loop

    From how the body knows when to stop growing to saving lives from speeding cars, the feedback loop is a mechanism that secretly underlies every corner of our existence. The concept spans schools of thought in psychology, economics, biology and neuroscience and is now emerging in the intersection of technology and behavioural science.

    As technologists we are always looking to build products that are engaging and effective, and as people we strive to reach our full personal and working potential. Could the feedback loop be the piece we're all missing?

    In this talk we'll dive into the structure of the feedback loop, some impressive examples of how powerful they can be and we'll explore how you can harness their power in your work and personal life.

    About Jessica

    Behavioural Psychologist and Money Coaching Project Manager at Tully.

    Jess is a Behavioural Psychologist and the Project Manager of Money Coaching at Tully, a business created to help people who are worried about money. Jess leads on Tully’s Money Coaching product which uses Open Banking data to engage consumers in positive financial decision making to improve their financial wellbeing. From helping those in debt manage their money to providing early intervention for those displaying detrimental patterns of behaviour, Jess is using her academic background in psychology to create highly personalised, data led Money Coaching that drives long term, financial behavioural change for Tully customers.

    Video from 2019

    Links

    \ No newline at end of file +Jessica Salisbury
    Picture of Jessica Salisbury
    • Pronouns: She/Her
    • Talk Length: 60 minute

    The Power of the Feedback Loop

    From how the body knows when to stop growing to saving lives from speeding cars, the feedback loop is a mechanism that secretly underlies every corner of our existence. The concept spans schools of thought in psychology, economics, biology and neuroscience and is now emerging in the intersection of technology and behavioural science.

    As technologists we are always looking to build products that are engaging and effective, and as people we strive to reach our full personal and working potential. Could the feedback loop be the piece we're all missing?

    In this talk we'll dive into the structure of the feedback loop, some impressive examples of how powerful they can be and we'll explore how you can harness their power in your work and personal life.

    About Jessica

    Behavioural Psychologist and Money Coaching Project Manager at Tully.

    Jess is a Behavioural Psychologist and the Project Manager of Money Coaching at Tully, a business created to help people who are worried about money. Jess leads on Tully’s Money Coaching product which uses Open Banking data to engage consumers in positive financial decision making to improve their financial wellbeing. From helping those in debt manage their money to providing early intervention for those displaying detrimental patterns of behaviour, Jess is using her academic background in psychology to create highly personalised, data led Money Coaching that drives long term, financial behavioural change for Tully customers.

    Video from 2019

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/joel-hammond-turner/index.html b/out/pastconferences/pastspeakers/2019/joel-hammond-turner/index.html index 522c7690..389b6f64 100644 --- a/out/pastconferences/pastspeakers/2019/joel-hammond-turner/index.html +++ b/out/pastconferences/pastspeakers/2019/joel-hammond-turner/index.html @@ -1 +1 @@ -Joel Hammond-Turner
    Picture of Joel Hammond-Turner
    • Pronouns: He/Him
    • Talk Length: 60 minute

    You're the Tech Lead - *you* fix it!

    Over the last couple of years, I've presented 20 tricks and tips that I've found invaluable as a Tech Lead. But in this session, I want to turn things around and look at applying some of those to solving specific issues that are common within many software development teams.

    About Joel

    Tech Lead, Landmark Information Group

    I've a very broad experience of software development over 15 years and a passion for both technology and elegance in my solutions that make me an extremely capable software architect.

    Personable and professional, I revel in complex challenges, but always make time to coach and mentor team members.

    Video from 2019

    Links

    \ No newline at end of file +Joel Hammond-Turner
    Picture of Joel Hammond-Turner
    • Pronouns: He/Him
    • Talk Length: 60 minute

    You're the Tech Lead - *you* fix it!

    Over the last couple of years, I've presented 20 tricks and tips that I've found invaluable as a Tech Lead. But in this session, I want to turn things around and look at applying some of those to solving specific issues that are common within many software development teams.

    About Joel

    Tech Lead, Landmark Information Group

    I've a very broad experience of software development over 15 years and a passion for both technology and elegance in my solutions that make me an extremely capable software architect.

    Personable and professional, I revel in complex challenges, but always make time to coach and mentor team members.

    Video from 2019

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/mark-towndrow/index.html b/out/pastconferences/pastspeakers/2019/mark-towndrow/index.html index 66015ced..74d548ad 100644 --- a/out/pastconferences/pastspeakers/2019/mark-towndrow/index.html +++ b/out/pastconferences/pastspeakers/2019/mark-towndrow/index.html @@ -1 +1 @@ -Mark Towndrow
    Picture of Mark Towndrow
    • Pronouns: He/Him
    • Talk Length: 60 minute

    How to be a better developer - without learning another JavaScript framework

    It’s increasingly important to make time for self-improvement and career development, but it’s hard to know where to focus your efforts. As developers we’re often attracted to learning new technologies and languages, however I’d like to make the case for a number of non-technical areas of development that I believe can give you a huge advantage in your career.

    In this talk, I’ll share a number of skills that I’ve found compliment a technical toolbelt, such as generating and maintaining momentum within your team and looking beyond requirements to identify opportunities for your business. I’ll also share some tips to help fast track your progress, exploring why it’s important to seek out and identify the gaps in your skill set, and how to seize opportunities to strengthen these areas.

    It’s my hope that this talk will give you a different perspective of what makes a great developer, as well as the tools and motivation to broaden your expertise so that you can make a bigger impact in your organisation.

    About Mark

    Head of Engineering at OpenWrks

    Gained a Software Engineering degree at Nottingham Trent University, worked at TDX Group then Equifax before moving to Bizfitech / OpenWrks. Enjoy coding primarily in .NET (Core) and React but love playing with new technologies

    Links

    \ No newline at end of file +Mark Towndrow
    Picture of Mark Towndrow
    • Pronouns: He/Him
    • Talk Length: 60 minute

    How to be a better developer - without learning another JavaScript framework

    It’s increasingly important to make time for self-improvement and career development, but it’s hard to know where to focus your efforts. As developers we’re often attracted to learning new technologies and languages, however I’d like to make the case for a number of non-technical areas of development that I believe can give you a huge advantage in your career.

    In this talk, I’ll share a number of skills that I’ve found compliment a technical toolbelt, such as generating and maintaining momentum within your team and looking beyond requirements to identify opportunities for your business. I’ll also share some tips to help fast track your progress, exploring why it’s important to seek out and identify the gaps in your skill set, and how to seize opportunities to strengthen these areas.

    It’s my hope that this talk will give you a different perspective of what makes a great developer, as well as the tools and motivation to broaden your expertise so that you can make a bigger impact in your organisation.

    About Mark

    Head of Engineering at OpenWrks

    Gained a Software Engineering degree at Nottingham Trent University, worked at TDX Group then Equifax before moving to Bizfitech / OpenWrks. Enjoy coding primarily in .NET (Core) and React but love playing with new technologies

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/matt-brunt/index.html b/out/pastconferences/pastspeakers/2019/matt-brunt/index.html index 3b637a99..2b9f317e 100644 --- a/out/pastconferences/pastspeakers/2019/matt-brunt/index.html +++ b/out/pastconferences/pastspeakers/2019/matt-brunt/index.html @@ -1 +1 @@ -Matt Brunt
    Picture of Matt Brunt
    • Pronouns: He/Him
    • Talk Length: 60 minute

    Think like a hacker

    Much in the same way that to secure a house it helps to know how to break in, knowing how to attack our systems will help us secure them. You have a lot of data in your organisations. Whether you think it's sensitive or not, it has value. Whether an attacker wants data for profit, a grudge, or just for fun we need to ensure that we don't just leave the door open for them to take what they want.

    In this session we'll start to think like a hacker. The what, why, who, where and how of an attacking mindset will leave you with practical steps you can take away and use to start protecting your systems a little better.

    About Matt

    Wizard

    Matt Brunt is a Developer with Helical Levity, a company educating and building the next generation of Cyber Security professionals.

    When not tinkering with code he can be found reading comics, fighting monsters in dungeons and dragons, or drinking tea and eating jaffa-cakes.

    Video from 2019

    Links

    \ No newline at end of file +Matt Brunt
    Picture of Matt Brunt
    • Pronouns: He/Him
    • Talk Length: 60 minute

    Think like a hacker

    Much in the same way that to secure a house it helps to know how to break in, knowing how to attack our systems will help us secure them. You have a lot of data in your organisations. Whether you think it's sensitive or not, it has value. Whether an attacker wants data for profit, a grudge, or just for fun we need to ensure that we don't just leave the door open for them to take what they want.

    In this session we'll start to think like a hacker. The what, why, who, where and how of an attacking mindset will leave you with practical steps you can take away and use to start protecting your systems a little better.

    About Matt

    Wizard

    Matt Brunt is a Developer with Helical Levity, a company educating and building the next generation of Cyber Security professionals.

    When not tinkering with code he can be found reading comics, fighting monsters in dungeons and dragons, or drinking tea and eating jaffa-cakes.

    Video from 2019

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/neil-oconnor/index.html b/out/pastconferences/pastspeakers/2019/neil-oconnor/index.html index abbbf506..b07c76fc 100644 --- a/out/pastconferences/pastspeakers/2019/neil-oconnor/index.html +++ b/out/pastconferences/pastspeakers/2019/neil-oconnor/index.html @@ -1 +1 @@ -Neil O'Connor
    Picture of Neil O'Connor
    • Pronouns: He/Him
    • Talk Length: 60 minute

    CTO secrets: How to get the best companies fighting to hire you

    As a CTO, I spend a lot of my time hiring talent and building high performance development teams. I have hired hundreds of software professionals over the years, and I still insist on interviewing every candidate personally. I think I’ve got a pretty good hit rate: my teams have all had great reputations in their local tech community, and I would rehire - in a heartbeat - almost everyone I’ve hired in the past.

    It’s never been a better time to be working in the software industry. Your skills are in demand, but that doesn’t mean that everyone gets to work on the coolest tech in the most forward thinking companies. How do you set yourself apart from the crowd and get those companies falling over themselves to hire you?

    In this session, I’ll share some of my secrets about what I look for in candidates. What is it that makes a candidate stand out? What do I look for in their CV? What is it about how they approach the interview or the technical assessment that impresses me? How important is formal education? What do I look for in how the candidate spends their spare time?

    One myth to clear up right here: not everyone has to be a “rockstar developer”. I look for a balanced mix of skills in every candidate, and I’m often much more impressed by the quiet one who has demonstrated great judgment, insight or a capacity to learn. To continue the rockstar analogy, I’d much rather hire the reliable drummer or the skilful backing singer over the egotistical and unpredictable frontman!

    This session will offer clear, practical advice on how you can maximise your personal value in the industry. Some of it will be quick and easy to achieve, while some of it will require you to make longer term changes to your mindset. But whether you are an old hand eyeing your next career move, or you are looking for your first job in the industry, there will be something in this talk for you.

    About Neil

    CTO at Koodoo, a Nottingham-based fintech in the Blenheim Chalcot group

    Neil has been building forward-thinking development teams since 1862. He was founding CTO at local companies Koodoo and Oakbrook Finance, and has worked in a wide array of techie roles in numerous industries. He believes that if something is worth doing, it's worth doing right, and aims to create environments where development teams can excel at what they do best.

    Video from 2019

    Links

    \ No newline at end of file +Neil O'Connor
    Picture of Neil O'Connor
    • Pronouns: He/Him
    • Talk Length: 60 minute

    CTO secrets: How to get the best companies fighting to hire you

    As a CTO, I spend a lot of my time hiring talent and building high performance development teams. I have hired hundreds of software professionals over the years, and I still insist on interviewing every candidate personally. I think I’ve got a pretty good hit rate: my teams have all had great reputations in their local tech community, and I would rehire - in a heartbeat - almost everyone I’ve hired in the past.

    It’s never been a better time to be working in the software industry. Your skills are in demand, but that doesn’t mean that everyone gets to work on the coolest tech in the most forward thinking companies. How do you set yourself apart from the crowd and get those companies falling over themselves to hire you?

    In this session, I’ll share some of my secrets about what I look for in candidates. What is it that makes a candidate stand out? What do I look for in their CV? What is it about how they approach the interview or the technical assessment that impresses me? How important is formal education? What do I look for in how the candidate spends their spare time?

    One myth to clear up right here: not everyone has to be a “rockstar developer”. I look for a balanced mix of skills in every candidate, and I’m often much more impressed by the quiet one who has demonstrated great judgment, insight or a capacity to learn. To continue the rockstar analogy, I’d much rather hire the reliable drummer or the skilful backing singer over the egotistical and unpredictable frontman!

    This session will offer clear, practical advice on how you can maximise your personal value in the industry. Some of it will be quick and easy to achieve, while some of it will require you to make longer term changes to your mindset. But whether you are an old hand eyeing your next career move, or you are looking for your first job in the industry, there will be something in this talk for you.

    About Neil

    CTO at Koodoo, a Nottingham-based fintech in the Blenheim Chalcot group

    Neil has been building forward-thinking development teams since 1862. He was founding CTO at local companies Koodoo and Oakbrook Finance, and has worked in a wide array of techie roles in numerous industries. He believes that if something is worth doing, it's worth doing right, and aims to create environments where development teams can excel at what they do best.

    Video from 2019

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/robin-ninan/index.html b/out/pastconferences/pastspeakers/2019/robin-ninan/index.html index 71502bae..2f2d9905 100644 --- a/out/pastconferences/pastspeakers/2019/robin-ninan/index.html +++ b/out/pastconferences/pastspeakers/2019/robin-ninan/index.html @@ -1 +1 @@ -Robin Ninan
    Picture of Robin Ninan
    • Pronouns: He/Him
    • Talk Length: 30 minute

    Ditching the test pyramid in a microservices era

    We have all heard tales of the infamous test pyramid. Some of us have scaled the pyramid, some camped halfway and some dare not even attempt. Time and time again, I've heard of the test pyramid in multiple talks, test articles and blog posts, but not many have dared stray away from it. Why do we often return to the same solution for every test problem?

    What if we had another way forward; one that did not involve a pyramid. I once too advocated for the test pyramid in the good old times of monoliths. Times have changed.

    We are now in the era of microservices and like many others, I found myself on shaky grounds with the test pyramid. It baffles me how little effort has been made to redefine or re-evaluate our quality assurance strategies. Whilst advances and breakthroughs are ripe in software development, our quality assurance processes and strategies often trail behind.

    So why had I found myself on shaky grounds with a test strategy that stood the test of time for so long? In this session, we unravel why the onset of microservices shook the pyramid and we explore how we could succeed without having to scale the pyramid.

    If you, like me started off with the search for a better test strategy that has been tried and tested in the microservices furnace and ended up unsatisfied with the answers; let me introduce you to a new era.

    About Robin

    Senior QA

    Senior QA at Koodoo. Seasoned Quality Assurance Engineer with an eye for test tools, strategies and architecture.

    \ No newline at end of file +Robin Ninan
    Picture of Robin Ninan
    • Pronouns: He/Him
    • Talk Length: 30 minute

    Ditching the test pyramid in a microservices era

    We have all heard tales of the infamous test pyramid. Some of us have scaled the pyramid, some camped halfway and some dare not even attempt. Time and time again, I've heard of the test pyramid in multiple talks, test articles and blog posts, but not many have dared stray away from it. Why do we often return to the same solution for every test problem?

    What if we had another way forward; one that did not involve a pyramid. I once too advocated for the test pyramid in the good old times of monoliths. Times have changed.

    We are now in the era of microservices and like many others, I found myself on shaky grounds with the test pyramid. It baffles me how little effort has been made to redefine or re-evaluate our quality assurance strategies. Whilst advances and breakthroughs are ripe in software development, our quality assurance processes and strategies often trail behind.

    So why had I found myself on shaky grounds with a test strategy that stood the test of time for so long? In this session, we unravel why the onset of microservices shook the pyramid and we explore how we could succeed without having to scale the pyramid.

    If you, like me started off with the search for a better test strategy that has been tried and tested in the microservices furnace and ended up unsatisfied with the answers; let me introduce you to a new era.

    About Robin

    Senior QA

    Senior QA at Koodoo. Seasoned Quality Assurance Engineer with an eye for test tools, strategies and architecture.

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/samathy-barratt/index.html b/out/pastconferences/pastspeakers/2019/samathy-barratt/index.html index 8a4af2f8..7cbb08b6 100644 --- a/out/pastconferences/pastspeakers/2019/samathy-barratt/index.html +++ b/out/pastconferences/pastspeakers/2019/samathy-barratt/index.html @@ -1 +1 @@ -Samathy Barratt
    Picture of Samathy Barratt
    • Pronouns: She/Her
    • Talk Length: 60 minute Keynote

    This is a talk about Nothing.

    NULL, None, 0, nullptr, nil, NaN. Every programming language represents the concept of nothing, zero or just 'not a thing' in a different way.

    This talk looks at the various different representations of 'nothing' in programming languages, exploring how the concept has developed over time, how representations differ and what each method has over another one.

    About Samathy

    Magical Code Fairy

    Samathy is an inquisitive code fairy who strives to understand complex computer science problems and loves to help others do the same.

    A Python programmer by day, and a passionate D programmer by night, she likes good challenges, good code and good coffee.

    Video from 2019

    Links

    \ No newline at end of file +Samathy Barratt
    Picture of Samathy Barratt
    • Pronouns: She/Her
    • Talk Length: 60 minute Keynote

    This is a talk about Nothing.

    NULL, None, 0, nullptr, nil, NaN. Every programming language represents the concept of nothing, zero or just 'not a thing' in a different way.

    This talk looks at the various different representations of 'nothing' in programming languages, exploring how the concept has developed over time, how representations differ and what each method has over another one.

    About Samathy

    Magical Code Fairy

    Samathy is an inquisitive code fairy who strives to understand complex computer science problems and loves to help others do the same.

    A Python programmer by day, and a passionate D programmer by night, she likes good challenges, good code and good coffee.

    Video from 2019

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/simon-painter/index.html b/out/pastconferences/pastspeakers/2019/simon-painter/index.html index a9afa22c..601aae72 100644 --- a/out/pastconferences/pastspeakers/2019/simon-painter/index.html +++ b/out/pastconferences/pastspeakers/2019/simon-painter/index.html @@ -1 +1 @@ -Simon Painter
    Picture of Simon Painter
    • Pronouns: He/Him
    • Talk Length: 60 minute

    Hacking C#: Development for the Truly Lazy

    I don't know about you, but I'm a lazy developer. What do I mean by lazy? I don't mean I don't want to do my work - far from it - I mean that I hate to write out a great deal of code to get the job done. I want to accomplish my goals with as little effort as possible.

    One of my pet hates is writing enhancements that involve copying and pasting blocks of code, changing a variable name, then leaving everything else the same. I hate having to consider each and every possible null reference exception, and adding in a whole ton of boilerplate to handle it. I hate having to spent ages jumping back and forth in a legacy codebase, trying to understand what it actually does!

    What's the alternative? In this talk, I'll demonstrate a way of working that avoids all this unneccesary work, and gives you more time to do something more productive.

    We'll look at:

    1. - Functional Programming - what benefits does this increasingly popular paradigm bring us to cut down coding effort
    2. - Linq and Generics - These have been a part of C# for a long time now, and are some of the most powerful features available in the language, but hardly anyone seems to be using them effectively
    3. - MetaProgramming - break open C# and take it to the next level with code that describes how to generate code

    Our goal is to write code in as few lines as possible that provides the greatest amount of impact. We also want code that's readable, and easily maintainable. We want to think smart, and think...Lazy.

    About Simon

    Senior Software Developer at EuroFins Scientific

    I've been working as a .NET developer for over 12 years now in a variety of industries including government, retail and manufacturing. But as a coder, I've been playing with making computers do whatever my crazed imagination could devise since I was old enough to read my Dad's copy of the ZX Spectrum BASIC coders manual.

    I've been speaking about Functional C# at various user groups and conferences around the UK, USA, and India, and am particularly interested in seeing just how far we can push the capabilities of C#.

    When I'm not coding, or running after my two small children, I have been known to enjoy the classic series of Doctor Who, Fighting Fantasy Gamebooks, Cryptic Crosswords, and rather more coffee than is probably good for me.

    Video from 2019

    Links

    \ No newline at end of file +Simon Painter
    Picture of Simon Painter
    • Pronouns: He/Him
    • Talk Length: 60 minute

    Hacking C#: Development for the Truly Lazy

    I don't know about you, but I'm a lazy developer. What do I mean by lazy? I don't mean I don't want to do my work - far from it - I mean that I hate to write out a great deal of code to get the job done. I want to accomplish my goals with as little effort as possible.

    One of my pet hates is writing enhancements that involve copying and pasting blocks of code, changing a variable name, then leaving everything else the same. I hate having to consider each and every possible null reference exception, and adding in a whole ton of boilerplate to handle it. I hate having to spent ages jumping back and forth in a legacy codebase, trying to understand what it actually does!

    What's the alternative? In this talk, I'll demonstrate a way of working that avoids all this unneccesary work, and gives you more time to do something more productive.

    We'll look at:

    1. - Functional Programming - what benefits does this increasingly popular paradigm bring us to cut down coding effort
    2. - Linq and Generics - These have been a part of C# for a long time now, and are some of the most powerful features available in the language, but hardly anyone seems to be using them effectively
    3. - MetaProgramming - break open C# and take it to the next level with code that describes how to generate code

    Our goal is to write code in as few lines as possible that provides the greatest amount of impact. We also want code that's readable, and easily maintainable. We want to think smart, and think...Lazy.

    About Simon

    Senior Software Developer at EuroFins Scientific

    I've been working as a .NET developer for over 12 years now in a variety of industries including government, retail and manufacturing. But as a coder, I've been playing with making computers do whatever my crazed imagination could devise since I was old enough to read my Dad's copy of the ZX Spectrum BASIC coders manual.

    I've been speaking about Functional C# at various user groups and conferences around the UK, USA, and India, and am particularly interested in seeing just how far we can push the capabilities of C#.

    When I'm not coding, or running after my two small children, I have been known to enjoy the classic series of Doctor Who, Fighting Fantasy Gamebooks, Cryptic Crosswords, and rather more coffee than is probably good for me.

    Video from 2019

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2019/zac-braddy/index.html b/out/pastconferences/pastspeakers/2019/zac-braddy/index.html index 0c9b8ef1..15c8e68f 100644 --- a/out/pastconferences/pastspeakers/2019/zac-braddy/index.html +++ b/out/pastconferences/pastspeakers/2019/zac-braddy/index.html @@ -1 +1 @@ -Zac Braddy
    Picture of Zac Braddy
    • Pronouns: He/Him
    • Talk Length: 60 minute

    All the mistakes I've made trying to implement Microservices

    We're now entering the next age of Microservices. For about a decade now we've been doing battle with the pointy haired bosses of the world to convince them of what seems so painfully obvious to us; that there are many varied virtues of microservices architecture.

    Now that they all have Netflix accounts and they've seen the benefits first hand we now seem to have those same bosses bursting into the office waving their trade magazine and asking us if we've heard about this "micro-system" thing. Flustered, we're having coming to terms now with how we actually deliver on our lofty promises without Amazon's finances and resources.

    Some people have been getting it right the first time they've tried which is great! Other people, like me, have got it right as well.....but....not before getting it wrong repeatedly for oh so many different reasons! So, I guess that makes me an expert, right?!

    Come listen as I shamefully regale you with all ways in which I've ham-fisted the most elegant architecture currently known to humanity in hopes that I might save you from the same sleepless nights.

    About Zac

    Lead Developer

    Zac is a Lead Fullstack Javascript developer at Koodoo.io where he helps to try and save people money on their mortgages. This makes him feel super good about how he spends his days.

    Zac has been developing for a number of years, 5 or 6 I think, I don't know who is counting? In that time has seen a very diverse set of tech and industries. Up until his current role he was working with the .NET stack so even languages are sacred to him. For Zac it's all about the next challenge and in the past that thirst for knowledge has seen him working with everything from hulking 20 year old Classic ASP monoliths to greenfield node microservices on bleed edge architecture and good amount of stuff in between.

    On the side Zac is active in the developer community writing blog posts, doing talks and mentoring other developers through their journeys in meet ups and online. When he isn't in front of his computer at work he is out geocaching with his sons and wife, playing D and D with friends or......let's face it probably on the computer still coding or gaming.

    Video from 2019

    Links

    \ No newline at end of file +Zac Braddy
    Picture of Zac Braddy
    • Pronouns: He/Him
    • Talk Length: 60 minute

    All the mistakes I've made trying to implement Microservices

    We're now entering the next age of Microservices. For about a decade now we've been doing battle with the pointy haired bosses of the world to convince them of what seems so painfully obvious to us; that there are many varied virtues of microservices architecture.

    Now that they all have Netflix accounts and they've seen the benefits first hand we now seem to have those same bosses bursting into the office waving their trade magazine and asking us if we've heard about this "micro-system" thing. Flustered, we're having coming to terms now with how we actually deliver on our lofty promises without Amazon's finances and resources.

    Some people have been getting it right the first time they've tried which is great! Other people, like me, have got it right as well.....but....not before getting it wrong repeatedly for oh so many different reasons! So, I guess that makes me an expert, right?!

    Come listen as I shamefully regale you with all ways in which I've ham-fisted the most elegant architecture currently known to humanity in hopes that I might save you from the same sleepless nights.

    About Zac

    Lead Developer

    Zac is a Lead Fullstack Javascript developer at Koodoo.io where he helps to try and save people money on their mortgages. This makes him feel super good about how he spends his days.

    Zac has been developing for a number of years, 5 or 6 I think, I don't know who is counting? In that time has seen a very diverse set of tech and industries. Up until his current role he was working with the .NET stack so even languages are sacred to him. For Zac it's all about the next challenge and in the past that thirst for knowledge has seen him working with everything from hulking 20 year old Classic ASP monoliths to greenfield node microservices on bleed edge architecture and good amount of stuff in between.

    On the side Zac is active in the developer community writing blog posts, doing talks and mentoring other developers through their journeys in meet ups and online. When he isn't in front of his computer at work he is out geocaching with his sons and wife, playing D and D with friends or......let's face it probably on the computer still coding or gaming.

    Video from 2019

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/clifford-agius/index.html b/out/pastconferences/pastspeakers/2021/clifford-agius/index.html index bde047f1..ac899a67 100644 --- a/out/pastconferences/pastspeakers/2021/clifford-agius/index.html +++ b/out/pastconferences/pastspeakers/2021/clifford-agius/index.html @@ -1 +1 @@ -Clifford Agius
    Picture of Clifford Agius
    • Pronouns: He/Him
    • Talk Length: 60 mins

    3D printed Bionic Hand a little IOT and a Xamarin Mobile App

    Meet Kayden, a local 15yr old young man and close family friend, who was born with no left forearm and hand.

    The National Health Service (NHS) is an amazing service in the UK, however their prosthetic provision is both basic and expensive (to the NHS).

    Surely with modern technology we can not only improve the lives of young people like Kayden but also demonstrate how we can do it more cost effectively than current options. This talk details how I set about building on the wonderful work of the OpenBionics team to provide Kayden with an alternative to the NHS prosthesis.

    We'll discuss:

    • How 3D printing of parts for the hand can be much more effective (cost and function) than fibre glass moulds
    • Using home 3D printing we can create a viable articulated hand
    • Using off the shelf commodity IoT boards from Adafruit can be used to program the hand (and how this is more viable than alternative approaches) but more recently in the project moving to the new WildernessLabs F7 board so that the whole project in DotNet.
    • Creating a Xamarin application to connect via Bluetooth and provide customisation and control options for the hand and the challenges of UI design for those with accessibility issues.
    • How this option can reduce the costs from £000's to several hundred £s and is being done as an Open Source project which will hopefully lead to designs and kits being available for others around the world to build their own.

    Attendees will learn about and see demos of:

    • The 3D printed hand and related components
    • Programming of the IoT board and sensors (In DotNet and C#)
    • Creation of the Xamarin application to customise the hand.
    • Bluetooth connection options.

    Please note: Kayden and his family have given express permission to use his name and images for this talk.

    About Clifford

    Freelance Developer that just so happens to fly a Boeing 787 around the world.

    Cliff is a senior first officer with a Major UK Airline on one of its newest jets the 787 Dreamliner.

    He has a passion for flying from an early age, although his earlier career was spent as an apprentice at the Ford Motor Company and then a Project Engineer covering Electrical/Software/Robot engineering in major automotive brands. However his drive, focus and determination was always to become a pilot.

    After self funding his pilots license and passing all necessary exams his first commercial flight was with Aer Arran (Irish regional airline), where he flew ATRs from Dublin and Galway to Ireland regions and into the UK. After this the jets got bigger, the cattle slightly less and eventually he applied and was selected to join a Major UK Airline. After initially flying the Airbus A320 Cliff has continued his personal development and now fly’s the fleet of 787’s across the world, including the recently arrived B787-900 with the new First Class.

    Although the current jets are technologically advanced its Cliff’s every decision and calculation on a minute-by- minute basis that carries over 215 people safely back and forth over the Atlantic or Siberia, therefore every decision is a critical one. He therefore has acute awareness of people’s decision-making processes and the consequences of these. Its these decisions that impact on people’s lives, from lost luggage to engine issues to landing in fog, every decision is critical and everyone has an impact on how the airline remain competitive minute by minute, if not second by second. When not flying the plastic jet he spends his time huddled over his laptop thrashing the keyboard and working on some project from embedded systems to .Net. Personal challenges are always part of Cliff’s spare time and as well as continuing to design computer software he is busy with family life of a Wife, 3 Boys and 2 dogs and is also a keen cyclist, with the Alps Passporte’s challenge as next year’s goal.

    Video from 2021


    Links

    \ No newline at end of file +Clifford Agius
    Picture of Clifford Agius
    • Pronouns: He/Him
    • Talk Length: 60 mins

    3D printed Bionic Hand a little IOT and a Xamarin Mobile App

    Meet Kayden, a local 15yr old young man and close family friend, who was born with no left forearm and hand.

    The National Health Service (NHS) is an amazing service in the UK, however their prosthetic provision is both basic and expensive (to the NHS).

    Surely with modern technology we can not only improve the lives of young people like Kayden but also demonstrate how we can do it more cost effectively than current options. This talk details how I set about building on the wonderful work of the OpenBionics team to provide Kayden with an alternative to the NHS prosthesis.

    We'll discuss:

    • How 3D printing of parts for the hand can be much more effective (cost and function) than fibre glass moulds
    • Using home 3D printing we can create a viable articulated hand
    • Using off the shelf commodity IoT boards from Adafruit can be used to program the hand (and how this is more viable than alternative approaches) but more recently in the project moving to the new WildernessLabs F7 board so that the whole project in DotNet.
    • Creating a Xamarin application to connect via Bluetooth and provide customisation and control options for the hand and the challenges of UI design for those with accessibility issues.
    • How this option can reduce the costs from £000's to several hundred £s and is being done as an Open Source project which will hopefully lead to designs and kits being available for others around the world to build their own.

    Attendees will learn about and see demos of:

    • The 3D printed hand and related components
    • Programming of the IoT board and sensors (In DotNet and C#)
    • Creation of the Xamarin application to customise the hand.
    • Bluetooth connection options.

    Please note: Kayden and his family have given express permission to use his name and images for this talk.

    About Clifford

    Freelance Developer that just so happens to fly a Boeing 787 around the world.

    Cliff is a senior first officer with a Major UK Airline on one of its newest jets the 787 Dreamliner.

    He has a passion for flying from an early age, although his earlier career was spent as an apprentice at the Ford Motor Company and then a Project Engineer covering Electrical/Software/Robot engineering in major automotive brands. However his drive, focus and determination was always to become a pilot.

    After self funding his pilots license and passing all necessary exams his first commercial flight was with Aer Arran (Irish regional airline), where he flew ATRs from Dublin and Galway to Ireland regions and into the UK. After this the jets got bigger, the cattle slightly less and eventually he applied and was selected to join a Major UK Airline. After initially flying the Airbus A320 Cliff has continued his personal development and now fly’s the fleet of 787’s across the world, including the recently arrived B787-900 with the new First Class.

    Although the current jets are technologically advanced its Cliff’s every decision and calculation on a minute-by- minute basis that carries over 215 people safely back and forth over the Atlantic or Siberia, therefore every decision is a critical one. He therefore has acute awareness of people’s decision-making processes and the consequences of these. Its these decisions that impact on people’s lives, from lost luggage to engine issues to landing in fog, every decision is critical and everyone has an impact on how the airline remain competitive minute by minute, if not second by second. When not flying the plastic jet he spends his time huddled over his laptop thrashing the keyboard and working on some project from embedded systems to .Net. Personal challenges are always part of Cliff’s spare time and as well as continuing to design computer software he is busy with family life of a Wife, 3 Boys and 2 dogs and is also a keen cyclist, with the Alps Passporte’s challenge as next year’s goal.

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/connell-sharp/index.html b/out/pastconferences/pastspeakers/2021/connell-sharp/index.html index 03090edd..edfc3ec4 100644 --- a/out/pastconferences/pastspeakers/2021/connell-sharp/index.html +++ b/out/pastconferences/pastspeakers/2021/connell-sharp/index.html @@ -1 +1 @@ -Connell Sharp
    Picture of Connell
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Onion Architecture with DDD and CQRS

    Explaining how I reason about the building blocks of Onion Architecture, Domain-Driven Design and Command Query Responsibility Segregation in an event-driven micro-services architecture. How it all fits together in my head, the concepts they share, and the mistakes I've made along the way.

    Examples using modern C# but can be applied to other languages and frameworks.

    About Connell

    Principal Platform Engineer at Oakbrook Finance

    Loves building software and making music. Coding since 2005. Every day learning and sharing knowledge.

    Video from 2021


    Links

    \ No newline at end of file +Connell Sharp
    Picture of Connell
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Onion Architecture with DDD and CQRS

    Explaining how I reason about the building blocks of Onion Architecture, Domain-Driven Design and Command Query Responsibility Segregation in an event-driven micro-services architecture. How it all fits together in my head, the concepts they share, and the mistakes I've made along the way.

    Examples using modern C# but can be applied to other languages and frameworks.

    About Connell

    Principal Platform Engineer at Oakbrook Finance

    Loves building software and making music. Coding since 2005. Every day learning and sharing knowledge.

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/dylan-beattie/index.html b/out/pastconferences/pastspeakers/2021/dylan-beattie/index.html index 7e8467a2..6e5483d1 100644 --- a/out/pastconferences/pastspeakers/2021/dylan-beattie/index.html +++ b/out/pastconferences/pastspeakers/2021/dylan-beattie/index.html @@ -1 +1 @@ -Dylan Beattie
    Picture of Dylan Beattie
    • Pronouns: He/Him
    • Talk Length: 60 minute

    There's No Such Thing As Plain Text

    Software is complicated. Machine learning, microservice architectures, message queues… every few months there’s another revolutionary idea to consider, another framework to learn. And underneath so many of these amazing ideas and abstractions is text. When you work in software, you spend your life working with text. Some of those text files are source code, some are configuration files, some of them are documentation. Editors, revision control systems, programming languages - everything from C# and HTML to Git and VS Code is based on the idea that we’re working with “plain text” files. But… what if I told you there’s no such thing?

    When we say something is a plain text file, we’re relying on a huge number of assumptions - about operating systems, editors, file formats, language, culture, history… and, most of the time, that’s OK. But when it goes wrong, good old plain text can lead to some of the weirdest bugs you’ve ever seen. Why is there Chinese in the SQL event logs? Why has the city of Aarhus disappeared? And why does Magnus Mårtensson always have trouble getting into the USA? Join Dylan Beattie for a fascinating look into the hidden world of text files - from the history of mechanical teletypes, to how emoji skin tones actually work. We’ll look at some memorable bugs, some golden rules for working with plain text, and we’ll even find out the story behind the strange saying “PIKE MATCHBOX” – and what it has to do with driving in Ukraine.

    About Dylan

    The one in the hat.

    Dylan Beattie is an independent consultant who has been building data-driven web applications since the 1990s. He’s managed teams, taught workshops, and worked on everything from tiny standalone websites to complex distributed systems. He’s a Microsoft MVP, and he regularly speaks at conferences and user groups all over the world.

    Dylan is the creator of the Rockstar programming language, and is known for his live music shows featuring software-themed parodies of classic rock songs. He’s online at dylanbeattie.net and on Twitter as @dylanbeattie.

    Video from 2021


    Links

    \ No newline at end of file +Dylan Beattie
    Picture of Dylan Beattie
    • Pronouns: He/Him
    • Talk Length: 60 minute

    There's No Such Thing As Plain Text

    Software is complicated. Machine learning, microservice architectures, message queues… every few months there’s another revolutionary idea to consider, another framework to learn. And underneath so many of these amazing ideas and abstractions is text. When you work in software, you spend your life working with text. Some of those text files are source code, some are configuration files, some of them are documentation. Editors, revision control systems, programming languages - everything from C# and HTML to Git and VS Code is based on the idea that we’re working with “plain text” files. But… what if I told you there’s no such thing?

    When we say something is a plain text file, we’re relying on a huge number of assumptions - about operating systems, editors, file formats, language, culture, history… and, most of the time, that’s OK. But when it goes wrong, good old plain text can lead to some of the weirdest bugs you’ve ever seen. Why is there Chinese in the SQL event logs? Why has the city of Aarhus disappeared? And why does Magnus Mårtensson always have trouble getting into the USA? Join Dylan Beattie for a fascinating look into the hidden world of text files - from the history of mechanical teletypes, to how emoji skin tones actually work. We’ll look at some memorable bugs, some golden rules for working with plain text, and we’ll even find out the story behind the strange saying “PIKE MATCHBOX” – and what it has to do with driving in Ukraine.

    About Dylan

    The one in the hat.

    Dylan Beattie is an independent consultant who has been building data-driven web applications since the 1990s. He’s managed teams, taught workshops, and worked on everything from tiny standalone websites to complex distributed systems. He’s a Microsoft MVP, and he regularly speaks at conferences and user groups all over the world.

    Dylan is the creator of the Rockstar programming language, and is known for his live music shows featuring software-themed parodies of classic rock songs. He’s online at dylanbeattie.net and on Twitter as @dylanbeattie.

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/james-croft/index.html b/out/pastconferences/pastspeakers/2021/james-croft/index.html index 99b0bee6..8c7998a5 100644 --- a/out/pastconferences/pastspeakers/2021/james-croft/index.html +++ b/out/pastconferences/pastspeakers/2021/james-croft/index.html @@ -1 +1 @@ -James Croft
    Picture of James Croft
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Should you write UI tests?

    UI testing is a point of conflict amongst app developers. When asked in a recent poll on whether app devs write them, over half don't!

    We all understand the importance of writing great unit tests for your APIs so why should your UI not benefit from the same care?

    This session will explore the benefits of writing UI tests. We'll show you how to get started with UI testing with Selenium and C#. Plus, a look at how you can make your UI testing process maintainable with speed with code re-use.

    About James

    Principal Developer and Microsoft MVP at Razor Ltd

    Howdy folks 👋 Thanks for taking the time to look at my profile!

    My name is James Croft and I'm a passionate .NET software developer with over 10 years of experience developing user experiences on a range of different form factors! I've been fortunate to have been recognized as a Microsoft MVP since 2015 also.

    Day-to-day, I architect, lead, and aid with the delivery of client software solutions as a Principal Developer for Razor Ltd in Sheffield.

    My main technical focus is building innovative and robust user experiences with Windows, Android, iOS, and the web. This passion for technology extends to mixed reality (MR/AR/VR), wearable devices, IoT, and conversational AI.

    Video from 2021


    Links

    \ No newline at end of file +James Croft
    Picture of James Croft
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Should you write UI tests?

    UI testing is a point of conflict amongst app developers. When asked in a recent poll on whether app devs write them, over half don't!

    We all understand the importance of writing great unit tests for your APIs so why should your UI not benefit from the same care?

    This session will explore the benefits of writing UI tests. We'll show you how to get started with UI testing with Selenium and C#. Plus, a look at how you can make your UI testing process maintainable with speed with code re-use.

    About James

    Principal Developer and Microsoft MVP at Razor Ltd

    Howdy folks 👋 Thanks for taking the time to look at my profile!

    My name is James Croft and I'm a passionate .NET software developer with over 10 years of experience developing user experiences on a range of different form factors! I've been fortunate to have been recognized as a Microsoft MVP since 2015 also.

    Day-to-day, I architect, lead, and aid with the delivery of client software solutions as a Principal Developer for Razor Ltd in Sheffield.

    My main technical focus is building innovative and robust user experiences with Windows, Android, iOS, and the web. This passion for technology extends to mixed reality (MR/AR/VR), wearable devices, IoT, and conversational AI.

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/jennifer-mackown/index.html b/out/pastconferences/pastspeakers/2021/jennifer-mackown/index.html index 0f55d88a..217c1027 100644 --- a/out/pastconferences/pastspeakers/2021/jennifer-mackown/index.html +++ b/out/pastconferences/pastspeakers/2021/jennifer-mackown/index.html @@ -1 +1 @@ -Jennifer Mackown
    Picture of Jennifer Mackown
    • Pronouns: She/Her
    • Talk Length: 15 mins

    How to ruin kid's games with machine learning

    Winter lockdown with a small child has meant one thing in our house - trains. We have a huge amount of Brio (that magnetic wooden train set you used to play with in the Early Learning Centre) and every day means a new track taking over our living room. Train tracks designed by a 4yo can be quite random and not very satisfying to actually play with - lines that disappear under the sofa, bridges to nowhere and surprise turntables in the middle of a track.

    So I started to build my own tracks (when he was asleep, to prevent ‘helping’), but it was pretty labour-intensive and it turns out I prefer to spend my evenings doing… well almost anything else. So instead I developed an algorithm to generate tracks and then trained a 4yo-opinion-based ML model to determine whether the tracks were ‘fun’ or not.

    This is the story of how I learned that ‘developing an algorithm’ is not as easy as it sounds, and that ‘fun’ has different meanings depending on whether you are 4, 34 or a computer.

    About Jennifer

    Senior Software Developer

    After a short but illustrious career as webmaster for a number of uniquely designed X-Files and Stargate SG-1 fan sites in the 90's, I decided to get a proper job. A meandering path through accountancy, volcanoes in space, teaching maths to teenagers and pulling pints eventually lead back to the web, though this time I was called Web Developer and people paid me money to do it. Not much, but startup life be that way.

    Now I'm a Senior Developer, which sounds pretty important, and I've somehow migrated from building beautiful websites with frames and animated gifs to serious backend development that make serious apps do serious things seriously.

    When not being serious, I play a LOT of Lego with the 4yo. I make beautiful houses and buildings that get demolished and turned into police stations. Or set on fire. Or run over by a monster truck. I sometimes volunteer myself for conference talks or arranging tech meetups, but that's all been a bit limited lately what with the world ending, so I may have forgotten how to interact with real life humans.

    Video from 2021


    Links

    \ No newline at end of file +Jennifer Mackown
    Picture of Jennifer Mackown
    • Pronouns: She/Her
    • Talk Length: 15 mins

    How to ruin kid's games with machine learning

    Winter lockdown with a small child has meant one thing in our house - trains. We have a huge amount of Brio (that magnetic wooden train set you used to play with in the Early Learning Centre) and every day means a new track taking over our living room. Train tracks designed by a 4yo can be quite random and not very satisfying to actually play with - lines that disappear under the sofa, bridges to nowhere and surprise turntables in the middle of a track.

    So I started to build my own tracks (when he was asleep, to prevent ‘helping’), but it was pretty labour-intensive and it turns out I prefer to spend my evenings doing… well almost anything else. So instead I developed an algorithm to generate tracks and then trained a 4yo-opinion-based ML model to determine whether the tracks were ‘fun’ or not.

    This is the story of how I learned that ‘developing an algorithm’ is not as easy as it sounds, and that ‘fun’ has different meanings depending on whether you are 4, 34 or a computer.

    About Jennifer

    Senior Software Developer

    After a short but illustrious career as webmaster for a number of uniquely designed X-Files and Stargate SG-1 fan sites in the 90's, I decided to get a proper job. A meandering path through accountancy, volcanoes in space, teaching maths to teenagers and pulling pints eventually lead back to the web, though this time I was called Web Developer and people paid me money to do it. Not much, but startup life be that way.

    Now I'm a Senior Developer, which sounds pretty important, and I've somehow migrated from building beautiful websites with frames and animated gifs to serious backend development that make serious apps do serious things seriously.

    When not being serious, I play a LOT of Lego with the 4yo. I make beautiful houses and buildings that get demolished and turned into police stations. Or set on fire. Or run over by a monster truck. I sometimes volunteer myself for conference talks or arranging tech meetups, but that's all been a bit limited lately what with the world ending, so I may have forgotten how to interact with real life humans.

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/kojo-hinson/index.html b/out/pastconferences/pastspeakers/2021/kojo-hinson/index.html index 7509a17d..aea4ab21 100644 --- a/out/pastconferences/pastspeakers/2021/kojo-hinson/index.html +++ b/out/pastconferences/pastspeakers/2021/kojo-hinson/index.html @@ -1 +1 @@ -Kojo Hinson
    Picture of Kojo Hinson
    • Pronouns: He/Him
    • Talk Length: 30 mins

    Embracing Skynet - An exploration of GPT-3 and its potential applications

    GPT-3 or Generative Pre-trained Transformer 3 (GPT-3) is an autoregressive language model that uses deep learning to produce human-like text.

    A few weeks ago, I was lucky enough to be accepted into the developer beta release of the pre-trained GPT-3 API and have been marvelling at the shockingly good performance of its generative capabilities.

    This talk should serve as a quick intro to the API itself (including a quick demo) and an exploration of some of the creative applications people have managed to find for this powerful technology so far.

    About Kojo

    VP of Engineering at Koodoo

    Following a brief industrial placement building software for the purposes of radiation modelling at Culham Centre for Fusion Energy, Kojo has spent the last few years developing and building high quality software applications for enterprises of varying sectors and scales. From big data engineering for Walgreens, to embedded programming for Google and Amazon connected IoT devices, Kojo has developed a range of experience in several areas and layers of modern technology stacks.

    Having spent time at several FinTech startups (Oakbrook Finance, Wealth Wizards and now Koodoo) Kojo has developed domain expertise not only in the technology required to build complex financial software but also in the business itself.

    Kojo attained a BSc in Maths and Physics from the University of Bristol, followed by a MSc in the Physics and Tech of Nuclear Reactors at the University of Birmingham.

    Video from 2021


    Links

    \ No newline at end of file +Kojo Hinson
    Picture of Kojo Hinson
    • Pronouns: He/Him
    • Talk Length: 30 mins

    Embracing Skynet - An exploration of GPT-3 and its potential applications

    GPT-3 or Generative Pre-trained Transformer 3 (GPT-3) is an autoregressive language model that uses deep learning to produce human-like text.

    A few weeks ago, I was lucky enough to be accepted into the developer beta release of the pre-trained GPT-3 API and have been marvelling at the shockingly good performance of its generative capabilities.

    This talk should serve as a quick intro to the API itself (including a quick demo) and an exploration of some of the creative applications people have managed to find for this powerful technology so far.

    About Kojo

    VP of Engineering at Koodoo

    Following a brief industrial placement building software for the purposes of radiation modelling at Culham Centre for Fusion Energy, Kojo has spent the last few years developing and building high quality software applications for enterprises of varying sectors and scales. From big data engineering for Walgreens, to embedded programming for Google and Amazon connected IoT devices, Kojo has developed a range of experience in several areas and layers of modern technology stacks.

    Having spent time at several FinTech startups (Oakbrook Finance, Wealth Wizards and now Koodoo) Kojo has developed domain expertise not only in the technology required to build complex financial software but also in the business itself.

    Kojo attained a BSc in Maths and Physics from the University of Bristol, followed by a MSc in the Physics and Tech of Nuclear Reactors at the University of Birmingham.

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/leke-sholuade/index.html b/out/pastconferences/pastspeakers/2021/leke-sholuade/index.html index 7b2691ee..e1989f3b 100644 --- a/out/pastconferences/pastspeakers/2021/leke-sholuade/index.html +++ b/out/pastconferences/pastspeakers/2021/leke-sholuade/index.html @@ -1 +1 @@ -Leke Sholuade
    Picture of Leke Sholuade
    • Pronouns: He/Him
    • Talk Length: 15 mins

    Why do we need a Black Valley

    The session describes argues the case to build a Black Valley, the idea of supporting black talents in tech to make sure products are not biased towards black people.

    About Leke

    Founder of Black Valley

    Leke is the founder of Black Valley. An 8 weeks intensive person-centred programme which includes mentorship, community, and knowledge-building in tech for the black community

    Video from 2021


    Links

    \ No newline at end of file +Leke Sholuade
    Picture of Leke Sholuade
    • Pronouns: He/Him
    • Talk Length: 15 mins

    Why do we need a Black Valley

    The session describes argues the case to build a Black Valley, the idea of supporting black talents in tech to make sure products are not biased towards black people.

    About Leke

    Founder of Black Valley

    Leke is the founder of Black Valley. An 8 weeks intensive person-centred programme which includes mentorship, community, and knowledge-building in tech for the black community

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/lex-lofthouse/index.html b/out/pastconferences/pastspeakers/2021/lex-lofthouse/index.html index 0f483719..22765809 100644 --- a/out/pastconferences/pastspeakers/2021/lex-lofthouse/index.html +++ b/out/pastconferences/pastspeakers/2021/lex-lofthouse/index.html @@ -1 +1 @@ -Lex Lofthouse
    Picture of Lex Lofthouse
    • Pronouns: She/Her
    • Talk Length: 60 mins

    Design for Developers

    Have you ever found yourself not just having to build the product, but in the absence of an actual designer, you’re the one who ends up having to throw together a design for it too? Want to gain the magic design powers to transform that average screen into a beautiful interface?

    People have often told me they’d never be able to design interfaces because it’s too subjective and a completely different mindset to coding. Well I’m here to tell you that UI design isn’t as complex as it looks when you’ve got the right tools to hand – and it really isn't a magical dark art, I promise!

    In this talk, I will help you understand some of the main design principles that you can apply across UI design. Such as Typography, Emphasis, Hierarchy, Layout, Spacing, Size, Depth and Colour.

    We’ll be discussing these principles and, through visual demonstrations and examples, show how you can implement these principles across typical UI components such as forms, cards, dashboards and other interface elements . There may even be some *live designing* to help demonstrate.

    Whether you’re the ‘dev-signer’ or you’re just somebody who would like to learn some fundamental design skills to widen your knowledge – you should then leave feeling well equipped with new design skills to apply day to day!

    About Lex

    Senior Designer at Nzime

    Lex Lofthouse is a Senior Designer at Nzime, a digital agency in Nottingham. She has been working in the design industry for over a decade, where her career took her from the chilly regions of Scotland to the slightly less chilly streets of Nottingham. She specialises in digital design and UX, but also works across branding, print, illustration and animation. She’s even semi-competent at some basic HTML and CSS she’ll have you know!

    In her spare time Lex is a massive Pokemon fan, from the TCG to the anime. Plus despite being a professional designer she is also an advocate for Comic Sans, the world’s most misunderstood typeface (come and ask her why).

    Video from 2021


    Links

    \ No newline at end of file +Lex Lofthouse
    Picture of Lex Lofthouse
    • Pronouns: She/Her
    • Talk Length: 60 mins

    Design for Developers

    Have you ever found yourself not just having to build the product, but in the absence of an actual designer, you’re the one who ends up having to throw together a design for it too? Want to gain the magic design powers to transform that average screen into a beautiful interface?

    People have often told me they’d never be able to design interfaces because it’s too subjective and a completely different mindset to coding. Well I’m here to tell you that UI design isn’t as complex as it looks when you’ve got the right tools to hand – and it really isn't a magical dark art, I promise!

    In this talk, I will help you understand some of the main design principles that you can apply across UI design. Such as Typography, Emphasis, Hierarchy, Layout, Spacing, Size, Depth and Colour.

    We’ll be discussing these principles and, through visual demonstrations and examples, show how you can implement these principles across typical UI components such as forms, cards, dashboards and other interface elements . There may even be some *live designing* to help demonstrate.

    Whether you’re the ‘dev-signer’ or you’re just somebody who would like to learn some fundamental design skills to widen your knowledge – you should then leave feeling well equipped with new design skills to apply day to day!

    About Lex

    Senior Designer at Nzime

    Lex Lofthouse is a Senior Designer at Nzime, a digital agency in Nottingham. She has been working in the design industry for over a decade, where her career took her from the chilly regions of Scotland to the slightly less chilly streets of Nottingham. She specialises in digital design and UX, but also works across branding, print, illustration and animation. She’s even semi-competent at some basic HTML and CSS she’ll have you know!

    In her spare time Lex is a massive Pokemon fan, from the TCG to the anime. Plus despite being a professional designer she is also an advocate for Comic Sans, the world’s most misunderstood typeface (come and ask her why).

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/manu-magalhaes/index.html b/out/pastconferences/pastspeakers/2021/manu-magalhaes/index.html index e81f11d6..3c76e3fb 100644 --- a/out/pastconferences/pastspeakers/2021/manu-magalhaes/index.html +++ b/out/pastconferences/pastspeakers/2021/manu-magalhaes/index.html @@ -1 +1 @@ -Manu Magalhães
    Picture of Manu Magalhães
    • Pronouns: She/Her
    • Talk Length: 60 mins

    Nitty-Gitty: Master Git from the Inside

    You already use git, but you're still scared of it? Is git more a set of spells than a tool to you? Learn in this live demo how git works from the inside and reason all your git problems away.

    About Manu

    DevSecOps Engineer

    I am a DevSecOps Engineer interested in Cloud Security, Security Automation, and Cyberethics. Before getting hooked into CyberSecurity, I was a translator with a Journalism degree. I love to explore how technology affects our society, and how we can create tech for good.

    Video from 2021


    Coming Feburary 2022

    Links

    \ No newline at end of file +Manu Magalhães
    Picture of Manu Magalhães
    • Pronouns: She/Her
    • Talk Length: 60 mins

    Nitty-Gitty: Master Git from the Inside

    You already use git, but you're still scared of it? Is git more a set of spells than a tool to you? Learn in this live demo how git works from the inside and reason all your git problems away.

    About Manu

    DevSecOps Engineer

    I am a DevSecOps Engineer interested in Cloud Security, Security Automation, and Cyberethics. Before getting hooked into CyberSecurity, I was a translator with a Journalism degree. I love to explore how technology affects our society, and how we can create tech for good.

    Video from 2021


    Coming Feburary 2022

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/matt-whetton/index.html b/out/pastconferences/pastspeakers/2021/matt-whetton/index.html index 5277f5c4..33064b01 100644 --- a/out/pastconferences/pastspeakers/2021/matt-whetton/index.html +++ b/out/pastconferences/pastspeakers/2021/matt-whetton/index.html @@ -1 +1 @@ -Matt Whetton
    Picture of Matt Whetton
    • Pronouns: He/Him
    • Talk Length: 60 mins

    We need to talk about technical debt

    Technical debt is a popular metaphor used in most delivery teams. It’s a powerful way to describe complicated problems, convey the importance of building things right, and describes the cumulative effect of taking shortcuts. As engineers we all appreciate why preventing and paying down technical debt is important, but its often not something ‘the business’ really appreciates or seemingly cares about.

    More and more we see the backlog sliced in 2 different sections, the first being the business value adding work, the second being the technical debt work. This is also accompanied with some kind of rule that says ‘we can spend 10% of our time on technical debt’. It always feels like technical debt is just ‘something the devs go on about’, and not something that adds business value.

    This talk is to try to convince you to think about technical debt differently and eliminate it from your backlogs. To do this we’ll have to explore what ends up in the technical debt bucket, why its such a problem and what we can do about it. We’ll also talk about risk, the part it has to play and how it should be your best friend when managing complicated problem domains and systems. My goal is make risk exciting, useful and fundamental in what we do….which may sound crazy, but just stick with me!

    Technical debt shouldn’t be something just the dev’s care about, its something everyone should care about.

    About Matt

    Chief Technology Officer at Oakbrook Finance

    Matt is the Chief Technology Officer at Oakbrook Finance but is ultimately an engineer at heart. Having worked in a variety of engineering roles, across a variety industries, he has spent the last 10 years or so working in the financial service industry.

    You will find Matt talking, writing or just generally rambling about those subjects he’s most passionate about such as innovation culture, the craft of engineering, breaking down the control barriers around engineers and unleashing engineer creativity. He might also talk about comics now and again too!

    Video from 2021


    Links

    \ No newline at end of file +Matt Whetton
    Picture of Matt Whetton
    • Pronouns: He/Him
    • Talk Length: 60 mins

    We need to talk about technical debt

    Technical debt is a popular metaphor used in most delivery teams. It’s a powerful way to describe complicated problems, convey the importance of building things right, and describes the cumulative effect of taking shortcuts. As engineers we all appreciate why preventing and paying down technical debt is important, but its often not something ‘the business’ really appreciates or seemingly cares about.

    More and more we see the backlog sliced in 2 different sections, the first being the business value adding work, the second being the technical debt work. This is also accompanied with some kind of rule that says ‘we can spend 10% of our time on technical debt’. It always feels like technical debt is just ‘something the devs go on about’, and not something that adds business value.

    This talk is to try to convince you to think about technical debt differently and eliminate it from your backlogs. To do this we’ll have to explore what ends up in the technical debt bucket, why its such a problem and what we can do about it. We’ll also talk about risk, the part it has to play and how it should be your best friend when managing complicated problem domains and systems. My goal is make risk exciting, useful and fundamental in what we do….which may sound crazy, but just stick with me!

    Technical debt shouldn’t be something just the dev’s care about, its something everyone should care about.

    About Matt

    Chief Technology Officer at Oakbrook Finance

    Matt is the Chief Technology Officer at Oakbrook Finance but is ultimately an engineer at heart. Having worked in a variety of engineering roles, across a variety industries, he has spent the last 10 years or so working in the financial service industry.

    You will find Matt talking, writing or just generally rambling about those subjects he’s most passionate about such as innovation culture, the craft of engineering, breaking down the control barriers around engineers and unleashing engineer creativity. He might also talk about comics now and again too!

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/poornima-nayar/index.html b/out/pastconferences/pastspeakers/2021/poornima-nayar/index.html index 9127ef0b..ee656a4c 100644 --- a/out/pastconferences/pastspeakers/2021/poornima-nayar/index.html +++ b/out/pastconferences/pastspeakers/2021/poornima-nayar/index.html @@ -1 +1 @@ -Poornima Nayar
    Picture of Poornima Nayar
    • Pronouns: She/Her
    • Talk Length: 60 mins

    REST, GraphQL and gRPC : A Comparison

    Be it any industry, applications need to talk to each other. So, developers often build bridges – Application Programming Interfaces (API) – to allow one system to communicate to another.

    Over time, different API architectural styles have been released. Each of them has its own characteristics, patterns of data exchange, pros, and cons. REST, GraphQL and gRPC are three main options when it comes to API development and implementation In my session I will cover what REST, GraphQL, and gRPC are, how APIs can be implemented using each of these, and give you a comparison between them.

    About Poornima

    Freelance Developer, Microsoft MVP, Umbraco MVP

    Poornima is a .Net developer with over 10 years of experience in .Net and Umbraco. She is passionate about learning new technologies and keeping herself up-to-date with the latest developments in technology. Outside her work, Poornima enjoys music and is undergoing training in Indian Classical music. Based in Langley, UK she mothers a little girl and spends her spare time reading, cooking and watching movies.

    Video from 2021


    Coming Feburary 2022

    Links

    \ No newline at end of file +Poornima Nayar
    Picture of Poornima Nayar
    • Pronouns: She/Her
    • Talk Length: 60 mins

    REST, GraphQL and gRPC : A Comparison

    Be it any industry, applications need to talk to each other. So, developers often build bridges – Application Programming Interfaces (API) – to allow one system to communicate to another.

    Over time, different API architectural styles have been released. Each of them has its own characteristics, patterns of data exchange, pros, and cons. REST, GraphQL and gRPC are three main options when it comes to API development and implementation In my session I will cover what REST, GraphQL, and gRPC are, how APIs can be implemented using each of these, and give you a comparison between them.

    About Poornima

    Freelance Developer, Microsoft MVP, Umbraco MVP

    Poornima is a .Net developer with over 10 years of experience in .Net and Umbraco. She is passionate about learning new technologies and keeping herself up-to-date with the latest developments in technology. Outside her work, Poornima enjoys music and is undergoing training in Indian Classical music. Based in Langley, UK she mothers a little girl and spends her spare time reading, cooking and watching movies.

    Video from 2021


    Coming Feburary 2022

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/riz-akmal-khan/index.html b/out/pastconferences/pastspeakers/2021/riz-akmal-khan/index.html index 71da78ae..67b211af 100644 --- a/out/pastconferences/pastspeakers/2021/riz-akmal-khan/index.html +++ b/out/pastconferences/pastspeakers/2021/riz-akmal-khan/index.html @@ -1 +1 @@ -Rizwana Akmal Khan
    Picture of Rizwana Akmal Khan
    • Pronouns: She/Her
    • Talk Length: 30 mins

    Good Writers Become Better Developers

    Good writing might not be rocket science, but it is the secret ingredient in the recipe for a great developer. If you're already an experienced developer or a only just starting on the dev journey, by the end of this talk, you'll come to appreciate the similarities between the two mediums, and be ready to arm yourself with techniques that will help you improve your writing AND development skills.

    About Rizwana

    Customer Success Engineer at Vercel

    Rizwana is a designer-developer, poet, podcaster, and occasional-speaker. As a third-culture adult, she has grown up valuing diverse work environments and will always stand in support of spaces where people who may be seen as outsiders are given centre stage.

    Video from 2021


    Links

    \ No newline at end of file +Rizwana Akmal Khan
    Picture of Rizwana Akmal Khan
    • Pronouns: She/Her
    • Talk Length: 30 mins

    Good Writers Become Better Developers

    Good writing might not be rocket science, but it is the secret ingredient in the recipe for a great developer. If you're already an experienced developer or a only just starting on the dev journey, by the end of this talk, you'll come to appreciate the similarities between the two mediums, and be ready to arm yourself with techniques that will help you improve your writing AND development skills.

    About Rizwana

    Customer Success Engineer at Vercel

    Rizwana is a designer-developer, poet, podcaster, and occasional-speaker. As a third-culture adult, she has grown up valuing diverse work environments and will always stand in support of spaces where people who may be seen as outsiders are given centre stage.

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/simon-painter/index.html b/out/pastconferences/pastspeakers/2021/simon-painter/index.html index cd308e60..3f9f6083 100644 --- a/out/pastconferences/pastspeakers/2021/simon-painter/index.html +++ b/out/pastconferences/pastspeakers/2021/simon-painter/index.html @@ -1 +1 @@ -Simon Painter
    Picture of Simon Painter
    • Pronouns: He/Him
    • Talk Length: 60 mins

    SOLID Principles in 5 Nightmares

    The 5 SOLID principles - popularised by "Uncle" Bob Martin in some of his highly influential books on Object Orientated Software development - are rarely cited directly but they are nevertheless at the heart of a lot of the thinking that goes into modern software development.

    These principles have been around in some form or other ever since the 1980s, but continue to be just as relevant today as they were then.

    In this talk, we're going to look at each of the 5 SOLID principles, these being:

    • Single Dependency Principle
    • Open/Close Principle
    • Liskov Substitution Principle
    • Interface Segregation Principle
    • Dependency Inversion Principle

    See what he did there with the names?

    We'll look at each in turn, with the help of some slightly imaginative examples taken from a popular SF franchise. What are they, what nightmare scenarios can occur if they aren't followed, and how they can subsequently be applied.

    About Simon

    .NET Contractor and Consultant

    I've been working as a .NET developer for over 13 years now in a variety of industries including government, retail and manufacturing. But as a coder, I've been playing with making computers do whatever my crazed imagination could devise since I was old enough to read my Dad's copy of the ZX Spectrum BASIC coders manual.

    I've been speaking about Functional C# at various user groups and conferences around the UK, USA, and India, and am particularly interested in seeing just how far we can push the capabilities of C#.

    When I'm not coding, or running after my two small children, I have been known to enjoy the classic series of Doctor Who, Fighting Fantasy Gamebooks, Cryptic Crosswords, and rather more coffee than is probably good for me.

    Video from 2021


    Links

    \ No newline at end of file +Simon Painter
    Picture of Simon Painter
    • Pronouns: He/Him
    • Talk Length: 60 mins

    SOLID Principles in 5 Nightmares

    The 5 SOLID principles - popularised by "Uncle" Bob Martin in some of his highly influential books on Object Orientated Software development - are rarely cited directly but they are nevertheless at the heart of a lot of the thinking that goes into modern software development.

    These principles have been around in some form or other ever since the 1980s, but continue to be just as relevant today as they were then.

    In this talk, we're going to look at each of the 5 SOLID principles, these being:

    • Single Dependency Principle
    • Open/Close Principle
    • Liskov Substitution Principle
    • Interface Segregation Principle
    • Dependency Inversion Principle

    See what he did there with the names?

    We'll look at each in turn, with the help of some slightly imaginative examples taken from a popular SF franchise. What are they, what nightmare scenarios can occur if they aren't followed, and how they can subsequently be applied.

    About Simon

    .NET Contractor and Consultant

    I've been working as a .NET developer for over 13 years now in a variety of industries including government, retail and manufacturing. But as a coder, I've been playing with making computers do whatever my crazed imagination could devise since I was old enough to read my Dad's copy of the ZX Spectrum BASIC coders manual.

    I've been speaking about Functional C# at various user groups and conferences around the UK, USA, and India, and am particularly interested in seeing just how far we can push the capabilities of C#.

    When I'm not coding, or running after my two small children, I have been known to enjoy the classic series of Doctor Who, Fighting Fantasy Gamebooks, Cryptic Crosswords, and rather more coffee than is probably good for me.

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/stephen-haunts/index.html b/out/pastconferences/pastspeakers/2021/stephen-haunts/index.html index 1ddac0a0..da84c3d1 100644 --- a/out/pastconferences/pastspeakers/2021/stephen-haunts/index.html +++ b/out/pastconferences/pastspeakers/2021/stephen-haunts/index.html @@ -1 +1 @@ -Stephen Haunts
    Picture of Stephen Haunts
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Hacking Humans : Social Engineering Techniques and How to Protect Against Them

    Social engineering is one of the biggest threats to our organisations as attackers use manipulation techniques to coerce people into revealing secrets about our companies to allow attackers to gain access to critical systems.

    In this talk we will look at some of the techniques used in social engineering and look at how to guard yourself against them. We will cover subjects like pre-texting, elicitation and body language as techniques for manipulating people.

    About Stephen

    Founder of Stephen Haunts Training

    Stephen Haunts is an independent software developer, Pluralsight Author, Writer for APress, and classroom trainer. Stephen has had a long career working in computer games, banks, retail finance, insurance and healthcare and is now passionate about helping other developers, and professionals succeed in their careers.

    Stephen has authored over 14 courses for Pluralsight, written a book on Cryptography for APress, and has spoken and taught workshops at conferences and companies all over the world.

    Stephen is also the host of the popular business podcast, the Side Hustle Success Podcast.

    Video from 2021


    Links

    \ No newline at end of file +Stephen Haunts
    Picture of Stephen Haunts
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Hacking Humans : Social Engineering Techniques and How to Protect Against Them

    Social engineering is one of the biggest threats to our organisations as attackers use manipulation techniques to coerce people into revealing secrets about our companies to allow attackers to gain access to critical systems.

    In this talk we will look at some of the techniques used in social engineering and look at how to guard yourself against them. We will cover subjects like pre-texting, elicitation and body language as techniques for manipulating people.

    About Stephen

    Founder of Stephen Haunts Training

    Stephen Haunts is an independent software developer, Pluralsight Author, Writer for APress, and classroom trainer. Stephen has had a long career working in computer games, banks, retail finance, insurance and healthcare and is now passionate about helping other developers, and professionals succeed in their careers.

    Stephen has authored over 14 courses for Pluralsight, written a book on Cryptography for APress, and has spoken and taught workshops at conferences and companies all over the world.

    Stephen is also the host of the popular business podcast, the Side Hustle Success Podcast.

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/stephen-jackson/index.html b/out/pastconferences/pastspeakers/2021/stephen-jackson/index.html index d9e2cc48..53d8dbce 100644 --- a/out/pastconferences/pastspeakers/2021/stephen-jackson/index.html +++ b/out/pastconferences/pastspeakers/2021/stephen-jackson/index.html @@ -1 +1 @@ -Stephen Jackson
    Picture of Stephen Jackson
    • Pronouns: He/Him
    • Talk Length: 15 mins

    Senior By Default

    In June 2020 the team manager and tech lead both announced they were leaving the company, making me the most senior developer there. Overnight I went from a simple developer to leading a multi-disciplined team responsible for mission-critical business systems.

    In this presentation, I will talk about my first year in charge, my triumphs, and my mistakes. I will talk about the processes I implemented to keep myself sane and ensure the team I now lead continued to drive our software forward and serve business objectives. Along the way, I hope to impart some key lessons that I learned that may help anyone who is looking to move up to a senior position.

    This is a talk for those looking to take on management or tech lead responsibilities and for any tech professionals who through no fault of their own have found themselves in a leadership position.

    About Stephen

    Applications Team Lead

    Having come late to the software development game, Stephen has worked in a variety of software development roles in the utility and retail sectors. He now works in a team lead role for a well know Nottingham Fashion retailer working with various technologies but primarily uses the Microsoft tech stack of Dot Net and SQL Server.

    When not developing software Stephen enjoys going for walks with his 2 dogs Holly and Daisy and also more geeky pursuits such as miniature and board gaming. He thinks the worse day of the week is and has always has been Tuesday and will gladly provide his reasons why this is so to anyone who asks.

    Video from 2021


    Links

    \ No newline at end of file +Stephen Jackson
    Picture of Stephen Jackson
    • Pronouns: He/Him
    • Talk Length: 15 mins

    Senior By Default

    In June 2020 the team manager and tech lead both announced they were leaving the company, making me the most senior developer there. Overnight I went from a simple developer to leading a multi-disciplined team responsible for mission-critical business systems.

    In this presentation, I will talk about my first year in charge, my triumphs, and my mistakes. I will talk about the processes I implemented to keep myself sane and ensure the team I now lead continued to drive our software forward and serve business objectives. Along the way, I hope to impart some key lessons that I learned that may help anyone who is looking to move up to a senior position.

    This is a talk for those looking to take on management or tech lead responsibilities and for any tech professionals who through no fault of their own have found themselves in a leadership position.

    About Stephen

    Applications Team Lead

    Having come late to the software development game, Stephen has worked in a variety of software development roles in the utility and retail sectors. He now works in a team lead role for a well know Nottingham Fashion retailer working with various technologies but primarily uses the Microsoft tech stack of Dot Net and SQL Server.

    When not developing software Stephen enjoys going for walks with his 2 dogs Holly and Daisy and also more geeky pursuits such as miniature and board gaming. He thinks the worse day of the week is and has always has been Tuesday and will gladly provide his reasons why this is so to anyone who asks.

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/steve-collins/index.html b/out/pastconferences/pastspeakers/2021/steve-collins/index.html index 6d5a97aa..ae1fdd59 100644 --- a/out/pastconferences/pastspeakers/2021/steve-collins/index.html +++ b/out/pastconferences/pastspeakers/2021/steve-collins/index.html @@ -1 +1 @@ -Steve Collins
    Picture of Steve Collins
    • Pronouns: He/Him
    • Talk Length: 60 mins

    The [Source Code] Generation Game

    There has been a lot of buzz around source generators in .NET 5 and it's there's more to come in .NET 6.

    But ... how did we get here and what may the future hold?

    This talk starts with a brief history of my journey into source code generation, starting with the ZX Spectrum, through the Visual Basic years and then the code generation tools used with .NET framework and Visual Studio.

    The remainder of the talk will focus on the source generators introduced with .NET 5, covering

    • How they differ from traditional template based code generation
    • Tooling to help debugging
    • Gotchas with the tooling!
    • Unit testing

    Lastly, we will look at where source generators may go in the future

    • More out of the box use, such as System.Text.Json in .NET 6
    • Potential for Intellicode and Github Copilot integration

    About Steve

    Freelance software developer

    Steve Collins is an independent software developer/architect with over 25 years’ experience in the industry working with Microsoft technologies.

    Steve blogs at https://SteveTalksCode.co.uk and tweets@SteveTalksCode

    Steve has given talks about configuration at events and user groups around the UK and has also discussed configuration as a guest on the Dot Net Core Show podcasthttps://dotnetcore.show/episode-49-configuration-in-net-core-with-steve-collins/and the Documentation Not Included podcasthttps://www.youtube.com/watch?v=kXoprCDHBZM

    Video from 2021


    Links

    \ No newline at end of file +Steve Collins
    Picture of Steve Collins
    • Pronouns: He/Him
    • Talk Length: 60 mins

    The [Source Code] Generation Game

    There has been a lot of buzz around source generators in .NET 5 and it's there's more to come in .NET 6.

    But ... how did we get here and what may the future hold?

    This talk starts with a brief history of my journey into source code generation, starting with the ZX Spectrum, through the Visual Basic years and then the code generation tools used with .NET framework and Visual Studio.

    The remainder of the talk will focus on the source generators introduced with .NET 5, covering

    • How they differ from traditional template based code generation
    • Tooling to help debugging
    • Gotchas with the tooling!
    • Unit testing

    Lastly, we will look at where source generators may go in the future

    • More out of the box use, such as System.Text.Json in .NET 6
    • Potential for Intellicode and Github Copilot integration

    About Steve

    Freelance software developer

    Steve Collins is an independent software developer/architect with over 25 years’ experience in the industry working with Microsoft technologies.

    Steve blogs at https://SteveTalksCode.co.uk and tweets@SteveTalksCode

    Steve has given talks about configuration at events and user groups around the UK and has also discussed configuration as a guest on the Dot Net Core Show podcasthttps://dotnetcore.show/episode-49-configuration-in-net-core-with-steve-collins/and the Documentation Not Included podcasthttps://www.youtube.com/watch?v=kXoprCDHBZM

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/tania-allard/index.html b/out/pastconferences/pastspeakers/2021/tania-allard/index.html index 75cd7101..0e81537c 100644 --- a/out/pastconferences/pastspeakers/2021/tania-allard/index.html +++ b/out/pastconferences/pastspeakers/2021/tania-allard/index.html @@ -1 +1 @@ -Tania Allard
    Picture of Tania Allard
    • Pronouns: She/Her
    • Talk Length: 60 minute Keynote

    KEYNOTE: Open source for fun and for profit: rethinking the long road of sustainability.

    It is not an understatement to say that today, in 2021, the world runs on open source. Wherever you look, you will find open-source software in the wild - whether you have a smartphone in your pocket or if you see a self-driving car passing by or rockets orbiting in space, open-source is even in simple tasks as deciding what to watch tonight. Open-source software and open infrastructure not only serve as the engine that powers our world. It also enables folks to get together and connect isolated individuals, communities, and missions.

    With this in mind, the most important questions we should be asking is: who and what fuels open source? In this presentation, I will discuss how open source can bring individuals together to form communities. And more importantly, how we can rethink open-source and labour to ensure its long-term sustainability.

    About Tania

    Tania is the co-director at Quansight Labs and previous Sr. Developer Advocate at Microsoft. She has vast experience in academic research and industrial environments. Her main areas of expertise are within data-intensive applications, scientific computing, and machine learning. Tania has conducted extensive work on the improvement of processes, reproducibility and transparency in research, data science and artificial intelligence. She is passionate about mentoring, open source, and its community and is involved in a number of initiatives aimed to build more diverse and inclusive communities. She is also a contributor, maintainer, and developer of a number of open source projects and the Founder of Pyladies NorthWest.

    In her free time she likes tinkering with electronics, nerding with mechanical keyboards, reading all the books and lifting heavy weights.

    Video from 2021


    Links

    \ No newline at end of file +Tania Allard
    Picture of Tania Allard
    • Pronouns: She/Her
    • Talk Length: 60 minute Keynote

    KEYNOTE: Open source for fun and for profit: rethinking the long road of sustainability.

    It is not an understatement to say that today, in 2021, the world runs on open source. Wherever you look, you will find open-source software in the wild - whether you have a smartphone in your pocket or if you see a self-driving car passing by or rockets orbiting in space, open-source is even in simple tasks as deciding what to watch tonight. Open-source software and open infrastructure not only serve as the engine that powers our world. It also enables folks to get together and connect isolated individuals, communities, and missions.

    With this in mind, the most important questions we should be asking is: who and what fuels open source? In this presentation, I will discuss how open source can bring individuals together to form communities. And more importantly, how we can rethink open-source and labour to ensure its long-term sustainability.

    About Tania

    Tania is the co-director at Quansight Labs and previous Sr. Developer Advocate at Microsoft. She has vast experience in academic research and industrial environments. Her main areas of expertise are within data-intensive applications, scientific computing, and machine learning. Tania has conducted extensive work on the improvement of processes, reproducibility and transparency in research, data science and artificial intelligence. She is passionate about mentoring, open source, and its community and is involved in a number of initiatives aimed to build more diverse and inclusive communities. She is also a contributor, maintainer, and developer of a number of open source projects and the Founder of Pyladies NorthWest.

    In her free time she likes tinkering with electronics, nerding with mechanical keyboards, reading all the books and lifting heavy weights.

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2021/tom-morton/index.html b/out/pastconferences/pastspeakers/2021/tom-morton/index.html index e4c4bd88..a4dae700 100644 --- a/out/pastconferences/pastspeakers/2021/tom-morton/index.html +++ b/out/pastconferences/pastspeakers/2021/tom-morton/index.html @@ -1 +1 @@ -Tom Morton
    Picture of Tom Morton
    • Pronouns: He/Him
    • Talk Length: 30 mins

    Open Banking vs. DeFi; The technological future of finance?

    Crypto Currencies. Open API's. Democratising FInance. Which approach to Open Finance will ultimately succeed and what does that mean for technology in the future.

    About Tom

    Senior Engineering Manager, Capital One

    Tom is an engineer, writer and experienced people leader. His technical background and interests are extensive including security, software development, DevOps and engineering culture. In 2008 he famously declared management was not for him. Naturally, 6 years later he is responsible for 50 people across a number of teams - although he does try to write code when he can.

    Video from 2021


    Links

    \ No newline at end of file +Tom Morton
    Picture of Tom Morton
    • Pronouns: He/Him
    • Talk Length: 30 mins

    Open Banking vs. DeFi; The technological future of finance?

    Crypto Currencies. Open API's. Democratising FInance. Which approach to Open Finance will ultimately succeed and what does that mean for technology in the future.

    About Tom

    Senior Engineering Manager, Capital One

    Tom is an engineer, writer and experienced people leader. His technical background and interests are extensive including security, software development, DevOps and engineering culture. In 2008 he famously declared management was not for him. Naturally, 6 years later he is responsible for 50 people across a number of teams - although he does try to write code when he can.

    Video from 2021


    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/ashley-smith/index.html b/out/pastconferences/pastspeakers/2023/ashley-smith/index.html index a7348553..2eb5acad 100644 --- a/out/pastconferences/pastspeakers/2023/ashley-smith/index.html +++ b/out/pastconferences/pastspeakers/2023/ashley-smith/index.html @@ -1 +1 @@ -Ashley Smith
    Picture of Ashley Smith
    • Pronouns: She/Her
    • Talk Length: 30 mins

    Don't go chasing waterfall

    I've been working in testing for about 10 years, and whilst the best practice and ddmethodolgies have moved on, us testers are facing the same problems! We're the bottlenecks, the under pressure, and dare I say the under-valued!

    A quick talk about showing your testers some love and embracing best practice to achieve awesomeness together.

    About Ashley

    She's awesome and works for BJSS.

    Links

    \ No newline at end of file +Ashley Smith
    Picture of Ashley Smith
    • Pronouns: She/Her
    • Talk Length: 30 mins

    Don't go chasing waterfall

    I've been working in testing for about 10 years, and whilst the best practice and ddmethodolgies have moved on, us testers are facing the same problems! We're the bottlenecks, the under pressure, and dare I say the under-valued!

    A quick talk about showing your testers some love and embracing best practice to achieve awesomeness together.

    About Ashley

    She's awesome and works for BJSS.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/connell-sharp/index.html b/out/pastconferences/pastspeakers/2023/connell-sharp/index.html index bbe1eee7..384a72ad 100644 --- a/out/pastconferences/pastspeakers/2023/connell-sharp/index.html +++ b/out/pastconferences/pastspeakers/2023/connell-sharp/index.html @@ -1 +1 @@ -Connell Sharp
    Picture of Connell Sharp
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Good Microservice Boundaries

    Deciding which things belong in which service can make or break your architecture. How big should services be? How many developers per service, or service per developers? Tips on how to find the right boundaries using ideas from Domain-Driven Design and Team Topologies, with some common mistakes to avoid.

    About Connell Sharp

    Software Engineer at Stack Overflow

    Coding since 2005. Every day learning and sharing knowledge.

    Links

    \ No newline at end of file +Connell Sharp
    Picture of Connell Sharp
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Good Microservice Boundaries

    Deciding which things belong in which service can make or break your architecture. How big should services be? How many developers per service, or service per developers? Tips on how to find the right boundaries using ideas from Domain-Driven Design and Team Topologies, with some common mistakes to avoid.

    About Connell Sharp

    Software Engineer at Stack Overflow

    Coding since 2005. Every day learning and sharing knowledge.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/dan-clarke/index.html b/out/pastconferences/pastspeakers/2023/dan-clarke/index.html index 98734043..75bc6eda 100644 --- a/out/pastconferences/pastspeakers/2023/dan-clarke/index.html +++ b/out/pastconferences/pastspeakers/2023/dan-clarke/index.html @@ -1 +1 @@ -Dan Clarke
    Picture of Dan Clarke
    • Pronouns: He/Him
    • Talk Length: 15 mins

    Git - Under the Covers

    We all use Git, right? But do you know how it actually works? And I don't mean "what is rebasing?" - let's go a bit deeper than that. I'm sure you've all heard someone say "each commit is a snapshot of the entire codebase". But what does that actually mean? In this talk, we'll explore the different object types that Git uses to store its information and how they relate to each other. It's surprisingly simple - and really useful to know when using Git.

    About Dan Clarke

    Microsoft MVP | .NET Dev | Host of The Unhandled Exception Podcast | Founder/organiser of the @dotnetoxford and @azure_oxford user groups | Owner of Everstack

    Dan is a Microsoft MVP; host of the Unhandled Exception Podcast; owner of Everstack (a consulting company specialising in .NET and Azure); and founder of the .NET Oxford and Azure Oxford user groups. He has been developing for twenty-odd years - starting off in the games industry writing C/C++ - but focusing on .NET for over a decade. And now also working in the Azure space.

    Links

    \ No newline at end of file +Dan Clarke
    Picture of Dan Clarke
    • Pronouns: He/Him
    • Talk Length: 15 mins

    Git - Under the Covers

    We all use Git, right? But do you know how it actually works? And I don't mean "what is rebasing?" - let's go a bit deeper than that. I'm sure you've all heard someone say "each commit is a snapshot of the entire codebase". But what does that actually mean? In this talk, we'll explore the different object types that Git uses to store its information and how they relate to each other. It's surprisingly simple - and really useful to know when using Git.

    About Dan Clarke

    Microsoft MVP | .NET Dev | Host of The Unhandled Exception Podcast | Founder/organiser of the @dotnetoxford and @azure_oxford user groups | Owner of Everstack

    Dan is a Microsoft MVP; host of the Unhandled Exception Podcast; owner of Everstack (a consulting company specialising in .NET and Azure); and founder of the .NET Oxford and Azure Oxford user groups. He has been developing for twenty-odd years - starting off in the games industry writing C/C++ - but focusing on .NET for over a decade. And now also working in the Azure space.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/eli-holderness/index.html b/out/pastconferences/pastspeakers/2023/eli-holderness/index.html index 335d84e6..55ecd705 100644 --- a/out/pastconferences/pastspeakers/2023/eli-holderness/index.html +++ b/out/pastconferences/pastspeakers/2023/eli-holderness/index.html @@ -1 +1 @@ -Eli Holderness
    Picture of Eli Holderness
    • Pronouns: They/Them
    • Talk Length: 60 mins

    You Shall Not Password: Modern Authentication for Web Apps

    In the good old days, your users would log into a web app with a username and password. But now people expect an alphabet soup of SSO, 2FA, OAuth, OIDC, SAML, FIDO2, OTP... What do they all mean - and why do they matter? Why is central authentication useful? What does two-factor authentication really protect us from, and what's still wide open? Learn how to keep your users safe as we discuss the good, the bad and the ugly of modern authentication mechanisms for the Web.

    This talk is aimed at anyone passingly familiar with web development, with an interest in security, or who simply wants to know what’s really going on when you ‘sign in with Google’.

    About Eli Holderness

    Developer Advocate at Scaleway

    Eli has been in tech for 6 years, working in industries ranging from telecoms to biotech to analog circuit design; now, they're doing developer advocacy at Scaleway and yelling at the cloud. In their spare time, they like to play video games, knit and sew, and hang out with their cat.

    Links

    \ No newline at end of file +Eli Holderness
    Picture of Eli Holderness
    • Pronouns: They/Them
    • Talk Length: 60 mins

    You Shall Not Password: Modern Authentication for Web Apps

    In the good old days, your users would log into a web app with a username and password. But now people expect an alphabet soup of SSO, 2FA, OAuth, OIDC, SAML, FIDO2, OTP... What do they all mean - and why do they matter? Why is central authentication useful? What does two-factor authentication really protect us from, and what's still wide open? Learn how to keep your users safe as we discuss the good, the bad and the ugly of modern authentication mechanisms for the Web.

    This talk is aimed at anyone passingly familiar with web development, with an interest in security, or who simply wants to know what’s really going on when you ‘sign in with Google’.

    About Eli Holderness

    Developer Advocate at Scaleway

    Eli has been in tech for 6 years, working in industries ranging from telecoms to biotech to analog circuit design; now, they're doing developer advocacy at Scaleway and yelling at the cloud. In their spare time, they like to play video games, knit and sew, and hang out with their cat.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/gosia-borzecka/index.html b/out/pastconferences/pastspeakers/2023/gosia-borzecka/index.html index 51c0abb5..bdfcc963 100644 --- a/out/pastconferences/pastspeakers/2023/gosia-borzecka/index.html +++ b/out/pastconferences/pastspeakers/2023/gosia-borzecka/index.html @@ -1 +1 @@ -Gosia Borzęcka
    Picture of Gosia Borzęcka
    • Pronouns: She/Her
    • Talk Length: 60 mins

    Don't panic - AI will not take your job

    We hear everywhere that AI is becoming more powerful day by day. And with OpenAI and ChatGPT's popularity, we can start thinking about how our life will change. But to better understand those changes, we should better understand this technology. So if you are curious about what benefits OpenAI can give you and how to move your ideas on the Enterprise level - come to this session. You will learn about OpenAI and Azure OpenAI services and what potential they can give to your everyday work and as well your projects!

    About Gosia Borzęcka

    AI Engineer

    Gosia Borzecka is a Microsoft AI MVP and AI Engineer at Avanade. She is a full-stack .NET and React developer with Office 365 experience. For the last two years, she has been interested in AI and Machine Learning (and Python!), and during her day job, she helped customers bring AI and ML models into the Modern Workplace. Gosia is also an international speaker, co-leader of NottsDevWorksop, and co-leader of AI 42, where she organized a few AI/Office 365 Bootcamps and AI/ML-focused meetings.

    Links

    \ No newline at end of file +Gosia Borzęcka
    Picture of Gosia Borzęcka
    • Pronouns: She/Her
    • Talk Length: 60 mins

    Don't panic - AI will not take your job

    We hear everywhere that AI is becoming more powerful day by day. And with OpenAI and ChatGPT's popularity, we can start thinking about how our life will change. But to better understand those changes, we should better understand this technology. So if you are curious about what benefits OpenAI can give you and how to move your ideas on the Enterprise level - come to this session. You will learn about OpenAI and Azure OpenAI services and what potential they can give to your everyday work and as well your projects!

    About Gosia Borzęcka

    AI Engineer

    Gosia Borzecka is a Microsoft AI MVP and AI Engineer at Avanade. She is a full-stack .NET and React developer with Office 365 experience. For the last two years, she has been interested in AI and Machine Learning (and Python!), and during her day job, she helped customers bring AI and ML models into the Modern Workplace. Gosia is also an international speaker, co-leader of NottsDevWorksop, and co-leader of AI 42, where she organized a few AI/Office 365 Bootcamps and AI/ML-focused meetings.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/jamie-tanna/index.html b/out/pastconferences/pastspeakers/2023/jamie-tanna/index.html index ffbb47e9..fbde5137 100644 --- a/out/pastconferences/pastspeakers/2023/jamie-tanna/index.html +++ b/out/pastconferences/pastspeakers/2023/jamie-tanna/index.html @@ -1 +1 @@ -Jamie Tanna
    Picture of Jamie Tanna
    • Pronouns: He/Him
    • Talk Length: 15 mins

    This talk could've been a blog post

    In recent years, blogging and the personal website have been getting a resurgence. I see blogging as a critical skill for every engineer to make them more well-rounded and effective in their roles, which can be a force-multiplier for someone's career, regardless of how many people read the posts.

    In this talk, you'll learn some tips and tricks to getting started, as well as how to silence the Imposter Syndrome telling you that "you don't have anything worth writing" or that "there are better people who can blog about that thing", because it's just not true!

    Blogging also doesn't just benefit you, but it can help level up your team, and for companies that actively support and encourage engineers blogging about the work they do, it can be a great indication to prospective candidates of the great work you're doing.

    About Jamie Tanna

    Chief Blogger at www.jvt.me

    Jamie is a serial blogger and Open Sourcerer, who enjoys building things in the open to solve his needs, but with the added bonus that others often find it useful too!

    Links

    \ No newline at end of file +Jamie Tanna
    Picture of Jamie Tanna
    • Pronouns: He/Him
    • Talk Length: 15 mins

    This talk could've been a blog post

    In recent years, blogging and the personal website have been getting a resurgence. I see blogging as a critical skill for every engineer to make them more well-rounded and effective in their roles, which can be a force-multiplier for someone's career, regardless of how many people read the posts.

    In this talk, you'll learn some tips and tricks to getting started, as well as how to silence the Imposter Syndrome telling you that "you don't have anything worth writing" or that "there are better people who can blog about that thing", because it's just not true!

    Blogging also doesn't just benefit you, but it can help level up your team, and for companies that actively support and encourage engineers blogging about the work they do, it can be a great indication to prospective candidates of the great work you're doing.

    About Jamie Tanna

    Chief Blogger at www.jvt.me

    Jamie is a serial blogger and Open Sourcerer, who enjoys building things in the open to solve his needs, but with the added bonus that others often find it useful too!

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/marc-steele/index.html b/out/pastconferences/pastspeakers/2023/marc-steele/index.html index 6a0fc2c0..d4692bfa 100644 --- a/out/pastconferences/pastspeakers/2023/marc-steele/index.html +++ b/out/pastconferences/pastspeakers/2023/marc-steele/index.html @@ -1 +1 @@ -Marc Steele
    Picture of Marc Steele
    • Pronouns: He/Him
    • Talk Length: 30 mins

    Hacking Your Home Network from a TV Broadcast

    The technical standards for broadcast TV allow JavaScript applications to be delivered over the air and run on an embedded browser on your TV. Given they can run without you noticing and have access to the network your smart TV is connected to, how hard is it to perform this attack and what risk does your TV pose?

    About Marc

    Software Architect, MSc. Student & Podcast Host on "A Wee Natter"

    Marc brings together a unique mix of technology and broadcast experience that's sure to make for a fascinating presentation.

    He currently works for a business helping improve power grids around the world but has in the past had his work featured on Hackaday and PC Tools magazine.

    Links

    \ No newline at end of file +Marc Steele
    Picture of Marc Steele
    • Pronouns: He/Him
    • Talk Length: 30 mins

    Hacking Your Home Network from a TV Broadcast

    The technical standards for broadcast TV allow JavaScript applications to be delivered over the air and run on an embedded browser on your TV. Given they can run without you noticing and have access to the network your smart TV is connected to, how hard is it to perform this attack and what risk does your TV pose?

    About Marc

    Software Architect, MSc. Student & Podcast Host on "A Wee Natter"

    Marc brings together a unique mix of technology and broadcast experience that's sure to make for a fascinating presentation.

    He currently works for a business helping improve power grids around the world but has in the past had his work featured on Hackaday and PC Tools magazine.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/marcus-noble/index.html b/out/pastconferences/pastspeakers/2023/marcus-noble/index.html index e1916089..816e75c9 100644 --- a/out/pastconferences/pastspeakers/2023/marcus-noble/index.html +++ b/out/pastconferences/pastspeakers/2023/marcus-noble/index.html @@ -1 +1 @@ -Marcus Noble
    Picture of Marcus Noble
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Managing Kubernetes without losing your cool

    After several years operating and building on Kubernetes clusters I have my fair share of battle scars. From network misconfigurations to soaring cloud costs to deletion of a production control plane, just to name a few.

    Each time something went wrong, dealing with it became a little easier and each incident added another tool to my bag of tricks.

    Over time I’ve tried to simplify and automate as much of my debugging technique as I can, through a combination of scripts, tools and code.

    This talk will cover some practical tips and tricks that everyone using Kubernetes, regardless of experience level, can leverage to make interacting with clusters that little bit easier. We’ll start small, something anyone can do today, and work our way up to building our own tooling on top of Kubernetes to make every day operations just that little nicer.

    About Marcus Noble

    Platform Engineer @ Giant Swarm

    Marcus is a platform engineer at Giant Swarm, a company dedicated to offering managed Kubernetes solutions. His main area of focus in recent years has been around Go, Kubernetes, containers and DevOps but originally started out as a web developer and JavaScript enthusiast. A self-described “tinkerer”, when not building Kubernetes solutions, Marcus likes to dabble with 3D printing and experimenting with smart home tech.

    Links

    \ No newline at end of file +Marcus Noble
    Picture of Marcus Noble
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Managing Kubernetes without losing your cool

    After several years operating and building on Kubernetes clusters I have my fair share of battle scars. From network misconfigurations to soaring cloud costs to deletion of a production control plane, just to name a few.

    Each time something went wrong, dealing with it became a little easier and each incident added another tool to my bag of tricks.

    Over time I’ve tried to simplify and automate as much of my debugging technique as I can, through a combination of scripts, tools and code.

    This talk will cover some practical tips and tricks that everyone using Kubernetes, regardless of experience level, can leverage to make interacting with clusters that little bit easier. We’ll start small, something anyone can do today, and work our way up to building our own tooling on top of Kubernetes to make every day operations just that little nicer.

    About Marcus Noble

    Platform Engineer @ Giant Swarm

    Marcus is a platform engineer at Giant Swarm, a company dedicated to offering managed Kubernetes solutions. His main area of focus in recent years has been around Go, Kubernetes, containers and DevOps but originally started out as a web developer and JavaScript enthusiast. A self-described “tinkerer”, when not building Kubernetes solutions, Marcus likes to dabble with 3D printing and experimenting with smart home tech.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/mark-goodwin/index.html b/out/pastconferences/pastspeakers/2023/mark-goodwin/index.html index 3ffdc262..1a23fc0b 100644 --- a/out/pastconferences/pastspeakers/2023/mark-goodwin/index.html +++ b/out/pastconferences/pastspeakers/2023/mark-goodwin/index.html @@ -1 +1 @@ -Mark Goodwin
    Picture of Mark Goodwin
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Building Robots for Complete Beginners

    An introduction to building robots for complete beginners. Includes wires, microcontrollers, lego... and much, much more!

    About Mark Goodwin

    Maker. Hacker. Breaker of things.

    Mark is a security specialist and software developer with years of experience in building and securing business critical, Internet facing systems. Mark has been privileged to work on many kinds of systems including banking applications, embedded devices and web browsers.

    Mark currently leads AppSec for Matillion.

    Links

    \ No newline at end of file +Mark Goodwin
    Picture of Mark Goodwin
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Building Robots for Complete Beginners

    An introduction to building robots for complete beginners. Includes wires, microcontrollers, lego... and much, much more!

    About Mark Goodwin

    Maker. Hacker. Breaker of things.

    Mark is a security specialist and software developer with years of experience in building and securing business critical, Internet facing systems. Mark has been privileged to work on many kinds of systems including banking applications, embedded devices and web browsers.

    Mark currently leads AppSec for Matillion.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/martyn-kilbryde/index.html b/out/pastconferences/pastspeakers/2023/martyn-kilbryde/index.html index daf724cc..240aa1b0 100644 --- a/out/pastconferences/pastspeakers/2023/martyn-kilbryde/index.html +++ b/out/pastconferences/pastspeakers/2023/martyn-kilbryde/index.html @@ -1 +1 @@ -Martyn Kilbryde
    Picture of Martyn Kilbryde
    • Pronouns: He/Him
    • Talk Length: 15 mins

    The Art of the Bad Code Review

    Have you ever received a code review that made you question your entire existence as a programmer? Have you found yourself scratching your head in confusion after reading a comment that was more cryptic than the code itself? If so, you're not alone.

    But fear not, as we delve into the world of disastrous reviews, we'll showcase some prime examples of brilliantly terrible reviews so you can learn how to avoid making the same mistakes.

    So come join us for a sarcastic and entertaining look at the art of the bad code review!

    About Martyn Kilbryde

    Principal Software Architect at D55

    Martyn Kilbryde is an experienced Principal Software Architect working at D55, an AWS consulting partner specialising in cloud-native and serverless technologies. He has many years of experience working with global highly transactional public-facing applications, specialising in building and delivering large complex systems from scratch.

    Martyn is also an AWS Ambassador, and a member of the AWS Community Builders program. Spending the days working with multiple clients in all areas of industry, he also spends his spare time digging deeper, exploring technology and sharing that knowledge with the wider community.

    Links

    \ No newline at end of file +Martyn Kilbryde
    Picture of Martyn Kilbryde
    • Pronouns: He/Him
    • Talk Length: 15 mins

    The Art of the Bad Code Review

    Have you ever received a code review that made you question your entire existence as a programmer? Have you found yourself scratching your head in confusion after reading a comment that was more cryptic than the code itself? If so, you're not alone.

    But fear not, as we delve into the world of disastrous reviews, we'll showcase some prime examples of brilliantly terrible reviews so you can learn how to avoid making the same mistakes.

    So come join us for a sarcastic and entertaining look at the art of the bad code review!

    About Martyn Kilbryde

    Principal Software Architect at D55

    Martyn Kilbryde is an experienced Principal Software Architect working at D55, an AWS consulting partner specialising in cloud-native and serverless technologies. He has many years of experience working with global highly transactional public-facing applications, specialising in building and delivering large complex systems from scratch.

    Martyn is also an AWS Ambassador, and a member of the AWS Community Builders program. Spending the days working with multiple clients in all areas of industry, he also spends his spare time digging deeper, exploring technology and sharing that knowledge with the wider community.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/matt-brunt/index.html b/out/pastconferences/pastspeakers/2023/matt-brunt/index.html index 4d30ca05..5f4bd51b 100644 --- a/out/pastconferences/pastspeakers/2023/matt-brunt/index.html +++ b/out/pastconferences/pastspeakers/2023/matt-brunt/index.html @@ -1 +1 @@ -Matt Brunt
    Picture of Matt Brunt
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Dungeons, Dragons & Developers

    You enter the dungeon, as the echoes of your footsteps sound around you, something catches your eye - is that… oh, oh no.

    You grab your trusty sword and with your fellow adventurers, you seek to overcome the mighty challenge that lays ahead of you: building software.

    This talk is a look at some of the parallels between Dungeons and Dragons, and software development.

    We’ll see how lessons learned through delving into dungeons and fighting monsters with a party of adventurers can help teams of developers when building software in the real world.

    Are you ready to join me in a mighty quest for better software?

    About Matt Brunt

    Chaotic Wizard

    Matt Brunt is a Senior Software Engineer with Bumble where he works in a User Safety, Trust, and Integrity team.

    He’s a mentor for development topics such as BDD, TDD, and clean-code, as well as having a few open source packages out in the wild.

    When not tinkering with code he can be found reading comics, fighting monsters in dungeons and dragons, or drinking tea and eating jaffa-cakes.

    Links

    \ No newline at end of file +Matt Brunt
    Picture of Matt Brunt
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Dungeons, Dragons & Developers

    You enter the dungeon, as the echoes of your footsteps sound around you, something catches your eye - is that… oh, oh no.

    You grab your trusty sword and with your fellow adventurers, you seek to overcome the mighty challenge that lays ahead of you: building software.

    This talk is a look at some of the parallels between Dungeons and Dragons, and software development.

    We’ll see how lessons learned through delving into dungeons and fighting monsters with a party of adventurers can help teams of developers when building software in the real world.

    Are you ready to join me in a mighty quest for better software?

    About Matt Brunt

    Chaotic Wizard

    Matt Brunt is a Senior Software Engineer with Bumble where he works in a User Safety, Trust, and Integrity team.

    He’s a mentor for development topics such as BDD, TDD, and clean-code, as well as having a few open source packages out in the wild.

    When not tinkering with code he can be found reading comics, fighting monsters in dungeons and dragons, or drinking tea and eating jaffa-cakes.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/matt-hunt/index.html b/out/pastconferences/pastspeakers/2023/matt-hunt/index.html index 64cfc255..6545a8b5 100644 --- a/out/pastconferences/pastspeakers/2023/matt-hunt/index.html +++ b/out/pastconferences/pastspeakers/2023/matt-hunt/index.html @@ -1 +1 @@ -Matt Hunt
    Picture of Matt Hunt
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Microservice Mistakes I Made and Survived

    Many people preach or opinionate around best practises for microservices, but little do they talk about the pitfalls and traps they have fallen into when building distributed systems. Well after years of working with distributed systems and failing many times I've compiled my top five mistakes I've made, I've even identified how to hopefully not to make some of them!

    About Matt Hunt

    .NET Developer

    Matt has nearly 20 experience in software development starting way back when VB 5 and Classic ASP were his bread and butter. He has a history of working in the finance and services industry and is skilled in C#, Azure, DevOps, Distributed Systems, Microservices Architecture and Agile Methodologies. After having worked as a contractor for many years Matt has now fulfilled his dream and is working for a startup FinTech company in Wales hopefully building the next big thing.

    Links

    \ No newline at end of file +Matt Hunt
    Picture of Matt Hunt
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Microservice Mistakes I Made and Survived

    Many people preach or opinionate around best practises for microservices, but little do they talk about the pitfalls and traps they have fallen into when building distributed systems. Well after years of working with distributed systems and failing many times I've compiled my top five mistakes I've made, I've even identified how to hopefully not to make some of them!

    About Matt Hunt

    .NET Developer

    Matt has nearly 20 experience in software development starting way back when VB 5 and Classic ASP were his bread and butter. He has a history of working in the finance and services industry and is skilled in C#, Azure, DevOps, Distributed Systems, Microservices Architecture and Agile Methodologies. After having worked as a contractor for many years Matt has now fulfilled his dream and is working for a startup FinTech company in Wales hopefully building the next big thing.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/paul-bailey/index.html b/out/pastconferences/pastspeakers/2023/paul-bailey/index.html index ee811292..23363ce2 100644 --- a/out/pastconferences/pastspeakers/2023/paul-bailey/index.html +++ b/out/pastconferences/pastspeakers/2023/paul-bailey/index.html @@ -1 +1 @@ -Paul Bailey
    Picture of Paul Bailey
    • Pronouns: He/Him
    • Talk Length: 30 mins

    How to create the conditions where happy people do their best work

    There’s no doubt that covid was a catalyst for digital transformation.

    Over the last few years, many organisations have scaled quickly. Scrambling to find skilled employees, so that they could grow capabilities to meet increased demand.

    At the same time, organisations are looking for better ways to connect and develop their people.

    Research from McKinsey shows that businesses who invest in capability-building enjoy better returns, higher organisational health scores, and a more resilient workforce than those that don’t.

    After all, the more of the right capabilities an organisation has, the better it can manage continuous change.

    But as you scale, how do you create and cultivate the conditions where happy people do their best work?

    In this session, I’ll share my experience from the last 5 years, growing an international multi-disciplinary team to 120+ people.

    Attending this session you’ll learn…

  • Why what matters is not individual capabilities, but the interaction between people
  • How to create psychological safety that enables people to be their authentic selves
  • Creative hybrid methods for bringing people together to connect, support, share and learn
  • Why Practice does not make perfect
  • But perhaps most importantly, I’ll explain why a ‘Community of Practice' is a competitive advantage that empowers members to be more than the sum of their parts.

    About Paul

    SPARCK, Head of Design

    Paul is a Head of Design at SPARCK, a full-time human maker (father of 4), #DesignThinkingDad and co-host of Service Design Connect.

    He’s been planning, prototyping and designing digital products and services for over 25 years and has created innovative solutions for some of the UK’s largest organisations and government departments.

    A self-confessed Typothermiac and a bit of a geek, when not thinking about human-centred design he spends his time coming up with ingenious ways to entertain his kids whilst robot-proofing them for the 4th Industrial Revolution.

    Links

    \ No newline at end of file +Paul Bailey
    Picture of Paul Bailey
    • Pronouns: He/Him
    • Talk Length: 30 mins

    How to create the conditions where happy people do their best work

    There’s no doubt that covid was a catalyst for digital transformation.

    Over the last few years, many organisations have scaled quickly. Scrambling to find skilled employees, so that they could grow capabilities to meet increased demand.

    At the same time, organisations are looking for better ways to connect and develop their people.

    Research from McKinsey shows that businesses who invest in capability-building enjoy better returns, higher organisational health scores, and a more resilient workforce than those that don’t.

    After all, the more of the right capabilities an organisation has, the better it can manage continuous change.

    But as you scale, how do you create and cultivate the conditions where happy people do their best work?

    In this session, I’ll share my experience from the last 5 years, growing an international multi-disciplinary team to 120+ people.

    Attending this session you’ll learn…

  • Why what matters is not individual capabilities, but the interaction between people
  • How to create psychological safety that enables people to be their authentic selves
  • Creative hybrid methods for bringing people together to connect, support, share and learn
  • Why Practice does not make perfect
  • But perhaps most importantly, I’ll explain why a ‘Community of Practice' is a competitive advantage that empowers members to be more than the sum of their parts.

    About Paul

    SPARCK, Head of Design

    Paul is a Head of Design at SPARCK, a full-time human maker (father of 4), #DesignThinkingDad and co-host of Service Design Connect.

    He’s been planning, prototyping and designing digital products and services for over 25 years and has created innovative solutions for some of the UK’s largest organisations and government departments.

    A self-confessed Typothermiac and a bit of a geek, when not thinking about human-centred design he spends his time coming up with ingenious ways to entertain his kids whilst robot-proofing them for the 4th Industrial Revolution.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/poornima-nayar/index.html b/out/pastconferences/pastspeakers/2023/poornima-nayar/index.html index 82fbc9e6..74e4d583 100644 --- a/out/pastconferences/pastspeakers/2023/poornima-nayar/index.html +++ b/out/pastconferences/pastspeakers/2023/poornima-nayar/index.html @@ -1 +1 @@ -Poornima Nayar
    Picture of Poornima Nayar
    • Pronouns: She/Her
    • Talk Length: 60 mins

    Minimal APIs in .NET

    Did you know you can create an API starting with a console app?

    Welcome Minimal APIs!!! Minimal APIs were received with a lot of excitement since the very announcement of it in the preview versions of .NET 6. It is a great way to build APIs with minimal dependencies.

    In my session, we will understand the “why” and “how” of Minimal APIs while understanding the minimal hosting model. We will then look at some of the features introduced in .NET 7 for Minimal APIs and understand whether we can give our project a little bit more structure. We will also discuss versioning Minimal APIs and talk about rate limiting of APIs, all while making our API practical and ready to face the world!

    There will be lots of code, lots of demos, and lots of practical knowledge to take away :-)

    About Poornima Nayar

    Freelance .NET Developer, Microsoft MVP, Umbraco MVP

    Poornima is a .Net developer with over 10 years of experience in .Net and Umbraco. She is passionate about learning new technologies and keeping herself up-to-date with the latest developments in technology. Outside her work, Poornima enjoys music and is undergoing training in Indian Classical music. Based in Langley, UK she mothers a little girl and spends her spare time reading, cooking and watching movies.

    Links

    \ No newline at end of file +Poornima Nayar
    Picture of Poornima Nayar
    • Pronouns: She/Her
    • Talk Length: 60 mins

    Minimal APIs in .NET

    Did you know you can create an API starting with a console app?

    Welcome Minimal APIs!!! Minimal APIs were received with a lot of excitement since the very announcement of it in the preview versions of .NET 6. It is a great way to build APIs with minimal dependencies.

    In my session, we will understand the “why” and “how” of Minimal APIs while understanding the minimal hosting model. We will then look at some of the features introduced in .NET 7 for Minimal APIs and understand whether we can give our project a little bit more structure. We will also discuss versioning Minimal APIs and talk about rate limiting of APIs, all while making our API practical and ready to face the world!

    There will be lots of code, lots of demos, and lots of practical knowledge to take away :-)

    About Poornima Nayar

    Freelance .NET Developer, Microsoft MVP, Umbraco MVP

    Poornima is a .Net developer with over 10 years of experience in .Net and Umbraco. She is passionate about learning new technologies and keeping herself up-to-date with the latest developments in technology. Outside her work, Poornima enjoys music and is undergoing training in Indian Classical music. Based in Langley, UK she mothers a little girl and spends her spare time reading, cooking and watching movies.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/rachel-breeze/index.html b/out/pastconferences/pastspeakers/2023/rachel-breeze/index.html index f4b6baf6..aadec610 100644 --- a/out/pastconferences/pastspeakers/2023/rachel-breeze/index.html +++ b/out/pastconferences/pastspeakers/2023/rachel-breeze/index.html @@ -1 +1 @@ -Rachel Breeze
    Picture of Rachel Breeze
    • Pronouns: She/Her
    • Talk Length: 60 mins

    Accessibility: Building and Deploying Accessible sites

    Accessibility and inclusive design benefits all users; building accessible products and services isn't just a checkbox exercise or a legal requirement, it makes them inclusive.

    This talk will explore an approach to building websites that helps ensure that they are accessible from the start. From design and build to deployment.

    The talk will focus on the development and build approach, looking at the functionality available in Visual Code and Visual Studio to provide automated accessibility testing.

    There will also be a demo of tools available in Azure DevOps to help test accessibility as part of the process. We will also understand why automated testing only forms part of building accessible sites.

    About Rachel Breeze

    Squad Lead, Umbraco and .NET Developer at Nexer Digital

    Rachel has been a developer for over 20 years, working in the Microsoft .Net stack. Rachel has been working with Umbraco since 2012 and is a 4x Umbraco MVP. She is passionate about accessibility, supporting and encouraging future developers, and in her spare time she enjoys scuba diving. She also drinks copious amounts of tea.

    Links

    \ No newline at end of file +Rachel Breeze
    Picture of Rachel Breeze
    • Pronouns: She/Her
    • Talk Length: 60 mins

    Accessibility: Building and Deploying Accessible sites

    Accessibility and inclusive design benefits all users; building accessible products and services isn't just a checkbox exercise or a legal requirement, it makes them inclusive.

    This talk will explore an approach to building websites that helps ensure that they are accessible from the start. From design and build to deployment.

    The talk will focus on the development and build approach, looking at the functionality available in Visual Code and Visual Studio to provide automated accessibility testing.

    There will also be a demo of tools available in Azure DevOps to help test accessibility as part of the process. We will also understand why automated testing only forms part of building accessible sites.

    About Rachel Breeze

    Squad Lead, Umbraco and .NET Developer at Nexer Digital

    Rachel has been a developer for over 20 years, working in the Microsoft .Net stack. Rachel has been working with Umbraco since 2012 and is a 4x Umbraco MVP. She is passionate about accessibility, supporting and encouraging future developers, and in her spare time she enjoys scuba diving. She also drinks copious amounts of tea.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/sean-farmar/index.html b/out/pastconferences/pastspeakers/2023/sean-farmar/index.html index 8c95aa9e..2b88efd3 100644 --- a/out/pastconferences/pastspeakers/2023/sean-farmar/index.html +++ b/out/pastconferences/pastspeakers/2023/sean-farmar/index.html @@ -1 +1 @@ -Sean Farmar
    Picture of Sean Farmar
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Using DDD To Decompose Your Monolith

    Software design is hard, maybe the hardest part of building software systems... When designing distributed systems things get even more challenging. Now that Microservices are so popular, we all want to decompose our monoliths to smaller units of independent components. If we don't want to end up with a distributed monolith, we need to have a toolbox of design concepts so we can achieve well-defined boundaries between our components groups described as "Services" and "Service Boundaries" in the Service Oriented Architecture or SOA paradigm.

    The traditional way of designing systems based on a domain data model with very complex relationships and dependencies may kind of work when building a monolith, but just breaks apart when you building distributed systems.

    One of the pillars of distributed system design is to solve the **coupling** problem.

    If we look at the tenants of SOA they all address coupling:

  • Explicit Boundaries: In it's the simplest form it is to find what belongs together and making sure there are no leakages between the defined boundaries of a "Service".
  • Autonomy: Like in Object orientation, Keep our components and "Services" autonomous, encapsulated and have as little dependencies to the outside as possible.
  • Sharing schema and contracts not classes: Make sure we don't introduce coupling by using an open protocol for communication.
  • Compatibility based upon policy: This is the hardest tenant to articulate, but again, it's about loose coupling, an explicit API that describes the component's behaviour.
  • In order to achieve this, we need to rethink how we design our components and "Services" We need to move from monolith thinking to distributed thinking, leaving the single relational data model to multiple vertical bounded contexts that together compose a "Service" boundary.

    In this talk I will walk through the process of designing a very simplistic and naive vertical slice while introducing the concepts from Domain Driven Design (DDD) and SOA, to build a single vertical, from there you will be able to do your first steps to design a loosely coupled distributed system, and be on the way to find you "Service" boundaries.

    About Sean Farmar

    Distributed Systems Expert

    With over 25 years of experience, Sean Farmar specializes in providing simple solutions for complex business requirements applying SOA and distributed computing principles inspired by Udi Dahan.

    Sean runs Bosca Software Solutions Ltd. a boutique consulting company providing management and technical consulting related to product software engineering, custom project delivery, and training.

    Links

    \ No newline at end of file +Sean Farmar
    Picture of Sean Farmar
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Using DDD To Decompose Your Monolith

    Software design is hard, maybe the hardest part of building software systems... When designing distributed systems things get even more challenging. Now that Microservices are so popular, we all want to decompose our monoliths to smaller units of independent components. If we don't want to end up with a distributed monolith, we need to have a toolbox of design concepts so we can achieve well-defined boundaries between our components groups described as "Services" and "Service Boundaries" in the Service Oriented Architecture or SOA paradigm.

    The traditional way of designing systems based on a domain data model with very complex relationships and dependencies may kind of work when building a monolith, but just breaks apart when you building distributed systems.

    One of the pillars of distributed system design is to solve the **coupling** problem.

    If we look at the tenants of SOA they all address coupling:

  • Explicit Boundaries: In it's the simplest form it is to find what belongs together and making sure there are no leakages between the defined boundaries of a "Service".
  • Autonomy: Like in Object orientation, Keep our components and "Services" autonomous, encapsulated and have as little dependencies to the outside as possible.
  • Sharing schema and contracts not classes: Make sure we don't introduce coupling by using an open protocol for communication.
  • Compatibility based upon policy: This is the hardest tenant to articulate, but again, it's about loose coupling, an explicit API that describes the component's behaviour.
  • In order to achieve this, we need to rethink how we design our components and "Services" We need to move from monolith thinking to distributed thinking, leaving the single relational data model to multiple vertical bounded contexts that together compose a "Service" boundary.

    In this talk I will walk through the process of designing a very simplistic and naive vertical slice while introducing the concepts from Domain Driven Design (DDD) and SOA, to build a single vertical, from there you will be able to do your first steps to design a loosely coupled distributed system, and be on the way to find you "Service" boundaries.

    About Sean Farmar

    Distributed Systems Expert

    With over 25 years of experience, Sean Farmar specializes in providing simple solutions for complex business requirements applying SOA and distributed computing principles inspired by Udi Dahan.

    Sean runs Bosca Software Solutions Ltd. a boutique consulting company providing management and technical consulting related to product software engineering, custom project delivery, and training.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/shaun-lawrence/index.html b/out/pastconferences/pastspeakers/2023/shaun-lawrence/index.html index 41e6c7fc..63b10858 100644 --- a/out/pastconferences/pastspeakers/2023/shaun-lawrence/index.html +++ b/out/pastconferences/pastspeakers/2023/shaun-lawrence/index.html @@ -1 +1 @@ -Shaun Lawrence
    Picture of Shaun Lawrence
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Choose your own adventure

    Growing up I used to love diving into a ‘choose your own adventure’ style book and then later on in life, the same concept in video game form. I would like to apply this concept in today’s talk…

    Join me in learning about how we can build video games with .NET MAUI in the form of a ‘choose your own adventure’ style game. You as the collective audience will be able to choose the paths that we go down and influence the content that gets presented.

    Learn through our own voting system how we can combine technology such as SignalR to provide real time multi-player support into our .NET MAUI based games as well as many other cool techniques to really make our games or applications feel alive.

    About Shaun Lawrence

    Independent Software Engineer

    Father | Husband | Gamer | Imposter | Microsoft MVP

    Senior Software Engineer working in all things .NET working at Tinysoft Ltd.

    I love to tinker with things be that software related or better still disconnected from any computer.

    Links

    \ No newline at end of file +Shaun Lawrence
    Picture of Shaun Lawrence
    • Pronouns: He/Him
    • Talk Length: 60 mins

    Choose your own adventure

    Growing up I used to love diving into a ‘choose your own adventure’ style book and then later on in life, the same concept in video game form. I would like to apply this concept in today’s talk…

    Join me in learning about how we can build video games with .NET MAUI in the form of a ‘choose your own adventure’ style game. You as the collective audience will be able to choose the paths that we go down and influence the content that gets presented.

    Learn through our own voting system how we can combine technology such as SignalR to provide real time multi-player support into our .NET MAUI based games as well as many other cool techniques to really make our games or applications feel alive.

    About Shaun Lawrence

    Independent Software Engineer

    Father | Husband | Gamer | Imposter | Microsoft MVP

    Senior Software Engineer working in all things .NET working at Tinysoft Ltd.

    I love to tinker with things be that software related or better still disconnected from any computer.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/2023/soumaya-erradi/index.html b/out/pastconferences/pastspeakers/2023/soumaya-erradi/index.html index 0fd49a43..ba25e51d 100644 --- a/out/pastconferences/pastspeakers/2023/soumaya-erradi/index.html +++ b/out/pastconferences/pastspeakers/2023/soumaya-erradi/index.html @@ -1 +1 @@ -Soumaya Erradi
    Picture of Soumaya Erradi
    • Pronouns: She/Her
    • Talk Length: 60 mins

    Evergreen skills for software developers

    Learn the "evergreen" skills that every software developer needs to thrive in their career, regardless of the latest technologies and trends. In this talk, we'll explore some of these and how to cultivate them to support your growth and success as a developer.

    About Soumaya Erradi

    Lead Software Developer

    I'm Soumaya Erradi and I'm a software developer and an IT teacher.

    I'm high skilled in web development (frontend and backend), specialized in developing enterprise applications using Angular. Currently, I'm working as frontend lead developer in a team focused on blockchain app development.

    I'm also holding coding courses and meetups to deepen technical and business issues related to Blockchain and Smart Contracts. As a speaker at conferences I bring advanced Angular topics, tips for the integration of smart contracts and best solutions for decentralized applications and web3.

    Links

    \ No newline at end of file +Soumaya Erradi
    Picture of Soumaya Erradi
    • Pronouns: She/Her
    • Talk Length: 60 mins

    Evergreen skills for software developers

    Learn the "evergreen" skills that every software developer needs to thrive in their career, regardless of the latest technologies and trends. In this talk, we'll explore some of these and how to cultivate them to support your growth and success as a developer.

    About Soumaya Erradi

    Lead Software Developer

    I'm Soumaya Erradi and I'm a software developer and an IT teacher.

    I'm high skilled in web development (frontend and backend), specialized in developing enterprise applications using Angular. Currently, I'm working as frontend lead developer in a team focused on blockchain app development.

    I'm also holding coding courses and meetups to deepen technical and business issues related to Blockchain and Smart Contracts. As a speaker at conferences I bring advanced Angular topics, tips for the integration of smart contracts and best solutions for decentralized applications and web3.

    Links

    \ No newline at end of file diff --git a/out/pastconferences/pastspeakers/pastspeakergrid/index.html b/out/pastconferences/pastspeakers/pastspeakergrid/index.html index 5221a6af..d643aca6 100644 --- a/out/pastconferences/pastspeakers/pastspeakergrid/index.html +++ b/out/pastconferences/pastspeakers/pastspeakergrid/index.html @@ -1 +1 @@ -Past Speakers

    Click on the images of our wonderful speakers to find out more about them and what they will be talking about.

    2023

    2021

    2019

    \ No newline at end of file +Past Speakers

    Click on the images of our wonderful speakers to find out more about them and what they will be talking about.

    2023

    2021

    2019

    \ No newline at end of file diff --git a/out/sponsor/social-responsibility/index.html b/out/sponsor/social-responsibility/index.html index 91ddd6f7..f011a4bf 100644 --- a/out/sponsor/social-responsibility/index.html +++ b/out/sponsor/social-responsibility/index.html @@ -1 +1 @@ -Social Responsibility

    DDD East Midlands Conference is a not-for-profit organisation. It's run with the community in mind, and as such we want to make the event safe and accessible for all, while helping to lower the boundary into tech.

    Accessibility Efforts

    Accessibility is a primary concern of the organisational committee. We want to enable people to be able to attend the event and feel safe and supported in doing so.

    • Ensuring a venue with accessible entrances.
    • Covid safety precautions.
    • Accessibility page with information for people with additional needs.
    • Catering for different dietary needs.
    • Nottingham "what to do and where to stay" guide for delegates who have travelled for the event.
    • Encouraging use of pronouns on attendee badges.
    • Clear code of conduct and who to ask for assistance.
    • Quiet room to reset.
    • Bathroom baskets with sanitary essentials.
    • Date outside of school half terms and on a weekend.
    • Event is free.

    Working with Educational Facilities

    DDD East Midlands are working with Nottingham Universities (NTU and UoN), and are in discussion to work with even more local educational facilities if we can.

    Making a career change into technology is something we are passionate about supporting, so The School of Code Bootcamp (a free 16 week course to help people of varied backgrounds to get into technology) and Project Function (free coding evening classes) have had a strong presence at DDD East Midlands in previous years.

    For our 2023 event we are looking to invite numerous bootcamp providers and educational groups to promote themselves in our workshop area, to encourage more of our delegates to try something new in tech.

    Diversity

    The organisation committee makes focused efforts to improve diversity and inclusion at the event. This includes representation in the selected speakers as well as ensuring the event space is a safe and inclusive space.

    • Representing and encouraging contributions from diversity groups.
    • Ensuring a diverse representation in our speakers.
    • Recorded talks have captions when posted to YouTube.
    • Ensuring there is information for diverse groups and groups with extra needs.
    • Multi-faith room for prayer and contemplation.
    • Anonymous submission process.
    \ No newline at end of file +Social Responsibility

    DDD East Midlands Conference is a not-for-profit organisation. It's run with the community in mind, and as such we want to make the event safe and accessible for all, while helping to lower the boundary into tech.

    Accessibility Efforts

    Accessibility is a primary concern of the organisational committee. We want to enable people to be able to attend the event and feel safe and supported in doing so.

    • Ensuring a venue with accessible entrances.
    • Covid safety precautions.
    • Accessibility page with information for people with additional needs.
    • Catering for different dietary needs.
    • Nottingham "what to do and where to stay" guide for delegates who have travelled for the event.
    • Encouraging use of pronouns on attendee badges.
    • Clear code of conduct and who to ask for assistance.
    • Quiet room to reset.
    • Bathroom baskets with sanitary essentials.
    • Date outside of school half terms and on a weekend.
    • Event is free.

    Working with Educational Facilities

    DDD East Midlands are working with Nottingham Universities (NTU and UoN), and are in discussion to work with even more local educational facilities if we can.

    Making a career change into technology is something we are passionate about supporting, so The School of Code Bootcamp (a free 16 week course to help people of varied backgrounds to get into technology) and Project Function (free coding evening classes) have had a strong presence at DDD East Midlands in previous years.

    For our 2023 event we are looking to invite numerous bootcamp providers and educational groups to promote themselves in our workshop area, to encourage more of our delegates to try something new in tech.

    Diversity

    The organisation committee makes focused efforts to improve diversity and inclusion at the event. This includes representation in the selected speakers as well as ensuring the event space is a safe and inclusive space.

    • Representing and encouraging contributions from diversity groups.
    • Ensuring a diverse representation in our speakers.
    • Recorded talks have captions when posted to YouTube.
    • Ensuring there is information for diverse groups and groups with extra needs.
    • Multi-faith room for prayer and contemplation.
    • Anonymous submission process.
    \ No newline at end of file diff --git a/out/sponsor/sponsor-the-event/index.html b/out/sponsor/sponsor-the-event/index.html index 0a5c79b2..492a89e5 100644 --- a/out/sponsor/sponsor-the-event/index.html +++ b/out/sponsor/sponsor-the-event/index.html @@ -1 +1 @@ -Sponsor
    \ No newline at end of file +Sponsor
    \ No newline at end of file diff --git a/out/sponsor/sponsorship-tiers/index.html b/out/sponsor/sponsorship-tiers/index.html index f024edbd..3b7d6d80 100644 --- a/out/sponsor/sponsorship-tiers/index.html +++ b/out/sponsor/sponsorship-tiers/index.html @@ -1 +1 @@ -Sponsorship Tiers 2023

    Contents

    How to Sponsor

    If any of the below peaks your interest, head to the Sponsor the Eventpage to find out more.

    Platinum Sponsor

    Image of the attendees of DDD East Midlands Conference 2019 seated in red auditorium seating.

    The Platinum Tier is largely a tailored package to meet the needs of the company that is offering this level of support. Rachel will work closely with you to ensure that the relationship between you and DDD East Midlands is mutually beneficial. Below is our initial offering for your engagement.

    Benefits of Platinum

    • 16 tickets to the event:

      DDD East Midlands Conference has been a sold out event each time it has run. As well as the benefits of attending conferences that we already know about including networking, free training and inspiration; having a strong presence at the conference will reflect well on your company and help with future recruitment. If your employees are wearing branded tops, they will show in all the event photos. If anyone is interested in working for you while at the event, there will be lots of people for them to reach out to.

    • 2 volunteer crew spots:

      We've got some great regular volunteers who help us run this fantastic conference. It's hard, but rewarding work and again the opportunity to volunteer is limited and each year we have to turn people away.

    • Custom area of the conference:

      There are a couple of options for this prime area of the conference, round the corner from the Hacktoberfest Area. Anything you do in the space, if you let us know in advance, we will add it to our agendas and promotional material.

      Option 1: You could host your own workshops and activities to showcase your products and working culture.

      Option 2: We can arrange for stalls from local iniatives such as bootcamps, mentorship programs and meetups to have stalls in the area, with banners showing how your company has helped donate the space to initiatives that help the wider community.

      Or you can talk to Rachel about other ideas you may have.

    • Mentor Speed Dating Involvement:

      New to DDD East Midlands 2023, we are arranging a pre-event where those looking for mentors can be matched up with great mentees. This event will have limited spaces and we are arranging for the mentors to all be individuals currently in the Microsoft MVP program. We can offer spots at the event and can talk through other options with you.

    • 2 minutes of the opening ceremony:

      The opening ceremony of the event includes a section introducing and thanking our sponsors. As a Platinum Sponsor you can have a representative talk for up to two minutes in this section about your company and what you want people to come talk to you about.

    • 5 attendee spots to the speakers workshop:

      Each event we support our speakers in hosting a Speakers Workshop by the magnificent Dylan Beattie. In this workshop Dylan teaches how to deliver fantastic presentations, which doesn't apply to just conferences, but also to various jobs where you have to talk to different audiences. As a platinum sponsor you will be able to send 5 people to this exclusive course.

    • Logo on published videos of talks on theDDD East Midlands YouTube channel:

      Our YouTube channel currently has 408 subscribers at the date of this page update and our most viewed video has over 10,000 views! As a Platinum sponsor your logo will feature on any videos made for or recorded at the 2023 event.

    • Logo below main header of website:

      The website has frequent traffic throughout the year and for 12 months your company logo can be the first thing people will see on visiting the site. This will be paired with a passage of text and any links you agree with Rachel.

    • Logo on hoodies and room banners:

      Our volunteer hoodies are seen everywhere on the day and feature in many of our photographs, as do the banners. Have your support of the event be known on the day, as well as in the future. Our conference has a great reputation and supporting it shows you are awesome too.

    • Exhibition booth

      Having an Exhibition booth at the event gives you the chance to engage with the attendees. Rachel will help you with advice for how to engage attendees based off past successes. Our previous sponsors have benefited in terms of recruitment and recognition based on their presence at DDD East Midlands Conference.

    Gold Sponsor

    Image of the attendees of DDD East Midlands Conference 2019 seated in red auditorium seating.

    Benefits of Gold

    • 8 tickets to the event:

      DDD East Midlands Conference has been a sold out event each time it has run. As well as the benefits of attending conferences that we already know about including networking, free training and inspiration; having a strong presence at the conference will reflect well on your company and help with future recruitment. If your employees are wearing branded tops, they will show in all the event photos. If anyone is interested in working for you while at the event, there will be lots of people for them to reach out to.

    • Company video & details of representatives at the opening ceremony:

      The conference starts with an opening ceremony which includes a section where we introduce and thank the sponsors. As part of this we display a two minute video from each of the Gold sponsors, showing us more about them. We also point towards who to talk to at the event if anyone wants to find out more.

    • Logo on hoodies and room banners:

      Our volunteer hoodies are seen everywhere on the day and feature in many of our photographs, as do the banners. Have your support of the event be known on the day, as well as in the future. Our conference has a great reputation and supporting it shows you are awesome too.

    • Logo on published videos of talks on theDDD East Midlands YouTube channel:

      Our YouTube channel currently has 408 subscribers at the date of this page update and our most viewed video has over 10,000 views! As a Platinum sponsor your logo will feature on any videos made for or recorded at the 2023 event.

    • Exhibition booth

      Having an Exhibition booth at the event gives you the chance to engage with the attendees. Rachel will help you with advice for how to engage attendees based off past successes. Our previous sponsors have benefited in terms of recruitment and recognition based on their presence at DDD East Midlands Conference.

    Silver Sponsor

    Image of the attendees of DDD East Midlands Conference 2019 seated in red auditorium seating.

    Benefits of Silver Sponsorship

    • 6 tickets to the event:

      DDD East Midlands Conference has been a sold out event each time it has run. As well as the benefits of attending conferences that we already know about including networking, free training and inspiration; having a strong presence at the conference will reflect well on your company and help with future recruitment. If your employees are wearing branded tops, they will show in all the event photos. If anyone is interested in working for you while at the event, there will be lots of people for them to reach out to.

    • Exhibition booth

      Having an Exhibition booth at the event gives you the chance to engage with the attendees. Rachel will help you with advice for how to engage attendees based off past successes. Our previous sponsors have benefited in terms of recruitment and recognition based on their presence at DDD East Midlands Conference.

    • Logo on lanyard:

      Our volunteer hoodies are seen everywhere on the day and feature in many of our photographs, as do the banners. Have your support of the event be known on the day, as well as in the future. Our conference has a great reputation and supporting it shows you are awesome too.

    • Logo on website:

      Our volunteer hoodies are seen everywhere on the day and feature in many of our photographs, as do the banners. Have your support of the event be known on the day, as well as in the future. Our conference has a great reputation and supporting it shows you are awesome too.

    • Thanks in opening & closing presentation:

      Our volunteer hoodies are seen everywhere on the day and feature in many of our photographs, as do the banners. Have your support of the event be known on the day, as well as in the future. Our conference has a great reputation and supporting it shows you are awesome too.

    Other Sponsorship Opportunities

    Any of the below can be purchased seperately OR if you are considering the Platinum package, you can talk to Rachel about including them as part of your sponsorship.

    • Coffee Sponsor:

      Sponsor the coffee cart, which provides delicious coffee from Cartwheel. As part of the ethos of the conference, we support local businesses and Cartwheel are one of the gems of Nottingham.

    • Hacktoberfest Sponsor:

      The conference happens in October of each year at the same time as Hacktoberfest.Hacktoberfest corner offers the chance to support people taking their first steps into open source and providing opportunities to win prizes.

    • Workshop Sponsor:

      Each event we support our speakers in hosting a Speakers Workshop by the magnificent Dylan Beattie. In this workshop Dylan teaches how to deliver fantastic presentations, which doesn't apply to just conferences, but are also skills most of us need in our day jobs. You can support us in being able to run this extra training.

    • Bathroom Basket Sponsor:

      Help us provide sanitary products and hygiene items to help the attendees feel comfortable throughout the day and have your logo on each of the supplies baskets.

    • Notable Mention:

      Have your linked logo added to our Notable Companies page on the website.

    \ No newline at end of file +Sponsorship Tiers 2023

    Contents

    How to Sponsor

    If any of the below peaks your interest, head to the Sponsor the Eventpage to find out more.

    Platinum Sponsor

    Image of the attendees of DDD East Midlands Conference 2019 seated in red auditorium seating.

    The Platinum Tier is largely a tailored package to meet the needs of the company that is offering this level of support. Rachel will work closely with you to ensure that the relationship between you and DDD East Midlands is mutually beneficial. Below is our initial offering for your engagement.

    Benefits of Platinum

    • 16 tickets to the event:

      DDD East Midlands Conference has been a sold out event each time it has run. As well as the benefits of attending conferences that we already know about including networking, free training and inspiration; having a strong presence at the conference will reflect well on your company and help with future recruitment. If your employees are wearing branded tops, they will show in all the event photos. If anyone is interested in working for you while at the event, there will be lots of people for them to reach out to.

    • 2 volunteer crew spots:

      We've got some great regular volunteers who help us run this fantastic conference. It's hard, but rewarding work and again the opportunity to volunteer is limited and each year we have to turn people away.

    • Custom area of the conference:

      There are a couple of options for this prime area of the conference, round the corner from the Hacktoberfest Area. Anything you do in the space, if you let us know in advance, we will add it to our agendas and promotional material.

      Option 1: You could host your own workshops and activities to showcase your products and working culture.

      Option 2: We can arrange for stalls from local iniatives such as bootcamps, mentorship programs and meetups to have stalls in the area, with banners showing how your company has helped donate the space to initiatives that help the wider community.

      Or you can talk to Rachel about other ideas you may have.

    • Mentor Speed Dating Involvement:

      New to DDD East Midlands 2023, we are arranging a pre-event where those looking for mentors can be matched up with great mentees. This event will have limited spaces and we are arranging for the mentors to all be individuals currently in the Microsoft MVP program. We can offer spots at the event and can talk through other options with you.

    • 2 minutes of the opening ceremony:

      The opening ceremony of the event includes a section introducing and thanking our sponsors. As a Platinum Sponsor you can have a representative talk for up to two minutes in this section about your company and what you want people to come talk to you about.

    • 5 attendee spots to the speakers workshop:

      Each event we support our speakers in hosting a Speakers Workshop by the magnificent Dylan Beattie. In this workshop Dylan teaches how to deliver fantastic presentations, which doesn't apply to just conferences, but also to various jobs where you have to talk to different audiences. As a platinum sponsor you will be able to send 5 people to this exclusive course.

    • Logo on published videos of talks on theDDD East Midlands YouTube channel:

      Our YouTube channel currently has 408 subscribers at the date of this page update and our most viewed video has over 10,000 views! As a Platinum sponsor your logo will feature on any videos made for or recorded at the 2023 event.

    • Logo below main header of website:

      The website has frequent traffic throughout the year and for 12 months your company logo can be the first thing people will see on visiting the site. This will be paired with a passage of text and any links you agree with Rachel.

    • Logo on hoodies and room banners:

      Our volunteer hoodies are seen everywhere on the day and feature in many of our photographs, as do the banners. Have your support of the event be known on the day, as well as in the future. Our conference has a great reputation and supporting it shows you are awesome too.

    • Exhibition booth

      Having an Exhibition booth at the event gives you the chance to engage with the attendees. Rachel will help you with advice for how to engage attendees based off past successes. Our previous sponsors have benefited in terms of recruitment and recognition based on their presence at DDD East Midlands Conference.

    Gold Sponsor

    Image of the attendees of DDD East Midlands Conference 2019 seated in red auditorium seating.

    Benefits of Gold

    • 8 tickets to the event:

      DDD East Midlands Conference has been a sold out event each time it has run. As well as the benefits of attending conferences that we already know about including networking, free training and inspiration; having a strong presence at the conference will reflect well on your company and help with future recruitment. If your employees are wearing branded tops, they will show in all the event photos. If anyone is interested in working for you while at the event, there will be lots of people for them to reach out to.

    • Company video & details of representatives at the opening ceremony:

      The conference starts with an opening ceremony which includes a section where we introduce and thank the sponsors. As part of this we display a two minute video from each of the Gold sponsors, showing us more about them. We also point towards who to talk to at the event if anyone wants to find out more.

    • Logo on hoodies and room banners:

      Our volunteer hoodies are seen everywhere on the day and feature in many of our photographs, as do the banners. Have your support of the event be known on the day, as well as in the future. Our conference has a great reputation and supporting it shows you are awesome too.

    • Logo on published videos of talks on theDDD East Midlands YouTube channel:

      Our YouTube channel currently has 408 subscribers at the date of this page update and our most viewed video has over 10,000 views! As a Platinum sponsor your logo will feature on any videos made for or recorded at the 2023 event.

    • Exhibition booth

      Having an Exhibition booth at the event gives you the chance to engage with the attendees. Rachel will help you with advice for how to engage attendees based off past successes. Our previous sponsors have benefited in terms of recruitment and recognition based on their presence at DDD East Midlands Conference.

    Silver Sponsor

    Image of the attendees of DDD East Midlands Conference 2019 seated in red auditorium seating.

    Benefits of Silver Sponsorship

    • 6 tickets to the event:

      DDD East Midlands Conference has been a sold out event each time it has run. As well as the benefits of attending conferences that we already know about including networking, free training and inspiration; having a strong presence at the conference will reflect well on your company and help with future recruitment. If your employees are wearing branded tops, they will show in all the event photos. If anyone is interested in working for you while at the event, there will be lots of people for them to reach out to.

    • Exhibition booth

      Having an Exhibition booth at the event gives you the chance to engage with the attendees. Rachel will help you with advice for how to engage attendees based off past successes. Our previous sponsors have benefited in terms of recruitment and recognition based on their presence at DDD East Midlands Conference.

    • Logo on lanyard:

      Our volunteer hoodies are seen everywhere on the day and feature in many of our photographs, as do the banners. Have your support of the event be known on the day, as well as in the future. Our conference has a great reputation and supporting it shows you are awesome too.

    • Logo on website:

      Our volunteer hoodies are seen everywhere on the day and feature in many of our photographs, as do the banners. Have your support of the event be known on the day, as well as in the future. Our conference has a great reputation and supporting it shows you are awesome too.

    • Thanks in opening & closing presentation:

      Our volunteer hoodies are seen everywhere on the day and feature in many of our photographs, as do the banners. Have your support of the event be known on the day, as well as in the future. Our conference has a great reputation and supporting it shows you are awesome too.

    Other Sponsorship Opportunities

    Any of the below can be purchased seperately OR if you are considering the Platinum package, you can talk to Rachel about including them as part of your sponsorship.

    • Coffee Sponsor:

      Sponsor the coffee cart, which provides delicious coffee from Cartwheel. As part of the ethos of the conference, we support local businesses and Cartwheel are one of the gems of Nottingham.

    • Hacktoberfest Sponsor:

      The conference happens in October of each year at the same time as Hacktoberfest.Hacktoberfest corner offers the chance to support people taking their first steps into open source and providing opportunities to win prizes.

    • Workshop Sponsor:

      Each event we support our speakers in hosting a Speakers Workshop by the magnificent Dylan Beattie. In this workshop Dylan teaches how to deliver fantastic presentations, which doesn't apply to just conferences, but are also skills most of us need in our day jobs. You can support us in being able to run this extra training.

    • Bathroom Basket Sponsor:

      Help us provide sanitary products and hygiene items to help the attendees feel comfortable throughout the day and have your logo on each of the supplies baskets.

    • Notable Mention:

      Have your linked logo added to our Notable Companies page on the website.

    \ No newline at end of file diff --git a/out/sponsor/testimonials/index.html b/out/sponsor/testimonials/index.html index 0ea5d831..9a2072a1 100644 --- a/out/sponsor/testimonials/index.html +++ b/out/sponsor/testimonials/index.html @@ -1 +1 @@ -Testimonials

    Don't take our word for it, hear from our past sponsors, speakers and attendees about what they thought of the past events here:

    Image of BJSS.

    “We love supporting DDD East Midlands and always have lots of great conversations with delegates throughout the day. We love being part of the vibrant technology scene and look forward to being yet more involved as we continue to grow across Nottingham, Yorkshire and the Midlands.”

    BJSS,GOLD SPONSOR FOR DDD EAST MIDLANDS 2019 and SILVER SPONSOR FOR DDD EAST MIDLANDS 2021

    "We sponsored DDD East Midlands because we wanted to improve our brand recognition in the local area, hoping it would help us to hire the best developers locally. Following the conference we arranged 6 interviews with delegates we had met on the day!"

    ERT / CLARIO,GOLD SPONSOR FOR DDD EAST MIDLANDS 2021
    Image of ERT.
    Image of Oakbrook

    “Our reason to support DDD East Midlands was to further integrate ourselves into the local tech community. Several of our team submitted talks & were selected to speak on the day, plus we had a great turn out at our booth where we were able to showcase the great stuff we’re doing here at Oakbrook. We have found it easier to attract talent since the day, and one of our team has even gone on to talk at other events!”

    OAKBROOK FINANCE,SILVER SPONSOR FOR DDD EAST MIDLANDS 2021
    \ No newline at end of file +Testimonials

    Don't take our word for it, hear from our past sponsors, speakers and attendees about what they thought of the past events here:

    Image of BJSS.

    “We love supporting DDD East Midlands and always have lots of great conversations with delegates throughout the day. We love being part of the vibrant technology scene and look forward to being yet more involved as we continue to grow across Nottingham, Yorkshire and the Midlands.”

    BJSS,GOLD SPONSOR FOR DDD EAST MIDLANDS 2019 and SILVER SPONSOR FOR DDD EAST MIDLANDS 2021

    "We sponsored DDD East Midlands because we wanted to improve our brand recognition in the local area, hoping it would help us to hire the best developers locally. Following the conference we arranged 6 interviews with delegates we had met on the day!"

    ERT / CLARIO,GOLD SPONSOR FOR DDD EAST MIDLANDS 2021
    Image of ERT.
    Image of Oakbrook

    “Our reason to support DDD East Midlands was to further integrate ourselves into the local tech community. Several of our team submitted talks & were selected to speak on the day, plus we had a great turn out at our booth where we were able to showcase the great stuff we’re doing here at Oakbrook. We have found it easier to attract talent since the day, and one of our team has even gone on to talk at other events!”

    OAKBROOK FINANCE,SILVER SPONSOR FOR DDD EAST MIDLANDS 2021
    \ No newline at end of file diff --git a/out/sponsor/why-sponsor/index.html b/out/sponsor/why-sponsor/index.html index 62344fb2..1e9d40ea 100644 --- a/out/sponsor/why-sponsor/index.html +++ b/out/sponsor/why-sponsor/index.html @@ -1 +1 @@ -Why Sponsor

    Why would my company sponsor? What is in it for us?

    There are many reasons to sponsor DDD East Midlands - Maybe your company is well-established in the East Midlands and you want to have a presence at the regions' only local tech conference? Or maybe your tech teams are doing great things and you want to shout about it? Maybe you're just starting up and you want to get some exposure to some of the best techies in the area? Whatever YOUR reason, previous sponsors have sighted their main reasons for sponsoring as:

    Recruitment and building connections across the community

    At a time when companies are fighting for the best technical talent, taking a booth at DDD East Midlands is a great way to show potential recruits why they should be applying to you directly and to get attention from the sort of professionals you are targeting whilst avoiding recruitment fees.

    Whether you have a booth at DDD East Midlands or are sponsoring the bathroom baskets at the event, this is a fantastic opportunity for getting seen by and getting to know the best of the best in the East Midlands technology scene.

    Free training

    All of the sponsorship tiers include guaranteed tickets to the event. The employees you send will be able to enjoy the conference, learn from the talks and gain as much as an attendee, saving some serious money out of your training budgets and coming back with some new ideas to try!

    Marketing - Reaching a wider audience

    Not only have we seen that our website and blog have a global reach, but people attend DDD East Midlands from all over the UK.

    Exhibition booth

    Some of the sponsorship opportunities include having a booth in the exhibition space. This includes the opportunity to decorate this space in any way you see fit: with banners, tablecloth, games, swag and more.

    Potential recruits will approach to find out if your company is right for their next move, or you can have the opportunity to turn the eye of some top talent that isn’t even aware they are looking. Show off the parts of your company and culture you are especially proud of.

    Representatives from other companies may also come to find out more about your product with the idea of collaborating and integrating with you.

    You could take this opportunity to run a competition at your booth go get attendees interactively involved. Competitions are a great way to make a positive and lasting impression. We announce the winners of competitions at the end of the day.

    Supporting and endorsing the local tech community

    As is probably made clear by now, a key focus of DDD East Midlands is giving back to, celebrating and promoting the outstanding tech community that has grown in and across the East Midlands.

    By sponsoring this event you will be supporting this amazing community and helping DDD East Midlands to promote it nationally, if not globally. We are sure you are as invested in the East Midlands tech community and the talent produced by it as much as we are, and we thank you for considering providing your support.

    \ No newline at end of file +Why Sponsor

    Why would my company sponsor? What is in it for us?

    There are many reasons to sponsor DDD East Midlands - Maybe your company is well-established in the East Midlands and you want to have a presence at the regions' only local tech conference? Or maybe your tech teams are doing great things and you want to shout about it? Maybe you're just starting up and you want to get some exposure to some of the best techies in the area? Whatever YOUR reason, previous sponsors have sighted their main reasons for sponsoring as:

    Recruitment and building connections across the community

    At a time when companies are fighting for the best technical talent, taking a booth at DDD East Midlands is a great way to show potential recruits why they should be applying to you directly and to get attention from the sort of professionals you are targeting whilst avoiding recruitment fees.

    Whether you have a booth at DDD East Midlands or are sponsoring the bathroom baskets at the event, this is a fantastic opportunity for getting seen by and getting to know the best of the best in the East Midlands technology scene.

    Free training

    All of the sponsorship tiers include guaranteed tickets to the event. The employees you send will be able to enjoy the conference, learn from the talks and gain as much as an attendee, saving some serious money out of your training budgets and coming back with some new ideas to try!

    Marketing - Reaching a wider audience

    Not only have we seen that our website and blog have a global reach, but people attend DDD East Midlands from all over the UK.

    Exhibition booth

    Some of the sponsorship opportunities include having a booth in the exhibition space. This includes the opportunity to decorate this space in any way you see fit: with banners, tablecloth, games, swag and more.

    Potential recruits will approach to find out if your company is right for their next move, or you can have the opportunity to turn the eye of some top talent that isn’t even aware they are looking. Show off the parts of your company and culture you are especially proud of.

    Representatives from other companies may also come to find out more about your product with the idea of collaborating and integrating with you.

    You could take this opportunity to run a competition at your booth go get attendees interactively involved. Competitions are a great way to make a positive and lasting impression. We announce the winners of competitions at the end of the day.

    Supporting and endorsing the local tech community

    As is probably made clear by now, a key focus of DDD East Midlands is giving back to, celebrating and promoting the outstanding tech community that has grown in and across the East Midlands.

    By sponsoring this event you will be supporting this amazing community and helping DDD East Midlands to promote it nationally, if not globally. We are sure you are as invested in the East Midlands tech community and the talent produced by it as much as we are, and we thank you for considering providing your support.

    \ No newline at end of file diff --git a/out/sw.js b/out/sw.js index 0c9513e0..86b452be 100644 --- a/out/sw.js +++ b/out/sw.js @@ -1 +1 @@ -if(!self.define){let e,s={};const a=(a,c)=>(a=new URL(a+".js",c).href,s[a]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=a,e.onload=s,document.head.appendChild(e)}else e=a,importScripts(a),s()})).then((()=>{let e=s[a];if(!e)throw new Error(`Module ${a} didn’t register its module`);return e})));self.define=(c,i)=>{const n=e||("document"in self?document.currentScript.src:"")||location.href;if(s[n])return;let r={};const t=e=>a(e,n),o={module:{uri:n},exports:r,require:t};s[n]=Promise.all(c.map((e=>o[e]||t(e)))).then((e=>(i(...e),r)))}}define(["./workbox-07a7b4f2"],(function(e){"use strict";importScripts(),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"/_next/static/chunks/2cca2479-4f95a7ab353b60c5.js",revision:"4f95a7ab353b60c5"},{url:"/_next/static/chunks/490.522c06a4229dbae9.js",revision:"522c06a4229dbae9"},{url:"/_next/static/chunks/4965.63e61575e5cec888.js",revision:"63e61575e5cec888"},{url:"/_next/static/chunks/7052-07bdaf581d9e4f5f.js",revision:"07bdaf581d9e4f5f"},{url:"/_next/static/chunks/8537.fb3e9dab87a7b88d.js",revision:"fb3e9dab87a7b88d"},{url:"/_next/static/chunks/8647.d2724689714213dd.js",revision:"d2724689714213dd"},{url:"/_next/static/chunks/9829-b1bec93575ba6ce2.js",revision:"b1bec93575ba6ce2"},{url:"/_next/static/chunks/framework-840cff9d6bb95703.js",revision:"840cff9d6bb95703"},{url:"/_next/static/chunks/main-b9461e65f71ce60e.js",revision:"b9461e65f71ce60e"},{url:"/_next/static/chunks/pages/2021/speakers/speakergrid-7f09700df48c5f1d.js",revision:"7f09700df48c5f1d"},{url:"/_next/static/chunks/pages/2023/hacktober-adb8216bbf4627bb.js",revision:"adb8216bbf4627bb"},{url:"/_next/static/chunks/pages/2023/notable-companies-acd6026c82d15e82.js",revision:"acd6026c82d15e82"},{url:"/_next/static/chunks/pages/_app-af56c3f9cbf331d5.js",revision:"af56c3f9cbf331d5"},{url:"/_next/static/chunks/pages/_error-dace7ce0691acc17.js",revision:"dace7ce0691acc17"},{url:"/_next/static/chunks/pages/about-the-conference-a8e5a7dabea4d641.js",revision:"a8e5a7dabea4d641"},{url:"/_next/static/chunks/pages/agenda-a55271c7a41b8ac8.js",revision:"a55271c7a41b8ac8"},{url:"/_next/static/chunks/pages/code-of-conduct-fe5055154b269c8b.js",revision:"fe5055154b269c8b"},{url:"/_next/static/chunks/pages/contact-c17fc842955657d7.js",revision:"c17fc842955657d7"},{url:"/_next/static/chunks/pages/guides/crew-bd1ead7ab00018de.js",revision:"bd1ead7ab00018de"},{url:"/_next/static/chunks/pages/guides/speakers-e78fadcf3cd1527b.js",revision:"e78fadcf3cd1527b"},{url:"/_next/static/chunks/pages/guides/sponsors-94e403ab5281e838.js",revision:"94e403ab5281e838"},{url:"/_next/static/chunks/pages/index-122b23f7819a1134.js",revision:"122b23f7819a1134"},{url:"/_next/static/chunks/pages/information/accessibility-information-798f0a936e9a1f14.js",revision:"798f0a936e9a1f14"},{url:"/_next/static/chunks/pages/information/apply-to-speak-2a25ffdcf7fdf29b.js",revision:"2a25ffdcf7fdf29b"},{url:"/_next/static/chunks/pages/information/attendee-information-c2221aad07a4768c.js",revision:"c2221aad07a4768c"},{url:"/_next/static/chunks/pages/information/covid-precautions-d083fce3b31dbcc0.js",revision:"d083fce3b31dbcc0"},{url:"/_next/static/chunks/pages/information/demographics-70a46ca96af4fc87.js",revision:"70a46ca96af4fc87"},{url:"/_next/static/chunks/pages/information/event-activities-7964b05f526de3a2.js",revision:"7964b05f526de3a2"},{url:"/_next/static/chunks/pages/information/supporting-speakers-414e2b982d8a0cab.js",revision:"414e2b982d8a0cab"},{url:"/_next/static/chunks/pages/information/ticket-information-ce9f150c28c850c5.js",revision:"ce9f150c28c850c5"},{url:"/_next/static/chunks/pages/information/venue-information-7f90d68a40820e31.js",revision:"7f90d68a40820e31"},{url:"/_next/static/chunks/pages/organisers/james-hayward-81a4300bb5e29b83.js",revision:"81a4300bb5e29b83"},{url:"/_next/static/chunks/pages/organisers/jessica-white-92dcd612f3fddd2f.js",revision:"92dcd612f3fddd2f"},{url:"/_next/static/chunks/pages/organisers/mia-gordon-09595978dac5fac5.js",revision:"09595978dac5fac5"},{url:"/_next/static/chunks/pages/organisers/moreton-brockley-b48a4b9a7bec8f2c.js",revision:"b48a4b9a7bec8f2c"},{url:"/_next/static/chunks/pages/organisers/rachel-watson-30c819ff329b1943.js",revision:"30c819ff329b1943"},{url:"/_next/static/chunks/pages/organisers/steven-pears-c35fc25cd3cffdcb.js",revision:"c35fc25cd3cffdcb"},{url:"/_next/static/chunks/pages/pastconferences/album-0736ea3618839bcb.js",revision:"0736ea3618839bcb"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/anthony-dang-1c490216e658b1e1.js",revision:"1c490216e658b1e1"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/cara-holland-9d18b39ddd6493f8.js",revision:"9d18b39ddd6493f8"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/dylan-beattie-c7db8429c221ecef.js",revision:"c7db8429c221ecef"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/galiya-warrier-fe3a5cf0ae1b8877.js",revision:"fe3a5cf0ae1b8877"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/helen-joy-d86e1e8322faa46e.js",revision:"d86e1e8322faa46e"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/ian-cooper-f3d1b6e637e56de3.js",revision:"f3d1b6e637e56de3"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/ian-johnson-633f7ba34000aa39.js",revision:"633f7ba34000aa39"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/jessica-salisbury-54aa637849cced08.js",revision:"54aa637849cced08"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/joel-hammond-turner-565e7f92f19ae4d0.js",revision:"565e7f92f19ae4d0"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/mark-towndrow-69b12f46362d25ce.js",revision:"69b12f46362d25ce"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/matt-brunt-19ca32ec122bbbf7.js",revision:"19ca32ec122bbbf7"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/neil-oconnor-c9781f50724fe686.js",revision:"c9781f50724fe686"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/robin-ninan-77d827bc9f631f6b.js",revision:"77d827bc9f631f6b"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/samathy-barratt-6715de8c3c9e11b0.js",revision:"6715de8c3c9e11b0"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/simon-painter-f646d360d8dd55ad.js",revision:"f646d360d8dd55ad"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/zac-braddy-9c38580b324ee399.js",revision:"9c38580b324ee399"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/clifford-agius-b1984dd67e381b0e.js",revision:"b1984dd67e381b0e"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/connell-sharp-907549749bf5ec97.js",revision:"907549749bf5ec97"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/dylan-beattie-27090f603a2a6c83.js",revision:"27090f603a2a6c83"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/james-croft-f8566cc70af0b84e.js",revision:"f8566cc70af0b84e"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/jennifer-mackown-0a0fa2a4e010732f.js",revision:"0a0fa2a4e010732f"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/kojo-hinson-d6082b2c25289616.js",revision:"d6082b2c25289616"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/leke-sholuade-311c51a98dbaa3d7.js",revision:"311c51a98dbaa3d7"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/lex-lofthouse-dd4c615824fd01a6.js",revision:"dd4c615824fd01a6"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/manu-magalhaes-95c6a8076355400b.js",revision:"95c6a8076355400b"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/matt-whetton-8be52c109a76fdc2.js",revision:"8be52c109a76fdc2"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/poornima-nayar-0e6d172e286f838b.js",revision:"0e6d172e286f838b"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/riz-akmal-khan-07dc4370ffe60a13.js",revision:"07dc4370ffe60a13"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/simon-painter-8f577fc1c77b585d.js",revision:"8f577fc1c77b585d"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/stephen-haunts-8e303ef92548cbf1.js",revision:"8e303ef92548cbf1"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/stephen-jackson-1675d2cf46426941.js",revision:"1675d2cf46426941"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/steve-collins-23d507de65e56de8.js",revision:"23d507de65e56de8"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/tania-allard-eae9ec14bb040ee3.js",revision:"eae9ec14bb040ee3"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/tom-morton-fa33001972fd694d.js",revision:"fa33001972fd694d"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/ashley-smith-c06971952665d673.js",revision:"c06971952665d673"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/connell-sharp-51481447d15086bc.js",revision:"51481447d15086bc"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/dan-clarke-8a32ea3f4f85f1ad.js",revision:"8a32ea3f4f85f1ad"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/eli-holderness-ae3250f80a9f4177.js",revision:"ae3250f80a9f4177"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/gosia-borzecka-dd4b24e136611bed.js",revision:"dd4b24e136611bed"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/jamie-tanna-aca88383b803f115.js",revision:"aca88383b803f115"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/marc-steele-32319b7e05db9de5.js",revision:"32319b7e05db9de5"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/marcus-noble-df4e886f6943c84b.js",revision:"df4e886f6943c84b"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/mark-goodwin-f007982985dea6d4.js",revision:"f007982985dea6d4"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/martyn-kilbryde-7031ca8777843c4c.js",revision:"7031ca8777843c4c"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/matt-brunt-d20cf95eaf18211d.js",revision:"d20cf95eaf18211d"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/matt-hunt-4f9691592efd00ae.js",revision:"4f9691592efd00ae"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/paul-bailey-ee6597f2f34fdded.js",revision:"ee6597f2f34fdded"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/poornima-nayar-065e83e0e7f0afc5.js",revision:"065e83e0e7f0afc5"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/rachel-breeze-df29f90bfc50f4f7.js",revision:"df29f90bfc50f4f7"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/sean-farmar-bb24d041efe97034.js",revision:"bb24d041efe97034"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/shaun-lawrence-1dca28b5ede8a83a.js",revision:"1dca28b5ede8a83a"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/soumaya-erradi-cfc0166a8629708f.js",revision:"cfc0166a8629708f"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/pastspeakergrid-8b9326e2694fad7a.js",revision:"8b9326e2694fad7a"},{url:"/_next/static/chunks/pages/sponsor/social-responsibility-ece49752d1bdcf52.js",revision:"ece49752d1bdcf52"},{url:"/_next/static/chunks/pages/sponsor/sponsor-the-event-e1019aff432ca259.js",revision:"e1019aff432ca259"},{url:"/_next/static/chunks/pages/sponsor/sponsorship-tiers-f68996e566507fb1.js",revision:"f68996e566507fb1"},{url:"/_next/static/chunks/pages/sponsor/testimonials-0e1855e6bc3b6df4.js",revision:"0e1855e6bc3b6df4"},{url:"/_next/static/chunks/pages/sponsor/why-sponsor-e1b37383173afbeb.js",revision:"e1b37383173afbeb"},{url:"/_next/static/chunks/pages/talks-a95af8e4ca41bd9c.js",revision:"a95af8e4ca41bd9c"},{url:"/_next/static/chunks/polyfills-42372ed130431b0a.js",revision:"846118c33b2c0e922d7b3a7676f81f6f"},{url:"/_next/static/chunks/webpack-ec8b830c147b51b2.js",revision:"ec8b830c147b51b2"},{url:"/_next/static/css/1b5f59b922f765ec.css",revision:"1b5f59b922f765ec"},{url:"/_next/static/vZO2KMHSN2f3L_zaP4Y1s/_buildManifest.js",revision:"a4fddb71c61fb309bc67b6c3da8bbad4"},{url:"/_next/static/vZO2KMHSN2f3L_zaP4Y1s/_ssgManifest.js",revision:"b6652df95db52feb4daf4eca35380933"},{url:"/icons/android-icon-192x192-dunplab-manifest-20421.jpg",revision:"03d5f2acd8f45a8cc4f7b87b37152a57"},{url:"/icons/apple-icon-114x114-dunplab-manifest-20421.jpg",revision:"3114ccd7a01606ca53daafc0c9cd0064"},{url:"/icons/apple-icon-120x120-dunplab-manifest-20421.jpg",revision:"9a443a87fcdb1ba61a3ae1e62c39f891"},{url:"/icons/apple-icon-144x144-dunplab-manifest-20421.jpg",revision:"e0888e827350f3a2339e49d3fcd89a6f"},{url:"/icons/apple-icon-152x152-dunplab-manifest-20421.jpg",revision:"f3798dbbe15e1da7df86b4956db2b3ec"},{url:"/icons/apple-icon-180x180-dunplab-manifest-20421.jpg",revision:"4ef0d5687d59f42d022cf286a27681b8"},{url:"/icons/apple-icon-57x57-dunplab-manifest-20421.jpg",revision:"5db97081c3cca2726fc5dfb725cb4ce9"},{url:"/icons/apple-icon-60x60-dunplab-manifest-20421.jpg",revision:"3c1ffcb426cd8d771e32ba206f8186c8"},{url:"/icons/apple-icon-72x72-dunplab-manifest-20421.jpg",revision:"e8eb9fec1d5d40a11af7d5c03e311c9d"},{url:"/icons/apple-icon-76x76-dunplab-manifest-20421.jpg",revision:"43f5e08edd48e3b4abea7a2fe25d5407"},{url:"/icons/favicon-16x16-dunplab-manifest-20421.jpg",revision:"ef9437a773dee9d7a311643e7e438f25"},{url:"/icons/favicon-32x32-dunplab-manifest-20421.jpg",revision:"0c6def766473bbae1546e9c9951cbf73"},{url:"/icons/favicon-96x96-dunplab-manifest-20421.jpg",revision:"6c9b4865758931658f2a1a9724710d21"},{url:"/icons/maskable-icon-192x192-dunplab-manifest-20241.png",revision:"f261071b24f09822b8d5465d2a2ca4c4"},{url:"/icons/splash-screen-icon-512x512-dunplab-manifest-20241.jpg",revision:"b0da458a04400994d51c241a4561fcfb"},{url:"/manifest.json",revision:"72cdacb728493f786d9709f4bb855cba"},{url:"/robots.txt",revision:"6ec5d3f49384dee6bca959de5312dca7"},{url:"/static/appqrcode.png",revision:"fba09db0a956b944b1ff97a5eef4364e"},{url:"/static/banners/about.jpg",revision:"c7755be9b52644024e7d3fcd19753504"},{url:"/static/banners/accessibility.jpg",revision:"4839055103c43ef1c121802a10d4d720"},{url:"/static/banners/activities.jpg",revision:"610a8190fb6978bdda3a280b5cbc8ddf"},{url:"/static/banners/album.jpg",revision:"7b55109beee9484be832c51ea7d0a700"},{url:"/static/banners/apply.jpg",revision:"1e558ad618a05a5dc239344e7c67512f"},{url:"/static/banners/attendee.jpg",revision:"f51e1b203df85e9b090846829dde9a8b"},{url:"/static/banners/coc.jpg",revision:"94092ca25385e5f6cf5db5e3fda73360"},{url:"/static/banners/coffee.png",revision:"7e331592963886c85c8078e63d85dddd"},{url:"/static/banners/contact.jpg",revision:"5099cecc5dd76e1e73f59a517bb1584d"},{url:"/static/banners/covid.jpg",revision:"06644cdd0f8ed10d3a05774bdb573eab"},{url:"/static/banners/crew.jpg",revision:"fd8604c9a91a66f3e51f271f4b0bed05"},{url:"/static/banners/hacktober.jpg",revision:"97bc57bb85318a385be702415b3d4802"},{url:"/static/banners/homepage.jpg",revision:"e4da370b8d7d2ffb0d22872c404f9105"},{url:"/static/banners/organisers.jpg",revision:"fdd77bd8812896358f34cdbd36f4adc2"},{url:"/static/banners/organisers/jess.jpg",revision:"2487f42cd975fba449483f95d6a1fdaf"},{url:"/static/banners/organisers/mia.jpg",revision:"61703f88b7ad682d05a46bd72072b930"},{url:"/static/banners/organisers/mort.jpg",revision:"7ff7e74e40535b4aa47b33ee31dd4708"},{url:"/static/banners/organisers/rach.jpg",revision:"caa590ba72ca136373b0f6048ecd3306"},{url:"/static/banners/speaker-info.jpg",revision:"d544d396c3c071e45b720a570804e51c"},{url:"/static/banners/speakers.jpg",revision:"8a2364253e4decf019beb6f8ed48ba30"},{url:"/static/banners/sponsor.jpg",revision:"ce638571bb46c2420c6db6326b0bfe66"},{url:"/static/banners/sponsorship-tiers.png",revision:"990f54015d32aa5c19fb993678ff8ea7"},{url:"/static/banners/support.jpg",revision:"63861ddf3fd7a8c9b5b897043ddfe23a"},{url:"/static/banners/testimonials.jpg",revision:"41459374e45d0aade78260ee7691018e"},{url:"/static/banners/ticket.jpg",revision:"92d191428d46d0d44fb01e978f2b605a"},{url:"/static/banners/venue.jpg",revision:"33e99bd489030c89eba9e79e6a2c2130"},{url:"/static/banners/why-sponsor.jpg",revision:"11688fd3790fb8d4321cffbfaee06d0d"},{url:"/static/client/object-assign-auto.min.js",revision:"3bddb8b52a177c246d12eadec8728688"},{url:"/static/client/sessionize.css",revision:"8fcd72ec7b91a0e1f444fa4b61fd3cc1"},{url:"/static/client/sessionize.js",revision:"609857aef370de4e3ec8f65c8245eaee"},{url:"/static/ddd_avatar_300.jpg",revision:"84c5477ae29be417c02cae20112c64d1"},{url:"/static/ddd_avatar_400x400.jpg",revision:"66965d73a5e7abae552cd5977634db13"},{url:"/static/demographics/2019-jobs.png",revision:"2ab8a4b47f0e1b9ab0b0567c3e7e5864"},{url:"/static/demographics/2019-level.png",revision:"9968b4e5fccdbb0cfc942f87e8b2ad63"},{url:"/static/demographics/2019-topics.png",revision:"0ac47412bcb5ff1c8f51072244217094"},{url:"/static/demographics/2021-jobs.png",revision:"b874dc1e3abd089432c2a92cefeef3d0"},{url:"/static/demographics/2021-level.png",revision:"b8fd2cb365da0e9158b70b6d00784126"},{url:"/static/demographics/2021-topics.png",revision:"1cca3aa6ace987441dd6d7d7da88d169"},{url:"/static/favicon/android-icon-144x144.png",revision:"e8a1e2aefbd9abd6ca49d99046aac86c"},{url:"/static/favicon/android-icon-192x192.png",revision:"5898ce70d2be693f04985ad9f21cf0ef"},{url:"/static/favicon/android-icon-36x36.png",revision:"c4a26f66dc6bfea65591f82f564cb076"},{url:"/static/favicon/android-icon-48x48.png",revision:"b77eecd6e54cb5e53a71033d1bddc2d7"},{url:"/static/favicon/android-icon-72x72.png",revision:"e567f4b0ebf15b4db66aa373c143e46c"},{url:"/static/favicon/android-icon-96x96.png",revision:"2c5d02a7547f92197c0bfd143e50bd5d"},{url:"/static/favicon/apple-icon-114x114.png",revision:"5d8b9de927564f7d114dd4225cc9b0b0"},{url:"/static/favicon/apple-icon-120x120.png",revision:"1cbfe9c67e658f900444e29d877d49f8"},{url:"/static/favicon/apple-icon-144x144.png",revision:"e8a1e2aefbd9abd6ca49d99046aac86c"},{url:"/static/favicon/apple-icon-152x152.png",revision:"5d8a1e2d00f528a12d4c5395a9135c1f"},{url:"/static/favicon/apple-icon-180x180.png",revision:"96f4756e0ae5d26f381a315a432347b9"},{url:"/static/favicon/apple-icon-57x57.png",revision:"8a8e2978459ec93d49a6445bfe10e884"},{url:"/static/favicon/apple-icon-60x60.png",revision:"5c0fb9cf80367a598baeefc4c067e5ed"},{url:"/static/favicon/apple-icon-72x72.png",revision:"e567f4b0ebf15b4db66aa373c143e46c"},{url:"/static/favicon/apple-icon-76x76.png",revision:"86dc4ca39e4f521fbca947a12276d4c5"},{url:"/static/favicon/apple-icon-precomposed.png",revision:"5898ce70d2be693f04985ad9f21cf0ef"},{url:"/static/favicon/apple-icon.png",revision:"5898ce70d2be693f04985ad9f21cf0ef"},{url:"/static/favicon/browserconfig.xml",revision:"653d077300a12f09a69caeea7a8947f8"},{url:"/static/favicon/favicon-16x16.png",revision:"abe2ed49272ced3d7f29133a674c6e00"},{url:"/static/favicon/favicon-32x32.png",revision:"a22f7d0cc6b9c616679bba2fd9320c16"},{url:"/static/favicon/favicon-96x96.png",revision:"2c5d02a7547f92197c0bfd143e50bd5d"},{url:"/static/favicon/favicon.ico",revision:"7279ed3ca87d28e3a53f5e07b4ead74f"},{url:"/static/favicon/manifest.json",revision:"f92495f5c65456e414d93695b52ed231"},{url:"/static/favicon/ms-icon-144x144.png",revision:"e8a1e2aefbd9abd6ca49d99046aac86c"},{url:"/static/favicon/ms-icon-150x150.png",revision:"5fba8f384e04e1d32abde6bb346415bc"},{url:"/static/favicon/ms-icon-310x310.png",revision:"68f84d1e5042a76a58a6cad288689eb4"},{url:"/static/favicon/ms-icon-70x70.png",revision:"af6db1c876b0abeed44fa054186f5181"},{url:"/static/hacktoberfest/codesnip.png",revision:"2985e000b7ba1975d96cfb95d6f6bff6"},{url:"/static/hacktoberfest/hacktoberfest.png",revision:"27c257bd0b6e05376f03f135c561dbe1"},{url:"/static/hacktoberfest/screenshot.png",revision:"be95bfda907bd3a03dbc3c5687dfc9b8"},{url:"/static/info/Precautions.png",revision:"a55b3a462f9c6074c8f599c941932b41"},{url:"/static/info/crew.jpg",revision:"c57558cc7396b2f7e7c15de8e62660d6"},{url:"/static/info/exhibition.png",revision:"916259ea5d4f5d349d7ce8c9fb7006c8"},{url:"/static/info/hacktoberfest.png",revision:"5adcdbe40d014429faa891ae4ec12bee"},{url:"/static/info/sponsors/promo.png",revision:"4ffededa19662ed91d8dd83b0c32dab6"},{url:"/static/organisers/james.png",revision:"574471a53249738219d098eb9d02a89f"},{url:"/static/organisers/jess.png",revision:"b9118737ed4c2569b7d7080d48d8a797"},{url:"/static/organisers/mia.png",revision:"5be1090231f50040743cccd2382399f0"},{url:"/static/organisers/mort.png",revision:"a55bb928ea48012e1f0fabba529f6dfe"},{url:"/static/organisers/rachel.png",revision:"8ddb2365d8a02195446b1c6f558a26f8"},{url:"/static/organisers/steven.png",revision:"52ea54caa58b8b4bb4f09a4549ffa490"},{url:"/static/pageimage/happy.jpg",revision:"68b0b2a111dfec010a7a01e1cad3e622"},{url:"/static/partners/codebar.png",revision:"37049879f4ea470c91ed02b86b2ddcf7"},{url:"/static/partners/muslamic-makers.png",revision:"eb17c53cdbc9350749ada511e847952e"},{url:"/static/partners/ndc.png",revision:"ac2e21ce5bb4240b073e90ae205258c0"},{url:"/static/partners/newday.png",revision:"add3909b098077aa5cea137be3e5d16d"},{url:"/static/partners/next-tech-girls.png",revision:"467cacd0f1781c90763e4c3db212a199"},{url:"/static/partners/ntu.png",revision:"9297d8df31a6e3d750027fc01073916e"},{url:"/static/rooms/LT2.jpg",revision:"54e9e6696f3265428ebefc7cd495723c"},{url:"/static/rooms/LT2.png",revision:"ae6d4db72c47487cbcaea02fe7c69562"},{url:"/static/rooms/LT4.jpg",revision:"71de93fa61af7f2265cbd74d0d5b464c"},{url:"/static/rooms/LT4.png",revision:"c1c0446c73737809590c148e6c46ca50"},{url:"/static/rooms/LT4_Back.jpg",revision:"c3763a873c2c5ddcb88505846b5780e7"},{url:"/static/rooms/LT5.jpg",revision:"27934ce26dd805e8b276eedd96984ce4"},{url:"/static/rooms/LT5.png",revision:"d257ab65e14a4ead61025b8580492d49"},{url:"/static/rooms/LT5_Back.jpg",revision:"78c437336caf647b0775416bc3949447"},{url:"/static/speakers/2019/Anthony_D.jpg",revision:"79fbf4358e153f09d6efcbd1607bf862"},{url:"/static/speakers/2019/Cara_H.jpg",revision:"92ebe63add10c72fb6a2bc0e4fc985a1"},{url:"/static/speakers/2019/Dylan_B.jpg",revision:"f13e60d80d76a2cc5ffb13f5f74554c2"},{url:"/static/speakers/2019/Galiya_W.jpg",revision:"aedcf28efb68d19335205e44ab3b8402"},{url:"/static/speakers/2019/Helen_J.jpg",revision:"dac5322356fcbfa92c9fe40a16e84312"},{url:"/static/speakers/2019/Ian_C.jpg",revision:"29c82baf10ca4346fdb6d802478f60c4"},{url:"/static/speakers/2019/Ian_J.jpg",revision:"569d147702a88794c66740cb3e78012a"},{url:"/static/speakers/2019/Jessica_S.jpg",revision:"fc2303941a704628c29a21d70622cf86"},{url:"/static/speakers/2019/Joel_HT.jpg",revision:"8a35aeea8aa752f5ae60deaac7e1fe15"},{url:"/static/speakers/2019/Mark_T.jpg",revision:"c8fd7698d69545f5563b2f9535b16e19"},{url:"/static/speakers/2019/Matt_B.jpg",revision:"f771918dd8748b25a453c18029877afa"},{url:"/static/speakers/2019/Neil_OC.jpg",revision:"65ed383dd7b8470dc78eb7ad14e3aece"},{url:"/static/speakers/2019/Robin_N.jpg",revision:"5f59d490e68a31c2ad391b618d0cff58"},{url:"/static/speakers/2019/Samathy_B.jpg",revision:"24ce5e87932a690cc704166e0e42ab4d"},{url:"/static/speakers/2019/Simon_P.jpg",revision:"4d053ff25be28badb526a754827784f5"},{url:"/static/speakers/2019/Zac_B.jpg",revision:"4373d8abd37797f5d5d43679bde767a7"},{url:"/static/speakers/2021/Clifford_A.jpg",revision:"6d282e6be44b080f0df2d783aa56d338"},{url:"/static/speakers/2021/Connell.jpg",revision:"797bc7de84d9bafffa30a3ed0c8ae4f0"},{url:"/static/speakers/2021/Dylan_B.jpg",revision:"7e33eefa2757ee57509c3128bf7ae044"},{url:"/static/speakers/2021/James_C.jpg",revision:"cd8c60a1eb688cc27301824142fac664"},{url:"/static/speakers/2021/Jen_M.jpg",revision:"51e178d46402f9a5297f73e6bc8b4a40"},{url:"/static/speakers/2021/Kojo_H.jpg",revision:"f25f5a6c24326c75fff0d888e73c83d8"},{url:"/static/speakers/2021/Leke_S.jpg",revision:"07bb4129cfa14b2794bd73dfef34553e"},{url:"/static/speakers/2021/Lex_L.jpg",revision:"01b24a999ec70ca5680fbcdd6a3cd00a"},{url:"/static/speakers/2021/Manu_M.jpg",revision:"7f21ade72053c80113daa21eba974267"},{url:"/static/speakers/2021/Matt_W.jpg",revision:"650bab5836572305946899faaa4cc913"},{url:"/static/speakers/2021/Poornima_N.jpg",revision:"c25174b7064fd9f0bf05a21a07ec802e"},{url:"/static/speakers/2021/Rizwana_A.jpg",revision:"5a1016106dd09c6a401772793f83d6f7"},{url:"/static/speakers/2021/Simon_P.jpg",revision:"8687446c3c776aa07046f35f1f8caa25"},{url:"/static/speakers/2021/Stephen_H.jpg",revision:"1852222613647167b616ff97c8b6a03e"},{url:"/static/speakers/2021/Stephen_J.jpg",revision:"1765ecd1f32e2ac742cc347e497a4f3f"},{url:"/static/speakers/2021/Steve_C.jpg",revision:"abd56783de71e7864c2231e00bdf157b"},{url:"/static/speakers/2021/Tania_A.jpg",revision:"4862d56837debc7898d3b1ef64bf8c00"},{url:"/static/speakers/2021/Tom_M.jpg",revision:"cf313859569b2ddd996ee5c643a82702"},{url:"/static/speakers/2023/Ashley_S.jpg",revision:"5581c643c50ecfc14c6136fcd6558dde"},{url:"/static/speakers/2023/Connell_S.jpg",revision:"bdef01e1e071bd2678e238108c7bf1f8"},{url:"/static/speakers/2023/Dan_C.jpg",revision:"29c922086b3ca046ec72bcfc457c504d"},{url:"/static/speakers/2023/Eli_H.jpg",revision:"19909332346d44b96f39cbb8f24086e3"},{url:"/static/speakers/2023/Gosia_B.jpg",revision:"559acf87af5835a477f663cf128d0d84"},{url:"/static/speakers/2023/Jamie_T.jpg",revision:"d4b1b70d6d0fa8a25ecb051a346ad370"},{url:"/static/speakers/2023/Marc_S.jpg",revision:"067b9c1835b8e1c38c1839d83964e4f5"},{url:"/static/speakers/2023/Marcus_N.jpg",revision:"d1f9f8ffd11e0821df6b66be46c92eb7"},{url:"/static/speakers/2023/Mark_G.jpg",revision:"00bb151e8ddc846a657d0df80fb50846"},{url:"/static/speakers/2023/Martyn_K.jpg",revision:"f14a162f036b23f5bd54a5737c2c6781"},{url:"/static/speakers/2023/Matt_B.jpg",revision:"cf0ff05cef003a2eec76366a7116e8fe"},{url:"/static/speakers/2023/Matt_H.jpg",revision:"6a462df4e0f41d302c3b50d1ded66f3e"},{url:"/static/speakers/2023/Paul_B.jpg",revision:"27f1e7f10985965708fa87878f8068e9"},{url:"/static/speakers/2023/Poornima_N.jpg",revision:"437c34c795d3e855b0019feac3ebe707"},{url:"/static/speakers/2023/Rachel_B.jpg",revision:"0011c15c59d1dc841eaa4f8c47b6bd20"},{url:"/static/speakers/2023/Sean_F.jpg",revision:"57d84c32ee3a10425c0ebe8a3ba3cfc2"},{url:"/static/speakers/2023/Shaun_L.jpg",revision:"60373ee25717dfc65e37984aa6a17a0a"},{url:"/static/speakers/2023/Soumaya_E.jpg",revision:"d1a0c24573bb729a001dc03a3f3e2c6c"},{url:"/static/speakers/TBC.png",revision:"dc6121b20f75ac078aafeff35383f7cd"},{url:"/static/sponsors/BJSS.png",revision:"159c15f74a76944fda0d79e248762734"},{url:"/static/sponsors/Cronofy.png",revision:"8c5d25ebcc27aea8cc4cb55253361988"},{url:"/static/sponsors/Experian.png",revision:"194938f1596f1a25ce4a5b67266f521d"},{url:"/static/sponsors/MHR.png",revision:"8eb4f971f47a1911ff074b656ad06748"},{url:"/static/sponsors/Mindera.png",revision:"7618b43d6d2ce3a2d7b8e5f392937100"},{url:"/static/sponsors/Motorpoint.png",revision:"6d7c1d12ecc6af6b067b00f799103304"},{url:"/static/sponsors/empty.png",revision:"7fcd1642fbe2c2f3445f408691b4be34"},{url:"/static/sponsorship/testimonials/bjss.png",revision:"ba687b198a841877bd6465c56ddd04c7"},{url:"/static/sponsorship/testimonials/ert.png",revision:"b64c2554e80e4cdcd922b3728bfb9cb5"},{url:"/static/sponsorship/testimonials/oakbrook.png",revision:"866d11f7f8454220eb9cfc7efdbf118d"},{url:"/static/sponsorship/tiers/booth.jpg",revision:"7a57b61a9e61ac1381d142e7afbf608b"},{url:"/static/sponsorship/tiers/gold.jpg",revision:"553f5d2ef8ea37c0d139372171fdc7d5"},{url:"/static/sponsorship/tiers/platinum.jpg",revision:"b389a8b9db748d4c9ec308755086661a"}],{ignoreURLParametersMatching:[]}),e.cleanupOutdatedCaches(),e.registerRoute("/",new e.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({request:e,response:s,event:a,state:c})=>s&&"opaqueredirect"===s.type?new Response(s.body,{status:200,statusText:"OK",headers:s.headers}):s}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3})]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),e.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new e.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),e.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new e.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\/_next\/image\?url=.+$/i,new e.StaleWhileRevalidate({cacheName:"next-image",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:mp3|wav|ogg)$/i,new e.CacheFirst({cacheName:"static-audio-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:mp4)$/i,new e.CacheFirst({cacheName:"static-video-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:js)$/i,new e.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:css|less)$/i,new e.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new e.StaleWhileRevalidate({cacheName:"next-data",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:json|xml|csv)$/i,new e.NetworkFirst({cacheName:"static-data-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;const s=e.pathname;return!s.startsWith("/api/auth/")&&!!s.startsWith("/api/")}),new e.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;return!e.pathname.startsWith("/api/")}),new e.NetworkFirst({cacheName:"others",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:e})=>!(self.origin===e.origin)),new e.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600})]}),"GET")})); +if(!self.define){let e,s={};const a=(a,c)=>(a=new URL(a+".js",c).href,s[a]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=a,e.onload=s,document.head.appendChild(e)}else e=a,importScripts(a),s()})).then((()=>{let e=s[a];if(!e)throw new Error(`Module ${a} didn’t register its module`);return e})));self.define=(c,i)=>{const n=e||("document"in self?document.currentScript.src:"")||location.href;if(s[n])return;let r={};const t=e=>a(e,n),o={module:{uri:n},exports:r,require:t};s[n]=Promise.all(c.map((e=>o[e]||t(e)))).then((e=>(i(...e),r)))}}define(["./workbox-07a7b4f2"],(function(e){"use strict";importScripts(),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"/_next/static/chunks/2cca2479-4f95a7ab353b60c5.js",revision:"4f95a7ab353b60c5"},{url:"/_next/static/chunks/490.522c06a4229dbae9.js",revision:"522c06a4229dbae9"},{url:"/_next/static/chunks/4965.63e61575e5cec888.js",revision:"63e61575e5cec888"},{url:"/_next/static/chunks/7052-07bdaf581d9e4f5f.js",revision:"07bdaf581d9e4f5f"},{url:"/_next/static/chunks/8537.fb3e9dab87a7b88d.js",revision:"fb3e9dab87a7b88d"},{url:"/_next/static/chunks/8647.d2724689714213dd.js",revision:"d2724689714213dd"},{url:"/_next/static/chunks/9829-5d0067eef43b3992.js",revision:"5d0067eef43b3992"},{url:"/_next/static/chunks/framework-840cff9d6bb95703.js",revision:"840cff9d6bb95703"},{url:"/_next/static/chunks/main-70d61a0313d35f3b.js",revision:"70d61a0313d35f3b"},{url:"/_next/static/chunks/pages/2021/speakers/speakergrid-7f09700df48c5f1d.js",revision:"7f09700df48c5f1d"},{url:"/_next/static/chunks/pages/2023/hacktober-adb8216bbf4627bb.js",revision:"adb8216bbf4627bb"},{url:"/_next/static/chunks/pages/2023/notable-companies-acd6026c82d15e82.js",revision:"acd6026c82d15e82"},{url:"/_next/static/chunks/pages/_app-af56c3f9cbf331d5.js",revision:"af56c3f9cbf331d5"},{url:"/_next/static/chunks/pages/_error-dace7ce0691acc17.js",revision:"dace7ce0691acc17"},{url:"/_next/static/chunks/pages/about-the-conference-a8e5a7dabea4d641.js",revision:"a8e5a7dabea4d641"},{url:"/_next/static/chunks/pages/agenda-a55271c7a41b8ac8.js",revision:"a55271c7a41b8ac8"},{url:"/_next/static/chunks/pages/code-of-conduct-fe5055154b269c8b.js",revision:"fe5055154b269c8b"},{url:"/_next/static/chunks/pages/contact-c17fc842955657d7.js",revision:"c17fc842955657d7"},{url:"/_next/static/chunks/pages/guides/crew-bd1ead7ab00018de.js",revision:"bd1ead7ab00018de"},{url:"/_next/static/chunks/pages/guides/speakers-e78fadcf3cd1527b.js",revision:"e78fadcf3cd1527b"},{url:"/_next/static/chunks/pages/guides/sponsors-94e403ab5281e838.js",revision:"94e403ab5281e838"},{url:"/_next/static/chunks/pages/index-122b23f7819a1134.js",revision:"122b23f7819a1134"},{url:"/_next/static/chunks/pages/information/accessibility-information-798f0a936e9a1f14.js",revision:"798f0a936e9a1f14"},{url:"/_next/static/chunks/pages/information/apply-to-speak-2a25ffdcf7fdf29b.js",revision:"2a25ffdcf7fdf29b"},{url:"/_next/static/chunks/pages/information/attendee-information-c2221aad07a4768c.js",revision:"c2221aad07a4768c"},{url:"/_next/static/chunks/pages/information/covid-precautions-d083fce3b31dbcc0.js",revision:"d083fce3b31dbcc0"},{url:"/_next/static/chunks/pages/information/demographics-70a46ca96af4fc87.js",revision:"70a46ca96af4fc87"},{url:"/_next/static/chunks/pages/information/event-activities-7964b05f526de3a2.js",revision:"7964b05f526de3a2"},{url:"/_next/static/chunks/pages/information/supporting-speakers-414e2b982d8a0cab.js",revision:"414e2b982d8a0cab"},{url:"/_next/static/chunks/pages/information/ticket-information-ce9f150c28c850c5.js",revision:"ce9f150c28c850c5"},{url:"/_next/static/chunks/pages/information/venue-information-7f90d68a40820e31.js",revision:"7f90d68a40820e31"},{url:"/_next/static/chunks/pages/organisers/james-hayward-81a4300bb5e29b83.js",revision:"81a4300bb5e29b83"},{url:"/_next/static/chunks/pages/organisers/jessica-white-92dcd612f3fddd2f.js",revision:"92dcd612f3fddd2f"},{url:"/_next/static/chunks/pages/organisers/mia-gordon-09595978dac5fac5.js",revision:"09595978dac5fac5"},{url:"/_next/static/chunks/pages/organisers/moreton-brockley-b48a4b9a7bec8f2c.js",revision:"b48a4b9a7bec8f2c"},{url:"/_next/static/chunks/pages/organisers/rachel-watson-30c819ff329b1943.js",revision:"30c819ff329b1943"},{url:"/_next/static/chunks/pages/organisers/steven-pears-c35fc25cd3cffdcb.js",revision:"c35fc25cd3cffdcb"},{url:"/_next/static/chunks/pages/pastconferences/album-0736ea3618839bcb.js",revision:"0736ea3618839bcb"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/anthony-dang-1c490216e658b1e1.js",revision:"1c490216e658b1e1"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/cara-holland-9d18b39ddd6493f8.js",revision:"9d18b39ddd6493f8"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/dylan-beattie-c7db8429c221ecef.js",revision:"c7db8429c221ecef"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/galiya-warrier-fe3a5cf0ae1b8877.js",revision:"fe3a5cf0ae1b8877"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/helen-joy-d86e1e8322faa46e.js",revision:"d86e1e8322faa46e"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/ian-cooper-f3d1b6e637e56de3.js",revision:"f3d1b6e637e56de3"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/ian-johnson-633f7ba34000aa39.js",revision:"633f7ba34000aa39"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/jessica-salisbury-54aa637849cced08.js",revision:"54aa637849cced08"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/joel-hammond-turner-565e7f92f19ae4d0.js",revision:"565e7f92f19ae4d0"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/mark-towndrow-69b12f46362d25ce.js",revision:"69b12f46362d25ce"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/matt-brunt-19ca32ec122bbbf7.js",revision:"19ca32ec122bbbf7"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/neil-oconnor-c9781f50724fe686.js",revision:"c9781f50724fe686"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/robin-ninan-77d827bc9f631f6b.js",revision:"77d827bc9f631f6b"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/samathy-barratt-6715de8c3c9e11b0.js",revision:"6715de8c3c9e11b0"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/simon-painter-f646d360d8dd55ad.js",revision:"f646d360d8dd55ad"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2019/zac-braddy-9c38580b324ee399.js",revision:"9c38580b324ee399"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/clifford-agius-b1984dd67e381b0e.js",revision:"b1984dd67e381b0e"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/connell-sharp-907549749bf5ec97.js",revision:"907549749bf5ec97"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/dylan-beattie-27090f603a2a6c83.js",revision:"27090f603a2a6c83"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/james-croft-f8566cc70af0b84e.js",revision:"f8566cc70af0b84e"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/jennifer-mackown-0a0fa2a4e010732f.js",revision:"0a0fa2a4e010732f"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/kojo-hinson-d6082b2c25289616.js",revision:"d6082b2c25289616"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/leke-sholuade-311c51a98dbaa3d7.js",revision:"311c51a98dbaa3d7"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/lex-lofthouse-dd4c615824fd01a6.js",revision:"dd4c615824fd01a6"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/manu-magalhaes-95c6a8076355400b.js",revision:"95c6a8076355400b"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/matt-whetton-8be52c109a76fdc2.js",revision:"8be52c109a76fdc2"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/poornima-nayar-0e6d172e286f838b.js",revision:"0e6d172e286f838b"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/riz-akmal-khan-07dc4370ffe60a13.js",revision:"07dc4370ffe60a13"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/simon-painter-8f577fc1c77b585d.js",revision:"8f577fc1c77b585d"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/stephen-haunts-8e303ef92548cbf1.js",revision:"8e303ef92548cbf1"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/stephen-jackson-1675d2cf46426941.js",revision:"1675d2cf46426941"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/steve-collins-23d507de65e56de8.js",revision:"23d507de65e56de8"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/tania-allard-eae9ec14bb040ee3.js",revision:"eae9ec14bb040ee3"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2021/tom-morton-fa33001972fd694d.js",revision:"fa33001972fd694d"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/ashley-smith-c06971952665d673.js",revision:"c06971952665d673"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/connell-sharp-51481447d15086bc.js",revision:"51481447d15086bc"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/dan-clarke-8a32ea3f4f85f1ad.js",revision:"8a32ea3f4f85f1ad"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/eli-holderness-ae3250f80a9f4177.js",revision:"ae3250f80a9f4177"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/gosia-borzecka-dd4b24e136611bed.js",revision:"dd4b24e136611bed"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/jamie-tanna-aca88383b803f115.js",revision:"aca88383b803f115"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/marc-steele-32319b7e05db9de5.js",revision:"32319b7e05db9de5"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/marcus-noble-df4e886f6943c84b.js",revision:"df4e886f6943c84b"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/mark-goodwin-f007982985dea6d4.js",revision:"f007982985dea6d4"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/martyn-kilbryde-7031ca8777843c4c.js",revision:"7031ca8777843c4c"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/matt-brunt-d20cf95eaf18211d.js",revision:"d20cf95eaf18211d"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/matt-hunt-4f9691592efd00ae.js",revision:"4f9691592efd00ae"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/paul-bailey-ee6597f2f34fdded.js",revision:"ee6597f2f34fdded"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/poornima-nayar-065e83e0e7f0afc5.js",revision:"065e83e0e7f0afc5"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/rachel-breeze-df29f90bfc50f4f7.js",revision:"df29f90bfc50f4f7"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/sean-farmar-bb24d041efe97034.js",revision:"bb24d041efe97034"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/shaun-lawrence-1dca28b5ede8a83a.js",revision:"1dca28b5ede8a83a"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/2023/soumaya-erradi-cfc0166a8629708f.js",revision:"cfc0166a8629708f"},{url:"/_next/static/chunks/pages/pastconferences/pastspeakers/pastspeakergrid-8b9326e2694fad7a.js",revision:"8b9326e2694fad7a"},{url:"/_next/static/chunks/pages/sponsor/social-responsibility-ece49752d1bdcf52.js",revision:"ece49752d1bdcf52"},{url:"/_next/static/chunks/pages/sponsor/sponsor-the-event-e1019aff432ca259.js",revision:"e1019aff432ca259"},{url:"/_next/static/chunks/pages/sponsor/sponsorship-tiers-f68996e566507fb1.js",revision:"f68996e566507fb1"},{url:"/_next/static/chunks/pages/sponsor/testimonials-0e1855e6bc3b6df4.js",revision:"0e1855e6bc3b6df4"},{url:"/_next/static/chunks/pages/sponsor/why-sponsor-e1b37383173afbeb.js",revision:"e1b37383173afbeb"},{url:"/_next/static/chunks/pages/talks-a95af8e4ca41bd9c.js",revision:"a95af8e4ca41bd9c"},{url:"/_next/static/chunks/polyfills-42372ed130431b0a.js",revision:"846118c33b2c0e922d7b3a7676f81f6f"},{url:"/_next/static/chunks/webpack-ec8b830c147b51b2.js",revision:"ec8b830c147b51b2"},{url:"/_next/static/css/1b5f59b922f765ec.css",revision:"1b5f59b922f765ec"},{url:"/_next/static/mgqZHLhPqpwpWfqmHzAXn/_buildManifest.js",revision:"a6d3ac89888be8ba49e920fdaa28329b"},{url:"/_next/static/mgqZHLhPqpwpWfqmHzAXn/_ssgManifest.js",revision:"b6652df95db52feb4daf4eca35380933"},{url:"/icons/android-icon-192x192-dunplab-manifest-20421.jpg",revision:"03d5f2acd8f45a8cc4f7b87b37152a57"},{url:"/icons/apple-icon-114x114-dunplab-manifest-20421.jpg",revision:"3114ccd7a01606ca53daafc0c9cd0064"},{url:"/icons/apple-icon-120x120-dunplab-manifest-20421.jpg",revision:"9a443a87fcdb1ba61a3ae1e62c39f891"},{url:"/icons/apple-icon-144x144-dunplab-manifest-20421.jpg",revision:"e0888e827350f3a2339e49d3fcd89a6f"},{url:"/icons/apple-icon-152x152-dunplab-manifest-20421.jpg",revision:"f3798dbbe15e1da7df86b4956db2b3ec"},{url:"/icons/apple-icon-180x180-dunplab-manifest-20421.jpg",revision:"4ef0d5687d59f42d022cf286a27681b8"},{url:"/icons/apple-icon-57x57-dunplab-manifest-20421.jpg",revision:"5db97081c3cca2726fc5dfb725cb4ce9"},{url:"/icons/apple-icon-60x60-dunplab-manifest-20421.jpg",revision:"3c1ffcb426cd8d771e32ba206f8186c8"},{url:"/icons/apple-icon-72x72-dunplab-manifest-20421.jpg",revision:"e8eb9fec1d5d40a11af7d5c03e311c9d"},{url:"/icons/apple-icon-76x76-dunplab-manifest-20421.jpg",revision:"43f5e08edd48e3b4abea7a2fe25d5407"},{url:"/icons/favicon-16x16-dunplab-manifest-20421.jpg",revision:"ef9437a773dee9d7a311643e7e438f25"},{url:"/icons/favicon-32x32-dunplab-manifest-20421.jpg",revision:"0c6def766473bbae1546e9c9951cbf73"},{url:"/icons/favicon-96x96-dunplab-manifest-20421.jpg",revision:"6c9b4865758931658f2a1a9724710d21"},{url:"/icons/maskable-icon-192x192-dunplab-manifest-20241.png",revision:"f261071b24f09822b8d5465d2a2ca4c4"},{url:"/icons/splash-screen-icon-512x512-dunplab-manifest-20241.jpg",revision:"b0da458a04400994d51c241a4561fcfb"},{url:"/manifest.json",revision:"72cdacb728493f786d9709f4bb855cba"},{url:"/robots.txt",revision:"6ec5d3f49384dee6bca959de5312dca7"},{url:"/static/appqrcode.png",revision:"fba09db0a956b944b1ff97a5eef4364e"},{url:"/static/banners/about.jpg",revision:"c7755be9b52644024e7d3fcd19753504"},{url:"/static/banners/accessibility.jpg",revision:"4839055103c43ef1c121802a10d4d720"},{url:"/static/banners/activities.jpg",revision:"610a8190fb6978bdda3a280b5cbc8ddf"},{url:"/static/banners/album.jpg",revision:"7b55109beee9484be832c51ea7d0a700"},{url:"/static/banners/apply.jpg",revision:"1e558ad618a05a5dc239344e7c67512f"},{url:"/static/banners/attendee.jpg",revision:"f51e1b203df85e9b090846829dde9a8b"},{url:"/static/banners/coc.jpg",revision:"94092ca25385e5f6cf5db5e3fda73360"},{url:"/static/banners/coffee.png",revision:"7e331592963886c85c8078e63d85dddd"},{url:"/static/banners/contact.jpg",revision:"5099cecc5dd76e1e73f59a517bb1584d"},{url:"/static/banners/covid.jpg",revision:"06644cdd0f8ed10d3a05774bdb573eab"},{url:"/static/banners/crew.jpg",revision:"fd8604c9a91a66f3e51f271f4b0bed05"},{url:"/static/banners/hacktober.jpg",revision:"97bc57bb85318a385be702415b3d4802"},{url:"/static/banners/homepage.jpg",revision:"e4da370b8d7d2ffb0d22872c404f9105"},{url:"/static/banners/organisers.jpg",revision:"fdd77bd8812896358f34cdbd36f4adc2"},{url:"/static/banners/organisers/jess.jpg",revision:"2487f42cd975fba449483f95d6a1fdaf"},{url:"/static/banners/organisers/mia.jpg",revision:"61703f88b7ad682d05a46bd72072b930"},{url:"/static/banners/organisers/mort.jpg",revision:"7ff7e74e40535b4aa47b33ee31dd4708"},{url:"/static/banners/organisers/rach.jpg",revision:"caa590ba72ca136373b0f6048ecd3306"},{url:"/static/banners/speaker-info.jpg",revision:"d544d396c3c071e45b720a570804e51c"},{url:"/static/banners/speakers.jpg",revision:"8a2364253e4decf019beb6f8ed48ba30"},{url:"/static/banners/sponsor.jpg",revision:"ce638571bb46c2420c6db6326b0bfe66"},{url:"/static/banners/sponsorship-tiers.png",revision:"990f54015d32aa5c19fb993678ff8ea7"},{url:"/static/banners/support.jpg",revision:"63861ddf3fd7a8c9b5b897043ddfe23a"},{url:"/static/banners/testimonials.jpg",revision:"41459374e45d0aade78260ee7691018e"},{url:"/static/banners/ticket.jpg",revision:"92d191428d46d0d44fb01e978f2b605a"},{url:"/static/banners/venue.jpg",revision:"33e99bd489030c89eba9e79e6a2c2130"},{url:"/static/banners/why-sponsor.jpg",revision:"11688fd3790fb8d4321cffbfaee06d0d"},{url:"/static/client/object-assign-auto.min.js",revision:"3bddb8b52a177c246d12eadec8728688"},{url:"/static/client/sessionize.css",revision:"8fcd72ec7b91a0e1f444fa4b61fd3cc1"},{url:"/static/client/sessionize.js",revision:"609857aef370de4e3ec8f65c8245eaee"},{url:"/static/ddd_avatar_300.jpg",revision:"84c5477ae29be417c02cae20112c64d1"},{url:"/static/ddd_avatar_400x400.jpg",revision:"66965d73a5e7abae552cd5977634db13"},{url:"/static/demographics/2019-jobs.png",revision:"2ab8a4b47f0e1b9ab0b0567c3e7e5864"},{url:"/static/demographics/2019-level.png",revision:"9968b4e5fccdbb0cfc942f87e8b2ad63"},{url:"/static/demographics/2019-topics.png",revision:"0ac47412bcb5ff1c8f51072244217094"},{url:"/static/demographics/2021-jobs.png",revision:"b874dc1e3abd089432c2a92cefeef3d0"},{url:"/static/demographics/2021-level.png",revision:"b8fd2cb365da0e9158b70b6d00784126"},{url:"/static/demographics/2021-topics.png",revision:"1cca3aa6ace987441dd6d7d7da88d169"},{url:"/static/favicon/android-icon-144x144.png",revision:"e8a1e2aefbd9abd6ca49d99046aac86c"},{url:"/static/favicon/android-icon-192x192.png",revision:"5898ce70d2be693f04985ad9f21cf0ef"},{url:"/static/favicon/android-icon-36x36.png",revision:"c4a26f66dc6bfea65591f82f564cb076"},{url:"/static/favicon/android-icon-48x48.png",revision:"b77eecd6e54cb5e53a71033d1bddc2d7"},{url:"/static/favicon/android-icon-72x72.png",revision:"e567f4b0ebf15b4db66aa373c143e46c"},{url:"/static/favicon/android-icon-96x96.png",revision:"2c5d02a7547f92197c0bfd143e50bd5d"},{url:"/static/favicon/apple-icon-114x114.png",revision:"5d8b9de927564f7d114dd4225cc9b0b0"},{url:"/static/favicon/apple-icon-120x120.png",revision:"1cbfe9c67e658f900444e29d877d49f8"},{url:"/static/favicon/apple-icon-144x144.png",revision:"e8a1e2aefbd9abd6ca49d99046aac86c"},{url:"/static/favicon/apple-icon-152x152.png",revision:"5d8a1e2d00f528a12d4c5395a9135c1f"},{url:"/static/favicon/apple-icon-180x180.png",revision:"96f4756e0ae5d26f381a315a432347b9"},{url:"/static/favicon/apple-icon-57x57.png",revision:"8a8e2978459ec93d49a6445bfe10e884"},{url:"/static/favicon/apple-icon-60x60.png",revision:"5c0fb9cf80367a598baeefc4c067e5ed"},{url:"/static/favicon/apple-icon-72x72.png",revision:"e567f4b0ebf15b4db66aa373c143e46c"},{url:"/static/favicon/apple-icon-76x76.png",revision:"86dc4ca39e4f521fbca947a12276d4c5"},{url:"/static/favicon/apple-icon-precomposed.png",revision:"5898ce70d2be693f04985ad9f21cf0ef"},{url:"/static/favicon/apple-icon.png",revision:"5898ce70d2be693f04985ad9f21cf0ef"},{url:"/static/favicon/browserconfig.xml",revision:"653d077300a12f09a69caeea7a8947f8"},{url:"/static/favicon/favicon-16x16.png",revision:"abe2ed49272ced3d7f29133a674c6e00"},{url:"/static/favicon/favicon-32x32.png",revision:"a22f7d0cc6b9c616679bba2fd9320c16"},{url:"/static/favicon/favicon-96x96.png",revision:"2c5d02a7547f92197c0bfd143e50bd5d"},{url:"/static/favicon/favicon.ico",revision:"7279ed3ca87d28e3a53f5e07b4ead74f"},{url:"/static/favicon/manifest.json",revision:"f92495f5c65456e414d93695b52ed231"},{url:"/static/favicon/ms-icon-144x144.png",revision:"e8a1e2aefbd9abd6ca49d99046aac86c"},{url:"/static/favicon/ms-icon-150x150.png",revision:"5fba8f384e04e1d32abde6bb346415bc"},{url:"/static/favicon/ms-icon-310x310.png",revision:"68f84d1e5042a76a58a6cad288689eb4"},{url:"/static/favicon/ms-icon-70x70.png",revision:"af6db1c876b0abeed44fa054186f5181"},{url:"/static/hacktoberfest/codesnip.png",revision:"2985e000b7ba1975d96cfb95d6f6bff6"},{url:"/static/hacktoberfest/hacktoberfest.png",revision:"27c257bd0b6e05376f03f135c561dbe1"},{url:"/static/hacktoberfest/screenshot.png",revision:"be95bfda907bd3a03dbc3c5687dfc9b8"},{url:"/static/info/Precautions.png",revision:"a55b3a462f9c6074c8f599c941932b41"},{url:"/static/info/crew.jpg",revision:"c57558cc7396b2f7e7c15de8e62660d6"},{url:"/static/info/exhibition.png",revision:"916259ea5d4f5d349d7ce8c9fb7006c8"},{url:"/static/info/hacktoberfest.png",revision:"5adcdbe40d014429faa891ae4ec12bee"},{url:"/static/info/sponsors/promo.png",revision:"4ffededa19662ed91d8dd83b0c32dab6"},{url:"/static/organisers/james.png",revision:"574471a53249738219d098eb9d02a89f"},{url:"/static/organisers/jess.png",revision:"b9118737ed4c2569b7d7080d48d8a797"},{url:"/static/organisers/mia.png",revision:"5be1090231f50040743cccd2382399f0"},{url:"/static/organisers/mort.png",revision:"a55bb928ea48012e1f0fabba529f6dfe"},{url:"/static/organisers/rachel.png",revision:"8ddb2365d8a02195446b1c6f558a26f8"},{url:"/static/organisers/steven.png",revision:"52ea54caa58b8b4bb4f09a4549ffa490"},{url:"/static/pageimage/happy.jpg",revision:"68b0b2a111dfec010a7a01e1cad3e622"},{url:"/static/partners/codebar.png",revision:"37049879f4ea470c91ed02b86b2ddcf7"},{url:"/static/partners/muslamic-makers.png",revision:"eb17c53cdbc9350749ada511e847952e"},{url:"/static/partners/ndc.png",revision:"ac2e21ce5bb4240b073e90ae205258c0"},{url:"/static/partners/newday.png",revision:"add3909b098077aa5cea137be3e5d16d"},{url:"/static/partners/next-tech-girls.png",revision:"467cacd0f1781c90763e4c3db212a199"},{url:"/static/partners/ntu.png",revision:"9297d8df31a6e3d750027fc01073916e"},{url:"/static/rooms/LT2.jpg",revision:"54e9e6696f3265428ebefc7cd495723c"},{url:"/static/rooms/LT2.png",revision:"ae6d4db72c47487cbcaea02fe7c69562"},{url:"/static/rooms/LT4.jpg",revision:"71de93fa61af7f2265cbd74d0d5b464c"},{url:"/static/rooms/LT4.png",revision:"c1c0446c73737809590c148e6c46ca50"},{url:"/static/rooms/LT4_Back.jpg",revision:"c3763a873c2c5ddcb88505846b5780e7"},{url:"/static/rooms/LT5.jpg",revision:"27934ce26dd805e8b276eedd96984ce4"},{url:"/static/rooms/LT5.png",revision:"d257ab65e14a4ead61025b8580492d49"},{url:"/static/rooms/LT5_Back.jpg",revision:"78c437336caf647b0775416bc3949447"},{url:"/static/speakers/2019/Anthony_D.jpg",revision:"79fbf4358e153f09d6efcbd1607bf862"},{url:"/static/speakers/2019/Cara_H.jpg",revision:"92ebe63add10c72fb6a2bc0e4fc985a1"},{url:"/static/speakers/2019/Dylan_B.jpg",revision:"f13e60d80d76a2cc5ffb13f5f74554c2"},{url:"/static/speakers/2019/Galiya_W.jpg",revision:"aedcf28efb68d19335205e44ab3b8402"},{url:"/static/speakers/2019/Helen_J.jpg",revision:"dac5322356fcbfa92c9fe40a16e84312"},{url:"/static/speakers/2019/Ian_C.jpg",revision:"29c82baf10ca4346fdb6d802478f60c4"},{url:"/static/speakers/2019/Ian_J.jpg",revision:"569d147702a88794c66740cb3e78012a"},{url:"/static/speakers/2019/Jessica_S.jpg",revision:"fc2303941a704628c29a21d70622cf86"},{url:"/static/speakers/2019/Joel_HT.jpg",revision:"8a35aeea8aa752f5ae60deaac7e1fe15"},{url:"/static/speakers/2019/Mark_T.jpg",revision:"c8fd7698d69545f5563b2f9535b16e19"},{url:"/static/speakers/2019/Matt_B.jpg",revision:"f771918dd8748b25a453c18029877afa"},{url:"/static/speakers/2019/Neil_OC.jpg",revision:"65ed383dd7b8470dc78eb7ad14e3aece"},{url:"/static/speakers/2019/Robin_N.jpg",revision:"5f59d490e68a31c2ad391b618d0cff58"},{url:"/static/speakers/2019/Samathy_B.jpg",revision:"24ce5e87932a690cc704166e0e42ab4d"},{url:"/static/speakers/2019/Simon_P.jpg",revision:"4d053ff25be28badb526a754827784f5"},{url:"/static/speakers/2019/Zac_B.jpg",revision:"4373d8abd37797f5d5d43679bde767a7"},{url:"/static/speakers/2021/Clifford_A.jpg",revision:"6d282e6be44b080f0df2d783aa56d338"},{url:"/static/speakers/2021/Connell.jpg",revision:"797bc7de84d9bafffa30a3ed0c8ae4f0"},{url:"/static/speakers/2021/Dylan_B.jpg",revision:"7e33eefa2757ee57509c3128bf7ae044"},{url:"/static/speakers/2021/James_C.jpg",revision:"cd8c60a1eb688cc27301824142fac664"},{url:"/static/speakers/2021/Jen_M.jpg",revision:"51e178d46402f9a5297f73e6bc8b4a40"},{url:"/static/speakers/2021/Kojo_H.jpg",revision:"f25f5a6c24326c75fff0d888e73c83d8"},{url:"/static/speakers/2021/Leke_S.jpg",revision:"07bb4129cfa14b2794bd73dfef34553e"},{url:"/static/speakers/2021/Lex_L.jpg",revision:"01b24a999ec70ca5680fbcdd6a3cd00a"},{url:"/static/speakers/2021/Manu_M.jpg",revision:"7f21ade72053c80113daa21eba974267"},{url:"/static/speakers/2021/Matt_W.jpg",revision:"650bab5836572305946899faaa4cc913"},{url:"/static/speakers/2021/Poornima_N.jpg",revision:"c25174b7064fd9f0bf05a21a07ec802e"},{url:"/static/speakers/2021/Rizwana_A.jpg",revision:"5a1016106dd09c6a401772793f83d6f7"},{url:"/static/speakers/2021/Simon_P.jpg",revision:"8687446c3c776aa07046f35f1f8caa25"},{url:"/static/speakers/2021/Stephen_H.jpg",revision:"1852222613647167b616ff97c8b6a03e"},{url:"/static/speakers/2021/Stephen_J.jpg",revision:"1765ecd1f32e2ac742cc347e497a4f3f"},{url:"/static/speakers/2021/Steve_C.jpg",revision:"abd56783de71e7864c2231e00bdf157b"},{url:"/static/speakers/2021/Tania_A.jpg",revision:"4862d56837debc7898d3b1ef64bf8c00"},{url:"/static/speakers/2021/Tom_M.jpg",revision:"cf313859569b2ddd996ee5c643a82702"},{url:"/static/speakers/2023/Ashley_S.jpg",revision:"5581c643c50ecfc14c6136fcd6558dde"},{url:"/static/speakers/2023/Connell_S.jpg",revision:"bdef01e1e071bd2678e238108c7bf1f8"},{url:"/static/speakers/2023/Dan_C.jpg",revision:"29c922086b3ca046ec72bcfc457c504d"},{url:"/static/speakers/2023/Eli_H.jpg",revision:"19909332346d44b96f39cbb8f24086e3"},{url:"/static/speakers/2023/Gosia_B.jpg",revision:"559acf87af5835a477f663cf128d0d84"},{url:"/static/speakers/2023/Jamie_T.jpg",revision:"d4b1b70d6d0fa8a25ecb051a346ad370"},{url:"/static/speakers/2023/Marc_S.jpg",revision:"067b9c1835b8e1c38c1839d83964e4f5"},{url:"/static/speakers/2023/Marcus_N.jpg",revision:"d1f9f8ffd11e0821df6b66be46c92eb7"},{url:"/static/speakers/2023/Mark_G.jpg",revision:"00bb151e8ddc846a657d0df80fb50846"},{url:"/static/speakers/2023/Martyn_K.jpg",revision:"f14a162f036b23f5bd54a5737c2c6781"},{url:"/static/speakers/2023/Matt_B.jpg",revision:"cf0ff05cef003a2eec76366a7116e8fe"},{url:"/static/speakers/2023/Matt_H.jpg",revision:"6a462df4e0f41d302c3b50d1ded66f3e"},{url:"/static/speakers/2023/Paul_B.jpg",revision:"27f1e7f10985965708fa87878f8068e9"},{url:"/static/speakers/2023/Poornima_N.jpg",revision:"437c34c795d3e855b0019feac3ebe707"},{url:"/static/speakers/2023/Rachel_B.jpg",revision:"0011c15c59d1dc841eaa4f8c47b6bd20"},{url:"/static/speakers/2023/Sean_F.jpg",revision:"57d84c32ee3a10425c0ebe8a3ba3cfc2"},{url:"/static/speakers/2023/Shaun_L.jpg",revision:"60373ee25717dfc65e37984aa6a17a0a"},{url:"/static/speakers/2023/Soumaya_E.jpg",revision:"d1a0c24573bb729a001dc03a3f3e2c6c"},{url:"/static/speakers/TBC.png",revision:"dc6121b20f75ac078aafeff35383f7cd"},{url:"/static/sponsors/BJSS.png",revision:"159c15f74a76944fda0d79e248762734"},{url:"/static/sponsors/Cronofy.png",revision:"8c5d25ebcc27aea8cc4cb55253361988"},{url:"/static/sponsors/Experian.png",revision:"194938f1596f1a25ce4a5b67266f521d"},{url:"/static/sponsors/MHR.png",revision:"8eb4f971f47a1911ff074b656ad06748"},{url:"/static/sponsors/Mindera.png",revision:"7618b43d6d2ce3a2d7b8e5f392937100"},{url:"/static/sponsors/Motorpoint.png",revision:"6d7c1d12ecc6af6b067b00f799103304"},{url:"/static/sponsors/empty.png",revision:"7fcd1642fbe2c2f3445f408691b4be34"},{url:"/static/sponsorship/testimonials/bjss.png",revision:"ba687b198a841877bd6465c56ddd04c7"},{url:"/static/sponsorship/testimonials/ert.png",revision:"b64c2554e80e4cdcd922b3728bfb9cb5"},{url:"/static/sponsorship/testimonials/oakbrook.png",revision:"866d11f7f8454220eb9cfc7efdbf118d"},{url:"/static/sponsorship/tiers/booth.jpg",revision:"7a57b61a9e61ac1381d142e7afbf608b"},{url:"/static/sponsorship/tiers/gold.jpg",revision:"553f5d2ef8ea37c0d139372171fdc7d5"},{url:"/static/sponsorship/tiers/platinum.jpg",revision:"b389a8b9db748d4c9ec308755086661a"}],{ignoreURLParametersMatching:[]}),e.cleanupOutdatedCaches(),e.registerRoute("/",new e.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({request:e,response:s,event:a,state:c})=>s&&"opaqueredirect"===s.type?new Response(s.body,{status:200,statusText:"OK",headers:s.headers}):s}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3})]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),e.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new e.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),e.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new e.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\/_next\/image\?url=.+$/i,new e.StaleWhileRevalidate({cacheName:"next-image",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:mp3|wav|ogg)$/i,new e.CacheFirst({cacheName:"static-audio-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:mp4)$/i,new e.CacheFirst({cacheName:"static-video-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:js)$/i,new e.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:css|less)$/i,new e.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new e.StaleWhileRevalidate({cacheName:"next-data",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:json|xml|csv)$/i,new e.NetworkFirst({cacheName:"static-data-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;const s=e.pathname;return!s.startsWith("/api/auth/")&&!!s.startsWith("/api/")}),new e.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;return!e.pathname.startsWith("/api/")}),new e.NetworkFirst({cacheName:"others",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:e})=>!(self.origin===e.origin)),new e.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600})]}),"GET")})); diff --git a/out/talks/index.html b/out/talks/index.html index 985bc260..6c3f3d29 100644 --- a/out/talks/index.html +++ b/out/talks/index.html @@ -1 +1 @@ -Talks

    We advise using this page on desktop for a good experience.

    Filtering

    • To filter talks down select a level, length or topic.
    • Tags are inclusive. If a talk contains all the tags selected, it will be displayed. If it does not contain one or more of the tags selected, it will not be displayed.

    Voting

    • If you are attending you will be emailed a link to your Eventbrite registered email. This link leads to a google form with all the titles that have been submitted.
    • You can vote for up to 10 talks you would like to see.
    • We advise reading the descriptions of talks, taking note of the titles you want to see, then using Control+F or Command+F searching for those titles on the google form.


    Level

    Introductory and overview
    Intermediate
    Advanced

    Length

    15 minute lightning talk
    30 minute talk
    60 minute talk

    Topic

    .net
    3d modelling
    accessibility
    android
    api
    ar/vr
    architecture
    artificial intelligence
    automated testing
    big data
    blockchain
    change management
    cloud
    coreskills/softskills
    cross discipline
    cross-discipline
    data analytics
    databases
    demo
    design
    devops
    devsecops
    gaming
    hardware
    infrastructure
    ios
    iot
    language specific
    languages
    leadership
    machine learning
    maintenance
    management
    mental health
    mobile
    monitoring
    observability
    open source
    operations
    performance
    secops
    security
    software methodology/process
    testing
    ui
    unity
    ux
    web
    What does the 'Coach' in 'Quality Coach' mean?
    Design Patterns Using Azure Service Bus
    The Wheels on The Bus - Azure Service Bus - 0 to 60 in Under an Hour
    Deep Dive into Azure Service Bus
    The [SourceCode] Generation Game
    A Few Tricks and Tips for the .NET DI Container
    Adding accessibility to the development process
    Accessibility - A .NET Developers perspective
    Building next generation web apps with Blazor
    Building a Robot Arm with .NET 5, Raspberry Pi, Blazor and SignalR
    WSL2: Past, Present & Future
    Open Banking vs. DeFi; The technological future of finance?
    Could CyberSecurity be for You?
    Nitty-Gitty: Master Git from the Inside
    Domain Name S...omething?
    Should you write UI tests?
    Mental Health: Its Time to Talk
    Using Azure as a Platform for good - The story behind mhasl.me
    Making Operational Azure Management a breeze.
    Tales from the field, building the.geekbook.club
    .NET Core Data Security : Hope is not a Strategy
    Fighting Back Against a Distracted World - Increasing your Focus and Self-motivation
    Hacking Humans : Social Engineering Techniques and How to Protect Against Them
    The Path to Freedom - Taking your Side Projects Full Time
    What do you mean by “is”?
    How to ruin kid's games with machine learning
    Functional Programming with C#
    Pride & Prejudice & C#
    SOLID Principles in 5 Nightmares
    Why is a Developer Nothing like an Enchilada?
    I approve this talk! Creating a slack app in .NET
    Beyond "Hello World" - Better Projects for learning a new Programming Languages
    Blazor, GraphQL and a headless CMS
    GraphQL in .Net Core
    REST, GraphQL and gRPC : A Comparison
    Resilience Engineering - the next step for DevOps?
    Design for Developers
    Getting Started with Unity and AR/VR for the .NET Developer
    Innovate with empathy
    Just go with the Flow
    The Spirit of Creativity and our Legacy to the World
    THE critical question(s) in a tech start-up's lifecycle
    Delivering a Serverless architecture via DevOPS
    Deploying Code to Auto Scaled Web Servers
    Designing the Unknown
    Communication stories
    We Do Data - Building Modern Data Pipelines
    A journey of Innovation
    Emotional Intelligence Leadership during a global pandemic
    Testing from AI, XAI perspective
    .NET on tiny IOT Meadow Boards.
    Xamarin File->New to on your Mobile device
    Building a Mobile Flight Simulator
    3D printed Bionic Hand a little IOT and a Xamarin Mobile App
    How to build a simple Marvel search engine using Blazor (in less than an hour)
    The Easy Road to Computer Vision
    Giving back to the Open Source community
    ESB - The Good Parts
    Azure Functions: a guide to getting started
    Identity and Blazor
    Get Rid of Your IAM Users: Federation in AWS through SSO & Okta
    Everything You Need to Know About Configuration in .NET
    Good Writers Become Better Developers
    Testing your ASP.NET Core APIs
    A more flexible way to store your data with MongoDB
    Embracing Skynet - An exploration of GPT-3 and its potential applications
    Repeatable cloud infrastructure with Terraform
    Designing great software by designing great teams
    Up and running with Blazor - A whistle-stop tour of Blazor's component model
    DevOps: The Good, The Bad and The Ugly
    Deploying to the cloud with Pulumi
    Serverless with Azure
    How I jilted Python at the alter and eloped with Go instead
    Bird spotting on a Raspberry Pi with IoT Hub and Cognitive services
    A taste of observability with Honeycomb
    The Power of Working with Legacy Systems
    The Curious Incident in your Software in the Day-Time
    Give your CMS site a serverless supercharge
    Onion Architecture with DDD and CQRS
    Introduction to Microsoft Teams app development
    You don't need logging code
    A functional approach to client applications with MVU
    Magic Unit Tests with Auto-mocking
    We need to talk about technical debt
    Food; Time poor techie's guide
    Senior By Default
    Distributed Tracing in dotnet core using OpenTelemetry
    The Culture of DDD
    RegEx Is Your Friend
    "We need a bigger boat" - Introduction to application scaling
    Why I !love the not operator
    Learning Machine Learning
    Who will Index the Indexes? Performing an Index Audit
    EventSourcing with CosmosDB Serverless
    \ No newline at end of file +Talks

    We advise using this page on desktop for a good experience.

    Filtering

    • To filter talks down select a level, length or topic.
    • Tags are inclusive. If a talk contains all the tags selected, it will be displayed. If it does not contain one or more of the tags selected, it will not be displayed.

    Voting

    • If you are attending you will be emailed a link to your Eventbrite registered email. This link leads to a google form with all the titles that have been submitted.
    • You can vote for up to 10 talks you would like to see.
    • We advise reading the descriptions of talks, taking note of the titles you want to see, then using Control+F or Command+F searching for those titles on the google form.


    Level

    Introductory and overview
    Intermediate
    Advanced

    Length

    15 minute lightning talk
    30 minute talk
    60 minute talk

    Topic

    .net
    3d modelling
    accessibility
    android
    api
    ar/vr
    architecture
    artificial intelligence
    automated testing
    big data
    blockchain
    change management
    cloud
    coreskills/softskills
    cross discipline
    cross-discipline
    data analytics
    databases
    demo
    design
    devops
    devsecops
    gaming
    hardware
    infrastructure
    ios
    iot
    language specific
    languages
    leadership
    machine learning
    maintenance
    management
    mental health
    mobile
    monitoring
    observability
    open source
    operations
    performance
    secops
    security
    software methodology/process
    testing
    ui
    unity
    ux
    web
    What does the 'Coach' in 'Quality Coach' mean?
    Design Patterns Using Azure Service Bus
    The Wheels on The Bus - Azure Service Bus - 0 to 60 in Under an Hour
    Deep Dive into Azure Service Bus
    The [SourceCode] Generation Game
    A Few Tricks and Tips for the .NET DI Container
    Adding accessibility to the development process
    Accessibility - A .NET Developers perspective
    Building next generation web apps with Blazor
    Building a Robot Arm with .NET 5, Raspberry Pi, Blazor and SignalR
    WSL2: Past, Present & Future
    Open Banking vs. DeFi; The technological future of finance?
    Could CyberSecurity be for You?
    Nitty-Gitty: Master Git from the Inside
    Domain Name S...omething?
    Should you write UI tests?
    Mental Health: Its Time to Talk
    Using Azure as a Platform for good - The story behind mhasl.me
    Making Operational Azure Management a breeze.
    Tales from the field, building the.geekbook.club
    .NET Core Data Security : Hope is not a Strategy
    Fighting Back Against a Distracted World - Increasing your Focus and Self-motivation
    Hacking Humans : Social Engineering Techniques and How to Protect Against Them
    The Path to Freedom - Taking your Side Projects Full Time
    What do you mean by “is”?
    How to ruin kid's games with machine learning
    Functional Programming with C#
    Pride & Prejudice & C#
    SOLID Principles in 5 Nightmares
    Why is a Developer Nothing like an Enchilada?
    I approve this talk! Creating a slack app in .NET
    Beyond "Hello World" - Better Projects for learning a new Programming Languages
    Blazor, GraphQL and a headless CMS
    GraphQL in .Net Core
    REST, GraphQL and gRPC : A Comparison
    Resilience Engineering - the next step for DevOps?
    Design for Developers
    Getting Started with Unity and AR/VR for the .NET Developer
    Innovate with empathy
    Just go with the Flow
    The Spirit of Creativity and our Legacy to the World
    THE critical question(s) in a tech start-up's lifecycle
    Delivering a Serverless architecture via DevOPS
    Deploying Code to Auto Scaled Web Servers
    Designing the Unknown
    Communication stories
    We Do Data - Building Modern Data Pipelines
    A journey of Innovation
    Emotional Intelligence Leadership during a global pandemic
    Testing from AI, XAI perspective
    .NET on tiny IOT Meadow Boards.
    Xamarin File->New to on your Mobile device
    Building a Mobile Flight Simulator
    3D printed Bionic Hand a little IOT and a Xamarin Mobile App
    How to build a simple Marvel search engine using Blazor (in less than an hour)
    The Easy Road to Computer Vision
    Giving back to the Open Source community
    ESB - The Good Parts
    Azure Functions: a guide to getting started
    Identity and Blazor
    Get Rid of Your IAM Users: Federation in AWS through SSO & Okta
    Everything You Need to Know About Configuration in .NET
    Good Writers Become Better Developers
    Testing your ASP.NET Core APIs
    A more flexible way to store your data with MongoDB
    Embracing Skynet - An exploration of GPT-3 and its potential applications
    Repeatable cloud infrastructure with Terraform
    Designing great software by designing great teams
    Up and running with Blazor - A whistle-stop tour of Blazor's component model
    DevOps: The Good, The Bad and The Ugly
    Deploying to the cloud with Pulumi
    Serverless with Azure
    How I jilted Python at the alter and eloped with Go instead
    Bird spotting on a Raspberry Pi with IoT Hub and Cognitive services
    A taste of observability with Honeycomb
    The Power of Working with Legacy Systems
    The Curious Incident in your Software in the Day-Time
    Give your CMS site a serverless supercharge
    Onion Architecture with DDD and CQRS
    Introduction to Microsoft Teams app development
    You don't need logging code
    A functional approach to client applications with MVU
    Magic Unit Tests with Auto-mocking
    We need to talk about technical debt
    Food; Time poor techie's guide
    Senior By Default
    Distributed Tracing in dotnet core using OpenTelemetry
    The Culture of DDD
    RegEx Is Your Friend
    "We need a bigger boat" - Introduction to application scaling
    Why I !love the not operator
    Learning Machine Learning
    Who will Index the Indexes? Performing an Index Audit
    EventSourcing with CosmosDB Serverless
    \ No newline at end of file