741 lines
463 KiB
HTML
741 lines
463 KiB
HTML
<!doctype html><html lang=en-us>
|
||
<head>
|
||
<meta charset=utf-8>
|
||
<title>Zero Downtime Database Changes with Feature Flags - Step by Step</title>
|
||
<meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=5">
|
||
<meta name=description content="Deploying database changes can be tricky. This article provides a step-by-step approach with feature flags that you can use to deploy database changes without a downtime.">
|
||
<meta name=author content="Tom Hombergs">
|
||
<meta name=generator content="Hugo 0.91.2">
|
||
<link rel="shortcut icon" href=/images/favicon_hu1f1279ae3ed53647d9a8907cf7c47ae6_3248_32x0_resize_box_3.png type=image/x-icon>
|
||
<link rel=icon href=/images/favicon_hu1f1279ae3ed53647d9a8907cf7c47ae6_3248_32x0_resize_box_3.png type=image/x-icon>
|
||
<link rel=icon type=image/png sizes=16x16 href=/images/favicon_hu1f1279ae3ed53647d9a8907cf7c47ae6_3248_16x0_resize_box_3.png>
|
||
<link rel=icon type=image/png sizes=32x32 href=/images/favicon_hu1f1279ae3ed53647d9a8907cf7c47ae6_3248_32x0_resize_box_3.png>
|
||
<link rel=apple-touch-icon sizes=180x180 href=/images/favicon_hu1f1279ae3ed53647d9a8907cf7c47ae6_3248_180x0_resize_box_3.png>
|
||
<link rel=manifest href=/manifest.webmanifest>
|
||
<meta name=msapplication-TileColor content="#2ba283">
|
||
<meta name=theme-color content="#FFF">
|
||
<meta property="og:image" content="https://reflectoring.io/images/stock/0039-start-1200x628-branded.jpg">
|
||
<meta property="twitter:image" content="https://reflectoring.io/images/stock/0039-start-1200x628-branded.jpg">
|
||
<meta property="twitter:card" content="summary_large_image">
|
||
<meta property="og:image:type" content="image/jpeg">
|
||
<meta name=twitter:title content="Zero Downtime Database Changes with Feature Flags - Step by Step">
|
||
<meta name=twitter:description content="Deploying database changes can be tricky. This article provides a step-by-step approach with feature flags that you can use to deploy database changes without a downtime.">
|
||
<meta name=twitter:site content="@TomHombergs">
|
||
<meta name=twitter:creator content="@TomHombergs">
|
||
<meta property="og:title" content="Zero Downtime Database Changes with Feature Flags - Step by Step">
|
||
<meta property="og:description" content="Deploying database changes can be tricky. This article provides a step-by-step approach with feature flags that you can use to deploy database changes without a downtime.">
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:url" content="https://reflectoring.io/zero-downtime-deployments-with-feature-flags/"><meta property="article:section" content="blog">
|
||
<meta property="article:published_time" content="2021-09-22T00:00:00+00:00">
|
||
<meta property="article:modified_time" content="2021-09-22T00:00:00+00:00">
|
||
<link rel=preload href="https://fonts.googleapis.com/css?family=Roboto+Slab&display=swap" as=style>
|
||
<link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto+Slab&display=swap">
|
||
<link rel=preload href="https://fonts.googleapis.com/css?family=Oswald&display=swap" as=style>
|
||
<link rel=stylesheet href="https://fonts.googleapis.com/css?family=Oswald&display=swap">
|
||
<script type=text/javascript>document.location.hostname=="reflectoring.io"&&(window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga('create','UA-88407702-1','auto'),ga('send','pageview'))</script>
|
||
<script async src=https://www.google-analytics.com/analytics.js></script>
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-GKV4YKFSWF"></script>
|
||
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag('js',new Date),gtag('config','G-GKV4YKFSWF')</script>
|
||
<meta http-equiv=x-dns-prefetch-control content="on">
|
||
<link rel=preconnect href=//ajax.googleapis.com>
|
||
<link rel=preconnect href=https://fonts.gstatic.com crossorigin=anonymous>
|
||
<link rel=preconnect href=https://use.fontawesome.com crossorigin>
|
||
<link rel=preconnect href=//cdnjs.cloudflare.com>
|
||
<link rel=preconnect href=//www.googletagmanager.com>
|
||
<link rel=preconnect href=//www.google-analytics.com>
|
||
<link rel=dns-prefetch href=https://fonts.gstatic.com>
|
||
<link rel=dns-prefetch href=https://use.fontawesome.com>
|
||
<link rel=dns-prefetch href=//ajax.googleapis.com>
|
||
<link rel=dns-prefetch href=//cdnjs.cloudflare.com>
|
||
<link rel=dns-prefetch href=//www.googletagmanager.com>
|
||
<link rel=dns-prefetch href=//www.google-analytics.com>
|
||
<link rel=dns-prefetch href=//fonts.googleapis.com>
|
||
<link rel=dns-prefetch href=//connect.facebook.net>
|
||
<link rel=dns-prefetch href=//platform.linkedin.com>
|
||
<link rel=dns-prefetch href=//platform.twitter.com>
|
||
<style type=text/css>/*!* Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com
|
||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)*/.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8)infinite;animation:fa-spin 1s steps(8)infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"font awesome 5 brands";font-style:normal;font-weight:400;font-display:block;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/webfonts/fa-brands-400.eot);src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/webfonts/fa-brands-400.eot?#iefix)format("embedded-opentype"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/webfonts/fa-brands-400.woff2)format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/webfonts/fa-brands-400.woff)format("woff"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/webfonts/fa-brands-400.ttf)format("truetype"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/webfonts/fa-brands-400.svg#fontawesome)format("svg")}.fab{font-family:"font awesome 5 brands";font-weight:400}@font-face{font-family:"font awesome 5 free";font-style:normal;font-weight:900;font-display:block;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/webfonts/fa-solid-900.eot);src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/webfonts/fa-solid-900.eot?#iefix)format("embedded-opentype"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/webfonts/fa-solid-900.woff2)format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/webfonts/fa-solid-900.woff)format("woff"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/webfonts/fa-solid-900.ttf)format("truetype"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/webfonts/fa-solid-900.svg#fontawesome)format("svg")}.fa,.fas{font-family:"font awesome 5 free";font-weight:900}#corner-popup a,#corner-popup a span,#corner-popup a div,#corner-popup span,#corner-popup div:before,#corner-popup div:after{-webkit-transition:all ease-in .3s;transition-property:all ease-in .3s;-webkit-font-smoothing:subpixel-antialiased;-webkit-text-stroke:1px transparent}#corner-popup a,#corner-popup a:hover{text-decoration:none}#corner-popup *,#corner-popup :after,#corner-popup :before{box-sizing:border-box}#corner-popup p{margin:0 0 10px}@media(max-width:768px){#corner-popup .hide-mobile{display:none!important}#corner-popup .p-xs-12{width:100%}}@media(min-width:768px){#corner-popup .p-sm-1{width:8.33333333%}#corner-popup .p-sm-2{width:16.66666667%}#corner-popup .p-sm-3{width:25%}#corner-popup .p-sm-4{width:33.33333333%}#corner-popup .p-sm-5{width:41.66666667%}#corner-popup .p-sm-6{width:50%}#corner-popup .p-sm-7{width:58.33333333%}#corner-popup .p-sm-8{width:66.66666667%}#corner-popup .p-sm-9{width:75%}#corner-popup .p-sm-10{width:83.33333333%}#corner-popup .p-sm-11{width:91.66666667%}#corner-popup .p-sm-12{width:100%}}#corner-popup .p-col{float:left;position:relative;min-height:1px;padding-right:15px;padding-left:15px}#corner-popup .responsive{display:block;max-width:100%;height:auto}#corner-popup{box-sizing:border-box;font-family:open sans,halvetica,sans-serif;text-rendering:optimizeLegibility;display:none;position:fixed;bottom:0;right:0;width:100%;height:auto;padding:15px;background:#fff;border:1px solid #efefef;box-shadow:10px 10px 30px rgba(0,0,0,6%);z-index:9999;align-items:center;justify-content:center;word-break:break-word}#corner-popup.corner-top{bottom:auto!important;top:60px}@media(max-width:768px){#corner-popup.corner-top{bottom:auto!important;top:0!important}#corner-popup.corner-top .corner-close{top:0}}@media(max-width:768px){#corner-popup .popup-xs{width:100%!important;bottom:0!important;right:0!important;left:0!important}}@media(min-width:768px){#corner-popup{bottom:60px;right:80px;width:390px;padding:20px}}#corner-popup .corner-img{display:none;height:100%;width:140px;margin:0 auto;border-radius:50%}#corner-popup .corner-img-cookie{display:none;height:100%;width:95px;margin:0 auto}@media(min-width:768px){#corner-popup .corner-img,#corner-popup .corner-img-cookie{display:block}}#corner-popup .corner-close{position:relative;top:-31px;margin-bottom:auto;margin-left:auto;right:-46px;width:34px;height:34px;cursor:pointer;border-radius:50%;background:#fff;box-shadow:3px 5px 10px rgba(0,0,0,9%)}@media(max-width:768px){#corner-popup .corner-close{right:-14px}}#corner-popup .corner-close:before,#corner-popup .corner-close:after{position:absolute;left:15px;top:10px;content:" ";height:15px;width:4px;background-color:#543189}#corner-popup .corner-close:before{transform:rotate(45deg);-webkit-transform:rotate(45deg)}#corner-popup .corner-close:after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}#corner-popup .corner-container{position:relative;bottom:20px}#corner-popup .corner-container-1{position:relative;bottom:10px;padding-top:10px;padding-bottom:10px}#corner-popup .corner-container-2{position:relative;bottom:17px;padding:7px;padding-left:12px;padding-right:12px}#corner-popup .corner-container-3{position:relative;bottom:10px;padding-top:20px;padding-bottom:20px}#corner-popup .corner-head{font-weight:500;font-size:28px;line-height:32px;text-transform:uppercase;text-align:center;word-break:break-word;color:#543189;margin-bottom:12px}@media(min-width:768px){#corner-popup .corner-head{text-align:left}}#corner-popup .head-center{text-align:center!important}#corner-popup .corner-text{font-size:12px;line-height:18px;word-break:break-word}#corner-popup .corner-btn,#corner-popup .corner-btn-cookie,#corner-popup .corner-btn-close{display:block;background:#543189;width:100%;height:39px;font-weight:300;font-size:14px;font-weight:500;text-align:center;color:#fff;vertical-align:middle;line-height:37px;cursor:pointer}#corner-popup .cookie-more{color:#553189;font-weight:700}.slide-left{position:relative;right:-400px;-webkit-animation:slideleft .8s forwards;-moz-animation:slideleft .8s forwards;animation:slideleft .8s forwards}.slide-left-rev{position:relative;right:-400px;-webkit-animation:slideleftrev .8s forwards;-moz-animation:slideleftrev .8s forwards;animation:slideleftrev .8s forwards}.slide-right{position:relative;left:-400px;-webkit-animation:slideright .8s forwards;-moz-animation:slideright .8s forwards;animation:slideright .8s forwards}.slide-right-rev{position:relative;left:-400px;-webkit-animation:sliderightrev .8s forwards;-moz-animation:sliderightrev .8s forwards;animation:sliderightrev .8s forwards}.slide-top{position:relative;bottom:-400px;-webkit-animation:slidetop .5s forwards;-moz-animation:slidetop .5s forwards;animation:slidetop .5s forwards}.slide-top-rev{position:relative;bottom:-400px;-webkit-animation:slidetoprev .5s forwards;-moz-animation:slidetoprev .5s forwards;animation:slidetoprev .5s forwards}.slide-bottom{position:relative;top:60px;-webkit-animation:slidebottom .5s forwards;-moz-animation:slidebottom .5s forwards;animation:slidebottom .5s forwards}.slide-bottom-rev{position:relative;top:60px;-webkit-animation:slidebottomrev .5s forwards;-moz-animation:slidebottomrev .5s forwards;animation:slidebottomrev .5s forwards}@-webkit-keyframes slideleft{0%{transform:translateX(300px)}100%{transform:translateX(0)}}@-moz-keyframes slideleft{0%{transform:translateX(300px)}100%{transform:translateX(0)}}@keyframes slideleft{0%{transform:translateX(300px)}100%{transform:translateX(0)}}@-webkit-keyframes slideleftrev{0%{transform:translateX(0)}100%{transform:translateX(700px)}}@-moz-keyframes slideleftrev{0%{transform:translateX(0)}100%{transform:translateX(700px)}}@keyframes slideleftrev{0%{transform:translateX(0)}100%{transform:translateX(700px)}}@-webkit-keyframes slideright{0%{transform:translateX(-300px)}100%{transform:translateX(0)}}@-moz-keyframes slideright{0%{transform:translateX(-300px)}100%{transform:translateX(0)}}@keyframes slideright{0%{transform:translateX(-300px)}100%{transform:translateX(0)}}@-webkit-keyframes sliderightrev{0%{transform:translateX(0)}100%{transform:translateX(-700px)}}@-moz-keyframes sliderightrev{0%{transform:translateX(0)}100%{transform:translateX(-700px)}}@keyframes sliderightrev{0%{transform:translateX(0)}100%{transform:translateX(-700px)}}@-webkit-keyframes slidetop{0%{transform:translateY(200px)}100%{transform:translateY(0)}}@-moz-keyframes slidetop{0%{transform:translateY(200px)}100%{transform:translateY(0)}}@keyframes slidetop{0%{transform:translateY(200px)}100%{transform:translateY(0)}}@-webkit-keyframes slidetoprev{0%{transform:translateY(0)}100%{transform:translateY(300px)}}@-moz-keyframes slidetoprev{0%{transform:translateY(0)}100%{transform:translateY(300px)}}@keyframes slidetoprev{0%{transform:translateY(0)}100%{transform:translateY(300px)}}@-webkit-keyframes slidebottom{0%{transform:translateY(-200px)}100%{transform:translateY(0)}}@-moz-keyframes slidebottom{0%{transform:translateY(-200px)}100%{transform:translateY(0)}}@keyframes slidebottom{0%{transform:translateY(-200px)}100%{transform:translateY(0)}}@-webkit-keyframes slidebottomrev{0%{transform:translateY(0)}100%{transform:translateY(-300px)}}@-moz-keyframes slidebottomrev{0%{transform:translateY(0)}100%{transform:translateY(-300px)}}@keyframes slidebottomrev{0%{transform:translateY(0)}100%{transform:translateY(-300px)}}/*!* Bootstrap v5.0.2 (https://getbootstrap.com/)
|
||
* Copyright 2011-2021 The Bootstrap Authors
|
||
* Copyright 2011-2021 Twitter, Inc.
|
||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)*/:root{--bs-blue:#2ba283;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#FFF;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#2ba283;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f2f2f2;--bs-dark:#212529;--bs-font-sans-serif:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,*::before,*::after{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#fff;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media(min-width:1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media(min-width:1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media(min-width:1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media(min-width:1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-bs-original-title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#2ba283;text-decoration:underline}a:hover{color:#228269}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#000;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media(min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media(min-width:576px){.container-sm,.container{max-width:540px}}@media(min-width:768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width:992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width:1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media(min-width:1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.33333333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.66666667%}@media(min-width:576px){.col-sm{flex:1 0}.row-cols-sm-auto>*{flex:none;width:auto}.row-cols-sm-1>*{flex:none;width:100%}.row-cols-sm-2>*{flex:none;width:50%}.row-cols-sm-3>*{flex:none;width:33.33333333%}.row-cols-sm-4>*{flex:none;width:25%}.row-cols-sm-5>*{flex:none;width:20%}.row-cols-sm-6>*{flex:none;width:16.66666667%}}@media(min-width:768px){.col-md{flex:1 0}.row-cols-md-auto>*{flex:none;width:auto}.row-cols-md-1>*{flex:none;width:100%}.row-cols-md-2>*{flex:none;width:50%}.row-cols-md-3>*{flex:none;width:33.33333333%}.row-cols-md-4>*{flex:none;width:25%}.row-cols-md-5>*{flex:none;width:20%}.row-cols-md-6>*{flex:none;width:16.66666667%}}@media(min-width:992px){.col-lg{flex:1 0}.row-cols-lg-auto>*{flex:none;width:auto}.row-cols-lg-1>*{flex:none;width:100%}.row-cols-lg-2>*{flex:none;width:50%}.row-cols-lg-3>*{flex:none;width:33.33333333%}.row-cols-lg-4>*{flex:none;width:25%}.row-cols-lg-5>*{flex:none;width:20%}.row-cols-lg-6>*{flex:none;width:16.66666667%}}@media(min-width:1200px){.col-xl{flex:1 0}.row-cols-xl-auto>*{flex:none;width:auto}.row-cols-xl-1>*{flex:none;width:100%}.row-cols-xl-2>*{flex:none;width:50%}.row-cols-xl-3>*{flex:none;width:33.33333333%}.row-cols-xl-4>*{flex:none;width:25%}.row-cols-xl-5>*{flex:none;width:20%}.row-cols-xl-6>*{flex:none;width:16.66666667%}}@media(min-width:1400px){.col-xxl{flex:1 0}.row-cols-xxl-auto>*{flex:none;width:auto}.row-cols-xxl-1>*{flex:none;width:100%}.row-cols-xxl-2>*{flex:none;width:50%}.row-cols-xxl-3>*{flex:none;width:33.33333333%}.row-cols-xxl-4>*{flex:none;width:25%}.row-cols-xxl-5>*{flex:none;width:20%}.row-cols-xxl-6>*{flex:none;width:16.66666667%}}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333333%}.col-2{flex:none;width:16.66666667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.33333333%}.col-5{flex:none;width:41.66666667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.33333333%}.col-8{flex:none;width:66.66666667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.33333333%}.col-11{flex:none;width:91.66666667%}.col-12{flex:none;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media(min-width:576px){.col-sm-auto{flex:none;width:auto}.col-sm-1{flex:none;width:8.33333333%}.col-sm-2{flex:none;width:16.66666667%}.col-sm-3{flex:none;width:25%}.col-sm-4{flex:none;width:33.33333333%}.col-sm-5{flex:none;width:41.66666667%}.col-sm-6{flex:none;width:50%}.col-sm-7{flex:none;width:58.33333333%}.col-sm-8{flex:none;width:66.66666667%}.col-sm-9{flex:none;width:75%}.col-sm-10{flex:none;width:83.33333333%}.col-sm-11{flex:none;width:91.66666667%}.col-sm-12{flex:none;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media(min-width:768px){.col-md-auto{flex:none;width:auto}.col-md-1{flex:none;width:8.33333333%}.col-md-2{flex:none;width:16.66666667%}.col-md-3{flex:none;width:25%}.col-md-4{flex:none;width:33.33333333%}.col-md-5{flex:none;width:41.66666667%}.col-md-6{flex:none;width:50%}.col-md-7{flex:none;width:58.33333333%}.col-md-8{flex:none;width:66.66666667%}.col-md-9{flex:none;width:75%}.col-md-10{flex:none;width:83.33333333%}.col-md-11{flex:none;width:91.66666667%}.col-md-12{flex:none;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media(min-width:992px){.col-lg-auto{flex:none;width:auto}.col-lg-1{flex:none;width:8.33333333%}.col-lg-2{flex:none;width:16.66666667%}.col-lg-3{flex:none;width:25%}.col-lg-4{flex:none;width:33.33333333%}.col-lg-5{flex:none;width:41.66666667%}.col-lg-6{flex:none;width:50%}.col-lg-7{flex:none;width:58.33333333%}.col-lg-8{flex:none;width:66.66666667%}.col-lg-9{flex:none;width:75%}.col-lg-10{flex:none;width:83.33333333%}.col-lg-11{flex:none;width:91.66666667%}.col-lg-12{flex:none;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media(min-width:1200px){.col-xl-auto{flex:none;width:auto}.col-xl-1{flex:none;width:8.33333333%}.col-xl-2{flex:none;width:16.66666667%}.col-xl-3{flex:none;width:25%}.col-xl-4{flex:none;width:33.33333333%}.col-xl-5{flex:none;width:41.66666667%}.col-xl-6{flex:none;width:50%}.col-xl-7{flex:none;width:58.33333333%}.col-xl-8{flex:none;width:66.66666667%}.col-xl-9{flex:none;width:75%}.col-xl-10{flex:none;width:83.33333333%}.col-xl-11{flex:none;width:91.66666667%}.col-xl-12{flex:none;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media(min-width:1400px){.col-xxl-auto{flex:none;width:auto}.col-xxl-1{flex:none;width:8.33333333%}.col-xxl-2{flex:none;width:16.66666667%}.col-xxl-3{flex:none;width:25%}.col-xxl-4{flex:none;width:33.33333333%}.col-xxl-5{flex:none;width:41.66666667%}.col-xxl-6{flex:none;width:50%}.col-xxl-7{flex:none;width:58.33333333%}.col-xxl-8{flex:none;width:66.66666667%}.col-xxl-9{flex:none;width:75%}.col-xxl-10{flex:none;width:83.33333333%}.col-xxl-11{flex:none;width:91.66666667%}.col-xxl-12{flex:none;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#FFF;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#FFF;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#FFF;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#fff;vertical-align:top;border-color:#e1e1e1}.table>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:initial}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#d5ece6;--bs-table-striped-bg:#cae0db;--bs-table-striped-color:#000;--bs-table-active-bg:#c0d4cf;--bs-table-active-color:#000;--bs-table-hover-bg:#c5dad5;--bs-table-hover-color:#000;color:#000;border-color:#c0d4cf}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f2f2f2;--bs-table-striped-bg:#e6e6e6;--bs-table-striped-color:#000;--bs-table-active-bg:#dadada;--bs-table-active-color:#000;--bs-table-hover-bg:#e0e0e0;--bs-table-hover-color:#000;color:#000;border-color:#dadada}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#FFF;--bs-table-active-bg:#373b3e;--bs-table-active-color:#FFF;--bs-table-hover-bg:#323539;--bs-table-hover-color:#FFF;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#fff;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#fff;background-color:#fff;border-color:#95d1c1;outline:0;box-shadow:0 0 0 .25rem rgba(43,162,131,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#fff;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#fff;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#fff;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + (.75rem + 2px))}textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#fff;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#95d1c1;outline:0;box-shadow:0 0 0 .25rem rgba(43,162,131,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:50%;background-size:contain;border:1px solid rgba(0,0,0,.25);appearance:none;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#95d1c1;outline:0;box-shadow:0 0 0 .25rem rgba(43,162,131,.25)}.form-check-input:checked{background-color:#2ba283;border-color:#2ba283}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23FFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-4 -4 8 8%22%3E%3Ccircle r=%222%22 fill=%22%23fff%22/%3E%3C/svg%3E")}.form-check-input[type=checkbox]:indeterminate{background-color:#2ba283;border-color:#2ba283;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23FFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-4 -4 8 8%22%3E%3Ccircle r=%223%22 fill=%22rgba(0, 0, 0, 0.25)%22/%3E%3C/svg%3E");background-position:0;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-4 -4 8 8%22%3E%3Ccircle r=%223%22 fill=%22%2395d1c1%22/%3E%3C/svg%3E")}.form-switch .form-check-input:checked{background-position:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-4 -4 8 8%22%3E%3Ccircle r=%223%22 fill=%22%23fff%22/%3E%3C/svg%3E")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #FFF,0 0 0 .25rem rgba(43,162,131,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #FFF,0 0 0 .25rem rgba(43,162,131,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2ba283;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#bfe3da}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#2ba283;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#bfe3da}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#fff;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 8 8%22%3E%3Cpath fill=%22%23198754%22 d=%22M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%22/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#198754}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 8 8%22%3E%3Cpath fill=%22%23198754%22 d=%22M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%22/%3E%3C/svg%3E");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#198754}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#198754}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group .form-control:valid,.input-group .form-control.is-valid,.was-validated .input-group .form-select:valid,.input-group .form-select.is-valid{z-index:1}.was-validated .input-group .form-control:valid:focus,.input-group .form-control.is-valid:focus,.was-validated .input-group .form-select:valid:focus,.input-group .form-select.is-valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#dc3545}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#dc3545}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group .form-control:invalid,.input-group .form-control.is-invalid,.was-validated .input-group .form-select:invalid,.input-group .form-select.is-invalid{z-index:2}.was-validated .input-group .form-control:invalid:focus,.input-group .form-control.is-invalid:focus,.was-validated .input-group .form-select:invalid:focus,.input-group .form-select.is-invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#fff;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#fff}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(43,162,131,.25)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#000;background-color:#2ba283;border-color:#2ba283}.btn-primary:hover{color:#000;background-color:#4bb096;border-color:#40ab8f}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#000;background-color:#4bb096;border-color:#40ab8f;box-shadow:0 0 0 .25rem rgba(37,138,111,.5)}.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#000;background-color:#55b59c;border-color:#40ab8f}.btn-check:checked+.btn-primary:focus,.btn-check:active+.btn-primary:focus,.btn-primary:active:focus,.btn-primary.active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(37,138,111,.5)}.btn-primary:disabled,.btn-primary.disabled{color:#000;background-color:#2ba283;border-color:#2ba283}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:checked+.btn-secondary,.btn-check:active+.btn-secondary,.btn-secondary:active,.btn-secondary.active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:checked+.btn-secondary:focus,.btn-check:active+.btn-secondary:focus,.btn-secondary:active:focus,.btn-secondary.active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary:disabled,.btn-secondary.disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+.btn-success:focus,.btn-check:active+.btn-success:focus,.btn-success:active:focus,.btn-success.active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success:disabled,.btn-success.disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:checked+.btn-info:focus,.btn-check:active+.btn-info:focus,.btn-info:active:focus,.btn-info.active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info:disabled,.btn-info.disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+.btn-warning:focus,.btn-check:active+.btn-warning:focus,.btn-warning:active:focus,.btn-warning.active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning:disabled,.btn-warning.disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+.btn-danger:focus,.btn-check:active+.btn-danger:focus,.btn-danger:active:focus,.btn-danger.active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger:disabled,.btn-danger.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f2f2f2;border-color:#f2f2f2}.btn-light:hover{color:#000;background-color:#f4f4f4;border-color:#f3f3f3}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f4f4f4;border-color:#f3f3f3;box-shadow:0 0 0 .25rem rgba(206,206,206,.5)}.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f5f5f5;border-color:#f3f3f3}.btn-check:checked+.btn-light:focus,.btn-check:active+.btn-light:focus,.btn-light:active:focus,.btn-light.active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(206,206,206,.5)}.btn-light:disabled,.btn-light.disabled{color:#000;background-color:#f2f2f2;border-color:#f2f2f2}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:checked+.btn-dark,.btn-check:active+.btn-dark,.btn-dark:active,.btn-dark.active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:checked+.btn-dark:focus,.btn-check:active+.btn-dark:focus,.btn-dark:active:focus,.btn-dark.active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#2ba283;border-color:#2ba283}.btn-outline-primary:hover{color:#000;background-color:#2ba283;border-color:#2ba283}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(43,162,131,.5)}.btn-check:checked+.btn-outline-primary,.btn-check:active+.btn-outline-primary,.btn-outline-primary:active,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show{color:#000;background-color:#2ba283;border-color:#2ba283}.btn-check:checked+.btn-outline-primary:focus,.btn-check:active+.btn-outline-primary:focus,.btn-outline-primary:active:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(43,162,131,.5)}.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#2ba283;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:checked+.btn-outline-secondary,.btn-check:active+.btn-outline-secondary,.btn-outline-secondary:active,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:checked+.btn-outline-secondary:focus,.btn-check:active+.btn-outline-secondary:focus,.btn-outline-secondary:active:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:checked+.btn-outline-success,.btn-check:active+.btn-outline-success,.btn-outline-success:active,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+.btn-outline-success:focus,.btn-check:active+.btn-outline-success:focus,.btn-outline-success:active:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success:disabled,.btn-outline-success.disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:checked+.btn-outline-info,.btn-check:active+.btn-outline-info,.btn-outline-info:active,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:checked+.btn-outline-info:focus,.btn-check:active+.btn-outline-info:focus,.btn-outline-info:active:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info:disabled,.btn-outline-info.disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:checked+.btn-outline-warning,.btn-check:active+.btn-outline-warning,.btn-outline-warning:active,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+.btn-outline-warning:focus,.btn-check:active+.btn-outline-warning:focus,.btn-outline-warning:active:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:checked+.btn-outline-danger,.btn-check:active+.btn-outline-danger,.btn-outline-danger:active,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+.btn-outline-danger:focus,.btn-check:active+.btn-outline-danger:focus,.btn-outline-danger:active:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f2f2f2;border-color:#f2f2f2}.btn-outline-light:hover{color:#000;background-color:#f2f2f2;border-color:#f2f2f2}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(242,242,242,.5)}.btn-check:checked+.btn-outline-light,.btn-check:active+.btn-outline-light,.btn-outline-light:active,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show{color:#000;background-color:#f2f2f2;border-color:#f2f2f2}.btn-check:checked+.btn-outline-light:focus,.btn-check:active+.btn-outline-light:focus,.btn-outline-light:active:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(242,242,242,.5)}.btn-outline-light:disabled,.btn-outline-light.disabled{color:#f2f2f2;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:checked+.btn-outline-dark,.btn-check:active+.btn-outline-dark,.btn-outline-dark:active,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show{color:#fff;background-color:#212529;border-color:#212529}.btn-check:checked+.btn-outline-dark:focus,.btn-check:active+.btn-outline-dark:focus,.btn-outline-dark:active:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#2ba283;text-decoration:underline}.btn-link:hover{color:#228269}.btn-link:disabled,.btn-link.disabled{color:#6c757d}.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropup,.dropend,.dropdown,.dropstart{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#fff;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#2ba283}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#2ba283}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#2ba283;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:#228269}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#2ba283}.nav-fill>.nav-link,.nav-fill .nav-item{flex:auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:50%;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media(min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media(min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media(min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media(min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media(min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:auto;padding:1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,3%);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px)calc(.25rem - 1px)0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,3%);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px)calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media(min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#fff;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media(prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#279276;background-color:#eaf6f3;box-shadow:inset 0 -1px rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22%23279276%22%3E%3Cpath fill-rule=%22evenodd%22 d=%22M1.646 4.646a.5.5.0 01.708.0L8 10.293l5.646-5.647a.5.5.0 01.708.708l-6 6a.5.5.0 01-.708.0l-6-6a.5.5.0 010-.708z%22/%3E%3C/svg%3E");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22%23fff%22%3E%3Cpath fill-rule=%22evenodd%22 d=%22M1.646 4.646a.5.5.0 01.708.0L8 10.293l5.646-5.647a.5.5.0 01.708.708l-6 6a.5.5.0 01-.708.0l-6-6a.5.5.0 010-.708z%22/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media(prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#95d1c1;outline:0;box-shadow:0 0 0 .25rem rgba(43,162,131,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider,"/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#2ba283;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#228269;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#228269;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(43,162,131,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#2ba283;border-color:#2ba283}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media(prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #e1e1e1;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #e1e1e1;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media(min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media(min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media(max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media(max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media(max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media(max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media(max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.offcanvas{position:fixed;bottom:0;z-index:1050;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out;height:100vh;overflow:auto}@media(prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem}.offcanvas-header .btn-close{padding:.5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:300px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:300px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#2ba283}.link-primary:hover,.link-primary:focus{color:#55b59c}.link-secondary{color:#6c757d}.link-secondary:hover,.link-secondary:focus{color:#565e64}.link-success{color:#198754}.link-success:hover,.link-success:focus{color:#146c43}.link-info{color:#0dcaf0}.link-info:hover,.link-info:focus{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:hover,.link-warning:focus{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:hover,.link-danger:focus{color:#b02a37}.link-light{color:#f2f2f2}.link-light:hover,.link-light:focus{color:#f5f5f5}.link-dark{color:#212529}.link-dark:hover,.link-dark:focus{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}@media(min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media(min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media(min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media(min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media(min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #e1e1e1!important}.border-0{border:0!important}.border-top{border-top:1px solid #e1e1e1!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #e1e1e1!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #e1e1e1!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #e1e1e1!important}.border-start-0{border-left:0!important}.border-primary{border-color:#2ba283!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f2f2f2!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{color:#2ba283!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#0dcaf0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f2f2f2!important}.text-dark{color:#212529!important}.text-white{color:#fff!important}.text-body{color:#fff!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.bg-primary{background-color:#2ba283!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#0dcaf0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f2f2f2!important}.bg-dark{background-color:#212529!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{user-select:all!important}.user-select-auto{user-select:auto!important}.user-select-none{user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media(min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media(min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media(min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media(min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media(min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media(min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}html{font-size:20px}body{font-family:roboto slab,serif;font-weight:400;line-height:1.75;color:#222}p{margin-bottom:1rem}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:oswald,sans-serif;font-weight:700;color:#222}small,.small{font-size:.8rem}h6,.h6{font-size:24px;line-height:calc(2px + 2ex + 2px);margin-bottom:.65em}@media(max-width:767px){h6,.h6{font-size:calc( 24px * .85)}}@media(max-width:575px){h6,.h6{font-size:calc( 24px * .65)}}h5,.h5{font-size:28.8px;line-height:calc(2px + 2ex + 2px);margin-bottom:.65em}@media(max-width:767px){h5,.h5{font-size:calc( 28.8px * .85)}}@media(max-width:575px){h5,.h5{font-size:calc( 28.8px * .65)}}h4,.h4{font-size:34.56px;line-height:calc(2px + 2ex + 2px);margin-bottom:.65em}@media(max-width:767px){h4,.h4{font-size:calc( 34.56px * .85)}}@media(max-width:575px){h4,.h4{font-size:calc( 34.56px * .65)}}h3,.h3{font-size:41.472px;line-height:calc(2px + 2ex + 2px);margin-bottom:.65em}@media(max-width:767px){h3,.h3{font-size:calc( 41.472px * .85)}}@media(max-width:575px){h3,.h3{font-size:calc( 41.472px * .65)}}h2,.h2{font-size:49.7664px;line-height:calc(2px + 2ex + 2px);margin-bottom:.65em}@media(max-width:767px){h2,.h2{font-size:calc( 49.7664px * .85)}}@media(max-width:575px){h2,.h2{font-size:calc( 49.7664px * .65)}}h1,.h1{font-size:59.71968px;line-height:calc(2px + 2ex + 2px);margin-bottom:.65em}@media(max-width:767px){h1,.h1{font-size:calc( 59.71968px * .85)}}@media(max-width:575px){h1,.h1{font-size:calc( 59.71968px * .65)}}.btn{font-size:1rem;font-family:oswald,sans-serif;text-transform:capitalize;padding:.5em 2em;border-radius:0;border:1px solid;position:relative;font-weight:700;text-align:center;z-index:1;transition:.2s ease;border-radius:50px;overflow:hidden}.btn:hover{color:#fff}.btn:hover,.btn:active,.btn.active,.btn:focus,.btn.focus{outline:0;box-shadow:none!important}.btn-sm{padding:.3em 1.5em;font-size:.9rem}.btn-primary{background:#2ba283;color:#fff;border-color:#2ba283}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary:focus,.btn-primary.focus{background:#2ba283!important;border-color:#2ba283!important}.btn-outline-primary{background:0 0;color:#2ba283;border-color:#2ba283}.btn-outline-primary:hover,.btn-outline-primary:active,.btn-outline-primary.active,.btn-outline-primary:focus,.btn-outline-primary.focus{background:#2ba283!important;border-color:#2ba283!important}.btn:after,.btn:before{content:"";display:block;position:absolute;top:0;right:0;height:100%;width:0;z-index:-1;border-radius:50px;content:"";background:rgba(0,0,0,5%);transition:all .4s cubic-bezier(.42,0,.58,1)}.btn:hover:before,.btn:hover:after{left:0%;right:auto;width:100%}body{background-color:#fff;overflow-x:hidden}::selection{background:#36caa3;color:#fff}ul,ol{margin:0;padding:0}img{vertical-align:middle;border:0;max-width:100%;height:auto}a,a:hover,a:focus{text-decoration:none}a:hover{color:#2ba283}a.text-default:hover{color:#2ba283!important}a,button,select{cursor:pointer;transition:.2s ease}a:focus,button:focus,select:focus{outline:0}.section{padding-top:120px;padding-bottom:120px}@media(max-width:767px){.section{padding-top:80px;padding-bottom:80px}}.section-sm{padding-top:80px;padding-bottom:80px}.section-title{margin-bottom:45px;position:relative;z-index:1}.preloader{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#fff;z-index:9999;display:flex;align-items:center;justify-content:center}.title-border{text-decoration-line:underline;text-decoration-color:#2ba283;text-decoration-thickness:2px;text-underline-offset:10px}.social-icons li{position:relative;z-index:1}.social-icons li:not(:last-child){margin-right:15px}.social-icons li:first-child::before,.social-icons li:last-child::before{position:absolute;content:"";width:100%;height:100%;z-index:-1}.social-icons li:first-child::before{border-left:1px solid #2ba283;right:30px}.social-icons li:last-child::before{border-right:1px solid #2ba283;left:30px}.social-icons li a{color:#000;font-size:15px;padding:4px 8px}.social-icons li a:hover{color:#2ba283}.social-icons-big li{position:relative;z-index:1}.social-icons-big li:not(:last-child){margin-right:15px}.social-icons-big li:first-child::before,.social-icons-big li:last-child::before{position:absolute;content:"";width:100%;height:100%;z-index:-1}.social-icons-big li a{color:#000;font-size:30px;padding:4px 8px}.social-icons-big li a:hover{color:#2ba283}.pagination .prev a,.pagination .next a{padding:12px 10px}.pagination .prev a:hover,.pagination .next a:hover{background-color:#f4f4f4;color:#222}.pagination .page-item:not(:last-child){margin-right:12px}.pagination .page-item:first-child .page-link,.pagination .page-item:last-child .page-link{border-radius:5px;box-shadow:none}.pagination .page-link{font-size:18px;font-weight:700;line-height:18px;color:#222;border:0;border-radius:50%;background:0 0;padding:10px 15px}.pagination .page-link.active,.pagination .page-link:hover{background-color:#2ba283;color:#fff}.widget{text-align:center;border:1px solid #e1e1e1;border-radius:6px;padding:15px}@media(min-width:1400px){.widget{padding:30px 35px}}.widget .title-border::before{left:10px}.widget:not(:last-child){margin-bottom:30px}.widget-title{margin-bottom:45px}.card{padding:0;border:0}.card-body{padding:0}.form-group{margin-bottom:25px}.form-group label{line-height:1;padding:0;color:#222;font-family:oswald,sans-serif}.form-group label small,.form-group label .small{margin-left:.2em;color:#2ba283}.form-group .form-control{border:0;border-radius:0;background-color:transparent;font-family:roboto slab,serif;font-weight:400;border-bottom:1px solid #e1e1e1;color:#222;padding:0;height:3em}.form-group .form-control::placeholder{color:#999!important;font-size:.8rem}.form-group .form-control:focus{box-shadow:none;border-color:#2ba283}.form-group textarea{height:150px!important}.bg-center{background-position:50%;background-repeat:no-repeat}.border-default,.border{border-color:#e1e1e1!important}.outline-0{outline:0!important}.text-primary{color:#2ba283!important}.text-secondary{color:#2ba283!important}.text-black{color:#000!important}.text-light{color:#999!important}.text-dark{color:#222!important}.text-default{color:#222!important}.bg-primary{background:#2ba283!important}.bg-light{background:#f2f2f2!important}.badge{padding:.1em .9em;border-radius:35px}.badge-primary{background-color:#2ba283!important;color:#fff!important}.font-primary{font-family:roboto slab,serif!important}.zindex-1{z-index:1}.rounded{border-radius:6px!important}.rounded-4{border-radius:10px!important}@media(min-width:1400px){.left-xxl-80{left:80px!important}}.title-linked{color:#222}.content{margin-bottom:3em}.content h1,.content .h1,.content h2,.content .h2,.content h3,.content .h3,.content h4,.content .h4,.content h5,.content .h5,.content h6,.content .h6{margin-top:3rem}.content a{color:#2ba283;text-decoration:underline}.content ol,.content ul{padding-left:1.5rem}.content ol li,.content ul li{margin-bottom:.7rem}.content ul{padding-left:0;margin-bottom:1.5rem;list-style-type:none}.content ul li{padding-left:1.5rem;position:relative}.content ul li::before{position:absolute;content:"";height:.5rem;width:.5rem;background:#2ba283;left:3px;top:.5rem}.content img{margin-bottom:1.5em}.content p{font-weight:300}.content blockquote{background-color:#f2f2f2;border-radius:5px;padding:30px 105px;margin:3em 0}@media(max-width:767px){.content blockquote{padding:30px 50px}}.content blockquote p{font-family:roboto slab,serif;font-size:24px;color:#222;line-height:32px;margin-bottom:15px;position:relative}.content blockquote p::before,.content blockquote p::after{font-family:"font awesome 5 free";font-weight:900;border:0;position:absolute;font-size:35px;color:#2ba283}.content blockquote p::before{content:"\f10d";top:0;left:-70px}.content blockquote p::after{content:"\f10e";bottom:0;right:-35px}@media(max-width:767px){.content blockquote p{font-size:22px}.content blockquote p::before,.content blockquote p::after{font-size:25px}.content blockquote p::before{left:-3em}}.content blockquote h6,.content blockquote .h6{font-size:20px;color:#222;font-weight:400}.header{}.header .social-icons{margin:0 60px 0 25px}@media(max-width:1399px){.header .social-icons{margin:0 35px 0 15px;display:none}}@media(max-width:991px){.header .social-icons{text-align:center;margin-left:30px}}@media(max-width:1199px){.header .social-icons li{margin-right:12px}}.header .social-icons li:first-child::before{border-left:1px solid #e1e1e1}.header .social-icons li:last-child::before{border-right:1px solid #e1e1e1}.header .social-icons li a{font-size:1rem}.header .navbar-nav .nav-item{margin:0}@media(max-width:991px){.header .navbar-nav .nav-item{margin:6px 0}}.header .navbar-nav .nav-item.active{margin-right:20px!important;margin-left:20px!important}@media(max-width:991px){.header .navbar-nav .nav-item.active{margin-right:0!important;margin-left:0!important}}.header .navbar-nav .nav-item.active .nav-link{background:#2ba283;border-radius:50px;color:#fff}.header .navbar-nav .nav-link{color:#222;text-transform:capitalize;font-family:oswald,sans-serif;font-size:.9rem;font-weight:400;color:#000;padding:.4em 1em;border-radius:50px;transition:.2s ease}@media(max-width:1199px){.header .navbar-nav .nav-link{padding:.6em 1em}}.header .navbar-nav .nav-link:hover{background:#2ba283;border-radius:50px;color:#fff}.header .navbar-toggler:focus{box-shadow:none}.header .dropdown-toggle::after{font-family:"font awesome 5 free";font-weight:900;content:"\f078";border:0;position:relative;transform:translate(-1px,3px);font-size:.8rem}@media(max-width:991px){.header .dropdown-toggle::after{position:absolute;right:1rem}}@media(min-width:992px){.header .dropdown:hover ul.dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.header .dropdown-menu{display:block;opacity:0;visibility:hidden;transform:translateY(20px)}}.header .dropdown-menu{border:0;background:#fff;box-shadow:0 1.5rem 4rem rgba(63,63,65,.15);padding:13px 15px;transition:.3s;min-width:11rem}.header .dropdown-menu .dropdown-item{padding:.2em 1em;border-radius:5px;text-transform:capitalize;transition:.3s;font-family:oswald,sans-serif}@media(max-width:991px){.header .dropdown-menu .dropdown-item{white-space:normal;margin-bottom:.3rem}}.header .dropdown-menu .dropdown-item.active,.header .dropdown-menu .dropdown-item:active,.header .dropdown-menu .dropdown-item:hover{color:#2ba283;background-color:rgba(43,162,131,.15)}.search li a{background:#2ba283;border-radius:50%;color:#fff;font-size:14px;height:40px;width:40px;line-height:40px;text-align:center;display:block}.search .list-inline-item:not(:last-child){margin-right:15px}.search-wrap{position:absolute;width:100%;background:#fff;left:0;top:0;height:100%;z-index:999;opacity:0;visibility:hidden;transition:.5s;transform:translateY(-20px)}.search-wrap.open{visibility:visible;opacity:1;transform:translateY(0)}.search-wrap .search-bar{width:100%;margin:0 auto;height:100%}.search-wrap .close-search{border:0;background-color:transparent;cursor:pointer;font-size:20px;color:#000}.search-wrap input{font-size:30px;color:#000}.search-wrap input::placeholder{color:#000}.search-wrap input:focus{outline:0}.offcanvas .offcanvas-menu{padding-top:20px}.offcanvas .offcanvas-menu li{margin-bottom:15px}.offcanvas .offcanvas-menu li a{text-transform:capitalize;color:#000;font-size:26px;padding:20px}.offcanvas .offcanvas-menu li a:hover{color:#2ba283}.offcanvas .btn-close{border:0;background:0 0;right:0;font-size:1.8rem;width:1.9em;height:1.9em;position:absolute;top:11px;right:24px}.toggle-search{background-color:#2ba283;color:#fff;border:0;border-radius:50%;height:38px;width:38px}.banner{background-repeat:no-repeat;background-position:0 100%;background-size:contain;padding-top:40px}.banner h1 strong,.banner .h1 strong{color:#2ba283}.list-styled li{list-style-type:none;font-size:18px;color:#222;font-weight:700;position:relative;padding-left:20px}.list-styled li:not(:last-child){margin-bottom:20px}.list-styled li::before{position:absolute;content:"";left:0;top:11px;background:#2ba283;width:9px;height:9px;left:3px;border:2px solid #fff;box-shadow:0 0 0 2px #2ba283}.drop-cap>p:first-child:first-letter{font-size:3rem;font-weight:700;font-family:oswald,sans-serif;float:left;padding-right:15px;line-height:1.1}.blog-card-title a{display:block}.card-meta li{font-size:.8rem;font-weight:400;font-family:oswald,sans-serif;color:#222;position:relative}.card-meta li:not(:last-child){margin-right:30px}.card-meta li:not(:last-child):before{position:absolute;content:"";right:-15px;border-right:1px solid #e1e1e1;width:1px;height:12px}.card-meta li a{color:#222}.card-meta li a:hover{color:#2ba283}.card-meta li span{padding-left:2px;display:block}.card-avatar{object-fit:cover;height:20px;width:20px;border-radius:50%;margin-right:8px}.card-badge{top:5px;left:10px;position:absolute}.card-badge .badge{font-size:.7rem;display:block;padding:.1rem .7rem}.nav-pills .btn.active{background-color:#2ba283;color:#fff}.scroll-list{overflow:auto;max-height:480px}@media(max-width:991px){.scroll-list{max-height:100%}}.scroll-list::-webkit-scrollbar{width:5px}.scroll-list::-webkit-scrollbar-track{background:#f2f2f2}.scroll-list::-webkit-scrollbar-thumb{background:#bfbfbf}.blog-card-list .card{border:0}.blog-card-list .card:not(:last-child){border-bottom:1px solid #e1e1e1;margin-bottom:25px;padding-bottom:25px}.category-widget ul li{position:relative;font-size:16px;font-weight:700}.category-widget ul li:before{font-family:"font awesome 5 free";font-weight:900;content:"\f054";border:0;left:0;position:absolute;color:#2ba283}.category-widget ul li:not(:last-child){border-bottom:1px solid #e1e1e1;padding-bottom:12px;margin-bottom:12px}.category-widget ul li a{color:#222;margin-left:18px}.category-widget ul li a:hover{color:#2ba283}.category-widget ul li a small,.category-widget ul li a .small{color:#999}.featured-widget-img{width:75px;height:75px}.newsletter-widget .smallprint{font-size:12px;color:#999;margin-top:8px}.newsletter-widget .form-control{border:0;background-color:#f2f2f2;border-radius:50px;font-size:12px;font-weight:300;color:#222;padding:15px 20px}.newsletter-widget .form-control::placeholder{color:#222}.newsletter-widget .form-control:focus{background-color:#f2f2f2;border:0}.newsletter-widget .input-group{position:relative}.newsletter-widget .input-group input{border-top-right-radius:50px!important;border-bottom-right-radius:50px!important}.newsletter-widget .input-group i{position:absolute;right:0;z-index:4;border:0;background:0 0;top:15px;right:15px}.contact h2,.contact .h2{font-size:64px}@media(max-width:991px){.contact h2,.contact .h2{font-size:50px}}@media(max-width:767px){.contact h2,.contact .h2{font-size:30px}}@media(min-width:1200px){.contact h2,.contact .h2{padding-right:140px}}.contact .form-card{padding:55px 20px}.contact .card li,.contact .card a{color:#222;font-size:18px;font-weight:700;word-break:break-all;border:1px solid #e1e1e1;width:100%;min-height:100px;padding:10px;display:flex;align-items:center;justify-content:center;border-radius:6px}.contact .card li i,.contact .card a i{margin-right:15px}.footer{padding:70px 0 30px;background-position:0 0;background-size:cover;background-repeat:no-repeat}.footer .footer-menu li:not(:last-child){margin-right:40px}@media(max-width:767px){.footer .footer-menu li{margin-bottom:10px}.footer .footer-menu li:not(:last-child){margin-right:20px}}.footer .footer-menu li a{text-transform:capitalize;color:#222;font-size:15px;font-weight:700;padding:5px}.footer .footer-menu li a:hover{color:#2ba283}.footer .social-icons{margin-bottom:55px}.footer .copyright a{color:#2ba283}@media(max-width:575px){.post-author{height:150px;width:150px;object-fit:cover;margin-bottom:20px}}.table-of-content{margin:1rem 0 1.5rem}.table-of-content summary{border-radius:5px;font-size:18px;color:#fff;background-color:#555;padding:5px 20px;margin-bottom:0!important}.table-of-content ul{margin-left:10px}.table-of-content ul li{list-style-type:none}.table-of-content ul li::before{display:none}.table-of-content #TableOfContents{padding:10px;border-radius:5px;background-color:#f7f7f7}.table-of-content #TableOfContents li,.table-of-content #TableOfContents a{color:#333!important}.table-of-content #TableOfContents a{text-decoration:none}.table-of-content #TableOfContents a:hover{text-decoration:underline}.content .table-of-content ul li,.content .table-of-content ol li{margin-bottom:6px!important}.dark #TableOfContents{background-color:#333}.dark #TableOfContents li,.dark #TableOfContents a{color:#fff!important}pre{padding:10px}p code{background-color:#eee}h3 .highlight,.h3 .highlight{color:#2ba283}.sticky{position:sticky;position:-webkit-sticky;top:20px}.sticky-container{position:relative}.content .btn-primary{color:#fff;text-decoration:none}.content blockquote{display:inline-block;width:100%}.pull-right{float:right}.pull-left{float:left}.widget strong{font-weight:700}.content strong{font-weight:700}.footer-widget{text-align:left}.footer-widget ul.footer-links{list-style-type:none}.footer-widget ul.footer-links li{margin-bottom:10px}.notice{clear:both;padding:20px}.notice h4,.notice .h4{margin-top:0}.success{background-color:rgba(43,162,131,.2)}.danger{background-color:rgba(255,0,0,.2)}.warning{background-color:rgba(255,220,0,.2)}.content table{margin-bottom:1rem}.content table th{background-color:#2ba283;color:#fff;font-family:oswald}.content table td{background-color:#f2f2f2}.content table th,.content table td{padding-left:20px;padding-right:20px;padding-top:10px;padding-bottom:10px;border:5px solid #fff}.toc{float:right;max-width:400px;text-align:left;margin-left:10px}@media(max-width:1199px){.toc{width:100%;margin-left:0;padding-left:40px}}.toc h2,.toc .h2{font-size:22px}.toc ul{font-size:14px;list-style-type:none}.toc ul li{padding-top:5px;padding-bottom:5px}.toc ul ul{margin-left:20px}.toc ul ul li{padding-top:5px;padding-bottom:5px}.toc ul ul ul{margin-left:20px}.toc ul ul ul li{padding-top:5px;padding-bottom:5px}.dropdown-item:hover,.dropdown-item:focus{color:#fff!important;background-color:#2ba283!important;text-decoration:none!important}.dropdown-item.active,.dropdown-item:active{color:#fff!important;background-color:#2ba283!important;text-decoration:none!important}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6,.btn,.navbar{letter-spacing:1px}header{padding-bottom:10px!important}header .logo{width:100px;height:100px}img.author{border-radius:50px}.supported-by{font-size:10px;vertical-align:text-bottom;padding-top:10px}#feedletter-wol *,#feedletter-wol *:before,#feedletter-wol *:after{box-sizing:inherit}#feedletter-wol{box-sizing:border-box;width:95%;margin:1.5em auto}#feedletter-wol .wol{width:100%;margin:1.5em 0;padding:0;-moz-column-gap:1.5em;-webkit-column-gap:1.5em;column-gap:1.5em;column-count:1}#feedletter-wol .wol .item{background-color:#fff;text-align:left;border-radius:6px;color:#4a4a4a;display:inline-block;border:1px solid #e1e1e1;padding:1.25rem;margin:0 0 1em;font-size:1.25rem;width:100%}@media screen and (min-width:600px){#feedletter-wol .wol{column-count:2}}@media screen and (min-width:780px){#feedletter-wol .wol{column-count:3}}.ml-form-embedSubmitLoad{display:inline-block;width:20px;height:20px}.g-recaptcha{transform:scale(1);-webkit-transform:scale(1);transform-origin:0 0;-webkit-transform-origin:0 0}.ml-form-embedSubmitLoad:after{content:" ";display:block;width:11px;height:11px;margin:1px;border-radius:50%;border:4px solid #fff;border-color:#fff #fff #fff transparent;animation:ml-form-embedSubmitLoad 1.2s linear infinite}@keyframes ml-form-embedSubmitLoad{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.ml-error input,.ml-error select,.ml-error textarea{border-color:red!important}.ml-error .custom-checkbox-radio-list{border:1px solid red!important;border-radius:4px;padding:10px}.ml-error .label-description,.ml-error .label-description p,.ml-error .label-description p a,.ml-error label:first-child{color:red!important}#mlb2-3734881.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow.ml-error .label-description p,#mlb2-3734881.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow.ml-error .label-description p:first-letter{color:red!important}@media only screen and (max-width:900px){.ml-form-embedWrapper.embedDefault,.ml-form-embedWrapper.embedPopup{width:100%!important}.ml-form-formContent.horozintalForm{float:left!important}.ml-form-formContent.horozintalForm .ml-form-horizontalRow{height:auto!important;width:100%!important;float:left!important}.ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal{width:100%!important}.ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal>div{padding-right:0!important;padding-bottom:10px}.ml-form-formContent.horozintalForm .ml-button-horizontal{width:100%!important}.ml-form-formContent.horozintalForm .ml-button-horizontal.labelsOn{padding-top:0!important}}</style>
|
||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5672018573196134" crossorigin=anonymous></script>
|
||
</head>
|
||
<body class=sticky-container>
|
||
<header class="header bg-white border-bottom position-relative">
|
||
<div class=container>
|
||
<div class=row>
|
||
<div class="col-12 position-relative">
|
||
<nav class="navbar navbar-expand-lg navbar-light p-0">
|
||
<div class=logo-wrapper>
|
||
<a href=/>
|
||
<img loading=eager decoding=async class="img-fluid logo" width=80x height=310 src=/images/logo_hu354e18ffd6bdfee5be8e3f497e7fb612_22876_80x0_resize_q90_h2_box_3.webp alt="Reflectoring - Where the HOW meets the WHY" onerror="this.onerror=null,this.src='/images/logo_hu354e18ffd6bdfee5be8e3f497e7fb612_22876_80x0_resize_box_3.png'">
|
||
</a>
|
||
</div>
|
||
<div class="d-flex d-lg-none">
|
||
<ul class="list-unstyled search">
|
||
<li class=list-inline-item>
|
||
<a href=# class="toggle-search search-mobile" data-target=#search-wrap><i class="fas fa-search"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=# class=toggle-side-nav data-bs-toggle=offcanvas data-bs-target=#offcanvasRight aria-controls=offcanvasRight><i class="fas fa-bars"></i></a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="collapse navbar-collapse" id=navbarScroll>
|
||
<ul class="navbar-nav ms-auto my-4 my-lg-0 me-3">
|
||
<li class="nav-item dropdown">
|
||
<a class="nav-link dropdown-toggle" href=# id=navbarScrollingDropdown role=button data-bs-toggle=dropdown aria-expanded=false>Books
|
||
</a>
|
||
<ul class=dropdown-menu aria-labelledby=navbarScrollingDropdown>
|
||
<li><a class=dropdown-item href=/book>Get Your Hands Dirty on Clean Architecture</a>
|
||
</li>
|
||
<li><a class=dropdown-item target=_blank rel=noopener href="https://stratospheric.dev?utm_source=reflectoring&utm_content=sidebar">Stratospheric</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class=nav-item>
|
||
<a class=nav-link href=/simplify>Simplify</a>
|
||
</li>
|
||
<li class="nav-item dropdown">
|
||
<a class="nav-link dropdown-toggle" href=# id=navbarScrollingDropdown role=button data-bs-toggle=dropdown aria-expanded=false>Contribute
|
||
</a>
|
||
<ul class=dropdown-menu aria-labelledby=navbarScrollingDropdown>
|
||
<li><a class=dropdown-item href=/contribute/become-an-author>Become an Author</a>
|
||
</li>
|
||
<li><a class=dropdown-item href=/contribute/writing-guide>Writing Guide</a>
|
||
</li>
|
||
<li><a class=dropdown-item href=/contribute/author-workflow>Author Workflow</a>
|
||
</li>
|
||
<li><a class=dropdown-item href=/contribute/author-payment>Author Payment</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-item dropdown">
|
||
<a class="nav-link dropdown-toggle" href=# id=navbarScrollingDropdown role=button data-bs-toggle=dropdown aria-expanded=false>Services
|
||
</a>
|
||
<ul class=dropdown-menu aria-labelledby=navbarScrollingDropdown>
|
||
<li><a class=dropdown-item href=/book-me>Book me</a>
|
||
</li>
|
||
<li><a class=dropdown-item href=/advertise>Advertise</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-item dropdown">
|
||
<a class="nav-link dropdown-toggle" href=# id=navbarScrollingDropdown role=button data-bs-toggle=dropdown aria-expanded=false>Categories
|
||
</a>
|
||
<ul class=dropdown-menu aria-labelledby=navbarScrollingDropdown>
|
||
<li><a class=dropdown-item href=/categories/spring-boot/>Spring Boot</a>
|
||
</li>
|
||
<li><a class=dropdown-item href=/categories/java/>Java</a>
|
||
</li>
|
||
<li><a class=dropdown-item href=/categories/node/>Node</a>
|
||
</li>
|
||
<li><a class=dropdown-item href=/categories/kotlin/>Kotlin</a>
|
||
</li>
|
||
<li><a class=dropdown-item href=/categories/aws/>AWS</a>
|
||
</li>
|
||
<li><a class=dropdown-item href=/categories/software-craft/>Software Craft</a>
|
||
</li>
|
||
<li><a class=dropdown-item href=/categories/simplify/>Simplify!</a>
|
||
</li>
|
||
<li><a class=dropdown-item href=/categories/meta/>Meta</a>
|
||
</li>
|
||
<li><a class=dropdown-item href=/categories/book-notes/>Book Reviews</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul class="list-unstyled social-icons">
|
||
<li class=list-inline-item>
|
||
<a href=https://facebook.com/reflectoring><i class="fab fa-facebook"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://twitter.com/TomHombergs><i class="fab fa-twitter"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://github.com/thombergs/code-examples><i class="fab fa-github"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://www.linkedin.com/in/tom-hombergs-74048777><i class="fab fa-linkedin"></i></a>
|
||
</li>
|
||
</ul>
|
||
<ul class="list-unstyled search d-none d-lg-block">
|
||
<li class=list-inline-item>
|
||
<button class="toggle-search search-desktop" data-target=#search-wrap><i class="fas fa-search"></i></button>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</nav>
|
||
<div class=search-wrap id=search-wrap>
|
||
<form action=/search class="search-bar d-flex align-items-center justify-content-center">
|
||
<input class="search-input w-100 border-0 h-100" id=search-query name=s type=search placeholder=Search...>
|
||
<span class="close-search toggle-search" data-target=#search-wrap>
|
||
<i class="fas fa-times"></i>
|
||
</span>
|
||
</form>
|
||
</div>
|
||
<div class="side-nav offcanvas offcanvas-end p-3" tabindex=-1 id=offcanvasRight aria-labelledby=offcanvasRightLabel>
|
||
<div class="navbar flex-column align-items-start">
|
||
<ul class="navbar-nav w-100">
|
||
<li class="nav-item dropdown">
|
||
<a class="nav-link dropdown-toggle" href=# role=button data-bs-toggle=dropdown aria-haspopup=true aria-expanded=false>
|
||
Books
|
||
</a>
|
||
<div class=dropdown-menu>
|
||
<a class=dropdown-item href=/book>Get Your Hands Dirty on Clean Architecture</a>
|
||
<a class=dropdown-item target=_blank rel=noopener href="https://stratospheric.dev?utm_source=reflectoring&utm_content=sidebar">Stratospheric</a>
|
||
</div>
|
||
</li>
|
||
<li class=nav-item>
|
||
<a class=nav-link href=/simplify>Simplify</a>
|
||
</li>
|
||
<li class="nav-item dropdown">
|
||
<a class="nav-link dropdown-toggle" href=# role=button data-bs-toggle=dropdown aria-haspopup=true aria-expanded=false>
|
||
Contribute
|
||
</a>
|
||
<div class=dropdown-menu>
|
||
<a class=dropdown-item href=/contribute/become-an-author>Become an Author</a>
|
||
<a class=dropdown-item href=/contribute/writing-guide>Writing Guide</a>
|
||
<a class=dropdown-item href=/contribute/author-workflow>Author Workflow</a>
|
||
<a class=dropdown-item href=/contribute/author-payment>Author Payment</a>
|
||
</div>
|
||
</li>
|
||
<li class="nav-item dropdown">
|
||
<a class="nav-link dropdown-toggle" href=# role=button data-bs-toggle=dropdown aria-haspopup=true aria-expanded=false>
|
||
Services
|
||
</a>
|
||
<div class=dropdown-menu>
|
||
<a class=dropdown-item href=/book-me>Book me</a>
|
||
<a class=dropdown-item href=/advertise>Advertise</a>
|
||
</div>
|
||
</li>
|
||
<li class="nav-item dropdown">
|
||
<a class="nav-link dropdown-toggle" href=# role=button data-bs-toggle=dropdown aria-haspopup=true aria-expanded=false>
|
||
Categories
|
||
</a>
|
||
<div class=dropdown-menu>
|
||
<a class=dropdown-item href=/categories/spring-boot/>Spring Boot</a>
|
||
<a class=dropdown-item href=/categories/java/>Java</a>
|
||
<a class=dropdown-item href=/categories/node/>Node</a>
|
||
<a class=dropdown-item href=/categories/kotlin/>Kotlin</a>
|
||
<a class=dropdown-item href=/categories/aws/>AWS</a>
|
||
<a class=dropdown-item href=/categories/software-craft/>Software Craft</a>
|
||
<a class=dropdown-item href=/categories/simplify/>Simplify!</a>
|
||
<a class=dropdown-item href=/categories/meta/>Meta</a>
|
||
<a class=dropdown-item href=/categories/book-notes/>Book Reviews</a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
<ul class="list-unstyled social-icons">
|
||
<li class=list-inline-item>
|
||
<a href=https://facebook.com/reflectoring><i class="fab fa-facebook"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://twitter.com/TomHombergs><i class="fab fa-twitter"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://github.com/thombergs/code-examples><i class="fab fa-github"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://www.linkedin.com/in/tom-hombergs-74048777><i class="fab fa-linkedin"></i></a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
<main>
|
||
<script>(function(a,e,f,g,b,c,d){a[b]=a[b]||function(){(a[b].q=a[b].q||[]).push(arguments)},c=e.createElement(f),c.async=1,c.src=g,d=e.getElementsByTagName(f)[0],d.parentNode.insertBefore(c,d)})(window,document,'script','https://assets.mailerlite.com/js/universal.js','ml'),ml('account','234457')</script>
|
||
<section class=section-sm>
|
||
<div class=container>
|
||
<div class=row>
|
||
<div class="col-lg-8 mb-5 mb-lg-0">
|
||
<h1 class="mb-4 h2">Zero Downtime Database Changes with Feature Flags - Step by Step</h1>
|
||
<ul class="list-inline d-flex align-items-center mb-4">
|
||
<li class="list-inline-item d-flex align-items-center me-4">
|
||
<i class="fas fa-calendar me-2"></i>
|
||
<span data-blogtrack-date>September 22, 2021</span>
|
||
</li>
|
||
<li class="list-inline-item d-flex align-items-center">
|
||
<i class="fas fa-archive me-2"></i>
|
||
<ul class=list-inline>
|
||
<li class=list-inline-item>
|
||
<a href=/categories/spring-boot class=text-default>Spring Boot</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<details class=table-of-content>
|
||
<summary class=mb-0>Table Of Contents</summary>
|
||
<nav id=TableOfContents>
|
||
<ul>
|
||
<li><a href=/zero-downtime-deployments-with-feature-flags/#the-problem-coordinating-database-changes-with-code-changes>The Problem: Coordinating Database Changes with Code Changes</a></li>
|
||
<li><a href=/zero-downtime-deployments-with-feature-flags/#example-use-case-splitting-one-database-column-into-two>Example Use Case: Splitting One Database Column into Two</a></li>
|
||
<li><a href=/zero-downtime-deployments-with-feature-flags/#step-1-decouple-database-changes-from-code-changes>Step 1: Decouple Database Changes from Code Changes</a></li>
|
||
<li><a href=/zero-downtime-deployments-with-feature-flags/#step-2-deploy-the-new-code-behind-a-feature-flag>Step 2: Deploy the New Code Behind a Feature Flag</a></li>
|
||
<li><a href=/zero-downtime-deployments-with-feature-flags/#step-3-add-the-new-database-columns>Step 3: Add the New Database Columns</a></li>
|
||
<li><a href=/zero-downtime-deployments-with-feature-flags/#step-4-activate-writes-into-the-new-database-columns>Step 4: Activate Writes into the New Database Columns</a></li>
|
||
<li><a href=/zero-downtime-deployments-with-feature-flags/#step-5-migrate-data-into-the-new-database-columns>Step 5: Migrate Data into the New Database Columns</a></li>
|
||
<li><a href=/zero-downtime-deployments-with-feature-flags/#step-6-activate-reads-from-the-new-database-columns>Step 6: Activate Reads from the New Database Columns</a></li>
|
||
<li><a href=/zero-downtime-deployments-with-feature-flags/#step-7-remove-the-old-code-and-database-column>Step 7: Remove the Old Code and Database Column</a></li>
|
||
<li><a href=/zero-downtime-deployments-with-feature-flags/#deploy-with-confidence>Deploy with Confidence</a></li>
|
||
</ul>
|
||
</nav>
|
||
</details>
|
||
<div class=content data-blogtrack-text><p>Whenever we make a change in our database schema, we also have to make a change in the code that uses that database schema.</p>
|
||
<p>When we add a new column to the database, we need to change the code to use that new column.</p>
|
||
<p>When we delete a column from the database, we need to change the code to not use that column anymore.</p>
|
||
<p>In this tutorial, we’ll discuss how we can coordinate the code changes with the database changes and deploy them to our production environment without a downtime. We’ll go through an example use case step by step and use feature flags to help us.</p>
|
||
<h2><i class="fab fa-github"></i> Example Code</h2>
|
||
This article is accompanied by a working code example <a href=https://github.com/thombergs/code-examples/tree/master/spring-boot/zero-downtime target=_blank>on GitHub</a>.
|
||
<h2 id=the-problem-coordinating-database-changes-with-code-changes>The Problem: Coordinating Database Changes with Code Changes</h2>
|
||
<p>If we release both the change of the database and the change of the code at the same time, we double the risk that something goes wrong. We have coupled the risk of the database change with the risk of the code change.</p>
|
||
<p>Usually, our application runs on multiple nodes and during a new release, the new code is deployed to one node at a time. This is often called a “rolling deployment” or “round-robin release” with the goal of zero downtime. <strong>During the deployment, there will be nodes running with the old code that is not compatible with the new database schema</strong>! How can we handle this?</p>
|
||
<p>What do we do when the deployment of the code change failed because we have introduced a bug? We have to roll back to the old version of the code. <strong>But the old version of the code may not be compatible with the database anymore</strong>, because we have already applied the database change! So we have to roll back the database change, too! The rollback in itself bears some risk of failure because a rollback is often not a well-planned and well-rehearsed activity. How can we improve this situation?</p>
|
||
<p>The answer to these questions is to <strong>decouple the database changes from the code changes using feature flags</strong>.</p>
|
||
<p>With feature flags, we can deploy database changes and code any time we want, and activate them at any time after the deployment.</p>
|
||
<p>This tutorial provides a step-by-step guide on how to release database changes and the corresponding code changes safely and with no downtime using Spring Boot, <a href=https://flywaydb.org/>Flyway</a>, and feature flags implemented with a feature flagging platform like <a href=https://launchdarkly.com>LaunchDarkly</a>.</p>
|
||
<h2 id=example-use-case-splitting-one-database-column-into-two>Example Use Case: Splitting One Database Column into Two</h2>
|
||
<p>As the example use case we’re going to split a database column into two.</p>
|
||
<p>Initially, our application looks like this:</p>
|
||
<img loading=lazy decoding=async width=1709 height=985 src=/images/posts/zero-downtime/initial-state_hu671b99d75cacb1312969b2b66b8bbcb2_150063_1709x0_resize_box_3.png alt="Initial state" onerror="this.onerror='null',this.src='/images/posts/zero-downtime/initial-state_hu671b99d75cacb1312969b2b66b8bbcb2_150063_1709x0_resize_box_3.png'">
|
||
<p>We have a <code>CustomerController</code> that provides a REST API for our Customer entities. It uses the <code>CustomerRepository</code>, which is a Spring Data repository that maps entries in the <code>CUSTOMER</code> database table to objects of type <code>Customer</code>. The <code>CUSTOMER</code> table has the columns <code>id</code> and <code>address</code> for our example.</p>
|
||
<p>The <code>address</code> column contains both the street name and street number in the same field. Imagine that due to some new requirements, <strong>we have to split up the <code>address</code> column into two columns: <code>streetNumber</code> and <code>street</code></strong>.</p>
|
||
<p>In the end, we want the application to look like this:</p>
|
||
<img loading=lazy decoding=async width=2051 height=958 src=/images/posts/zero-downtime/final-state_hufbd08c3286fc9248af7f8f7d3fb95f35_179992_2051x0_resize_box_3.png alt="Final state" onerror="this.onerror='null',this.src='/images/posts/zero-downtime/final-state_hufbd08c3286fc9248af7f8f7d3fb95f35_179992_2051x0_resize_box_3.png'">
|
||
<p>In this guide, we’ll go through all the changes we need to do to the database and the code and how to release them as safely as possible using feature flags and multiple deployments.</p>
|
||
<h2 id=step-1-decouple-database-changes-from-code-changes>Step 1: Decouple Database Changes from Code Changes</h2>
|
||
<p>Before we even start with changing code or the database schema, we’ll want to decouple the execution of database changes from the deployment of a Spring Boot app.</p>
|
||
<p>By default, Flyway executes database migration on application startup. This is very convenient but gives us little control. What if the database change is incompatible with the old code? During the rolling deployment, there may be nodes with the old codes still using the database!</p>
|
||
<p>We want full control over when we execute our database schema changes! With a little tweak to our Spring Boot application, we can achieve this.</p>
|
||
<p>First, we disable Flyway’s default to execute database migrations on startup:</p>
|
||
<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-java data-lang=java><span style=color:#a6e22e>@Configuration</span>
|
||
<span style=color:#66d9ef>class</span> <span style=color:#a6e22e>FlywayConfiguration</span> <span style=color:#f92672>{</span>
|
||
|
||
<span style=color:#66d9ef>private</span> <span style=color:#66d9ef>final</span> <span style=color:#66d9ef>static</span> Logger logger <span style=color:#f92672>=</span> LoggerFactory<span style=color:#f92672>.</span><span style=color:#a6e22e>getLogger</span><span style=color:#f92672>(</span>FlywayConfiguration<span style=color:#f92672>.</span><span style=color:#a6e22e>class</span><span style=color:#f92672>);</span>
|
||
|
||
<span style=color:#a6e22e>@Bean</span>
|
||
FlywayMigrationStrategy <span style=color:#a6e22e>flywayStrategy</span><span style=color:#f92672>()</span> <span style=color:#f92672>{</span>
|
||
<span style=color:#66d9ef>return</span> flyway <span style=color:#f92672>-></span> logger<span style=color:#f92672>.</span><span style=color:#a6e22e>info</span><span style=color:#f92672>(</span><span style=color:#e6db74>"Flyway migration on startup is disabled! Call the endpoint /flywayMigrate instead."</span><span style=color:#f92672>);</span>
|
||
<span style=color:#f92672>}</span>
|
||
|
||
<span style=color:#f92672>}</span>
|
||
</code></pre></div><p>Instead of executing all database migrations that haven’t been executed, yet, it will now just print a line to the log saying that we should call an HTTP endpoint instead.</p>
|
||
<p>But we also have to implement this HTTP endpoint:</p>
|
||
<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-java data-lang=java><span style=color:#a6e22e>@RestController</span>
|
||
<span style=color:#66d9ef>class</span> <span style=color:#a6e22e>FlywayController</span> <span style=color:#f92672>{</span>
|
||
|
||
<span style=color:#66d9ef>private</span> <span style=color:#66d9ef>final</span> Flyway flyway<span style=color:#f92672>;</span>
|
||
|
||
<span style=color:#66d9ef>public</span> <span style=color:#a6e22e>FlywayController</span><span style=color:#f92672>(</span>Flyway flyway<span style=color:#f92672>)</span> <span style=color:#f92672>{</span>
|
||
<span style=color:#66d9ef>this</span><span style=color:#f92672>.</span><span style=color:#a6e22e>flyway</span> <span style=color:#f92672>=</span> flyway<span style=color:#f92672>;</span>
|
||
<span style=color:#f92672>}</span>
|
||
|
||
<span style=color:#a6e22e>@PostMapping</span><span style=color:#f92672>(</span><span style=color:#e6db74>"/flywayMigrate"</span><span style=color:#f92672>)</span>
|
||
String <span style=color:#a6e22e>flywayMigrate</span><span style=color:#f92672>()</span> <span style=color:#f92672>{</span>
|
||
flyway<span style=color:#f92672>.</span><span style=color:#a6e22e>migrate</span><span style=color:#f92672>();</span>
|
||
<span style=color:#66d9ef>return</span> <span style=color:#e6db74>"success"</span><span style=color:#f92672>;</span>
|
||
<span style=color:#f92672>}</span>
|
||
|
||
<span style=color:#f92672>}</span>
|
||
</code></pre></div><p>Whenever we call <code>/flywayMigrate</code> via HTTP POST now, Flyway will run all migration scripts that haven’t been executed, yet. Note that you should protect this endpoint in a real application, so that not everyone can call it.</p>
|
||
<p>With this change in place, we can deploy a new version of the code without being forced to change the database schema at the same time. We’ll make use of that in the next step.</p>
|
||
<h2 id=step-2-deploy-the-new-code-behind-a-feature-flag>Step 2: Deploy the New Code Behind a Feature Flag</h2>
|
||
<p>Next, we write the code that we need to work with the new database schema:</p>
|
||
<img loading=lazy decoding=async width=2204 height=1041 src=/images/posts/zero-downtime/state-1_huf52e8803f194696cf22781785c9ed31c_261743_2204x0_resize_box_3.png alt="State 1" onerror="this.onerror='null',this.src='/images/posts/zero-downtime/state-1_huf52e8803f194696cf22781785c9ed31c_261743_2204x0_resize_box_3.png'">
|
||
<p>Since we’re going to change the structure of the <code>CUSTOMER</code> database table, we create the class <code>NewCustomer</code> that maps to the new columns of the table (i.e. <code>streetNumber</code> and <code>street</code> instead of just <code>address</code>). We also create <code>NewCustomerRepository</code> as a new Spring Data repository that binds to the same table as the <code>CustomerRepository</code> but uses the <code>NewCustomer</code> class to map database rows into Java.</p>
|
||
<p>Note that we have deployed the new code, but haven’t activated it yet. It can’t work, yet, because the database still is in the old state.</p>
|
||
<p>Instead, we’ve hidden it behind feature flags. In the <code>CustomerController</code> we now have code that looks something like this:</p>
|
||
<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-java data-lang=java><span style=color:#a6e22e>@PostMapping</span><span style=color:#f92672>(</span><span style=color:#e6db74>"/customers/create"</span><span style=color:#f92672>)</span>
|
||
String <span style=color:#a6e22e>createCustomer</span><span style=color:#f92672>()</span> <span style=color:#f92672>{</span>
|
||
<span style=color:#66d9ef>if</span> <span style=color:#f92672>(</span>featureFlagService<span style=color:#f92672>.</span><span style=color:#a6e22e>writeToNewCustomerSchema</span><span style=color:#f92672>())</span> <span style=color:#f92672>{</span>
|
||
NewCustomer customer <span style=color:#f92672>=</span> <span style=color:#66d9ef>new</span> NewCustomer<span style=color:#f92672>(</span><span style=color:#e6db74>"Bob"</span><span style=color:#f92672>,</span> <span style=color:#e6db74>"Builder"</span><span style=color:#f92672>,</span> <span style=color:#e6db74>"Build Street"</span><span style=color:#f92672>,</span> <span style=color:#e6db74>"21"</span><span style=color:#f92672>);</span>
|
||
newCustomerRepository<span style=color:#f92672>.</span><span style=color:#a6e22e>save</span><span style=color:#f92672>(</span>customer<span style=color:#f92672>);</span>
|
||
<span style=color:#f92672>}</span> <span style=color:#66d9ef>else</span> <span style=color:#f92672>{</span>
|
||
OldCustomer customer <span style=color:#f92672>=</span> <span style=color:#66d9ef>new</span> OldCustomer<span style=color:#f92672>(</span><span style=color:#e6db74>"Bob"</span><span style=color:#f92672>,</span> <span style=color:#e6db74>"Builder"</span><span style=color:#f92672>,</span> <span style=color:#e6db74>"21 Build Street"</span><span style=color:#f92672>);</span>
|
||
oldCustomerRepository<span style=color:#f92672>.</span><span style=color:#a6e22e>save</span><span style=color:#f92672>(</span>customer<span style=color:#f92672>);</span>
|
||
<span style=color:#f92672>}</span>
|
||
<span style=color:#66d9ef>return</span> <span style=color:#e6db74>"customer created"</span><span style=color:#f92672>;</span>
|
||
<span style=color:#f92672>}</span>
|
||
|
||
<span style=color:#a6e22e>@GetMapping</span><span style=color:#f92672>(</span><span style=color:#e6db74>"/customers/{id}}"</span><span style=color:#f92672>)</span>
|
||
String <span style=color:#a6e22e>getCustomer</span><span style=color:#f92672>(</span><span style=color:#a6e22e>@PathVariable</span><span style=color:#f92672>(</span><span style=color:#e6db74>"id"</span><span style=color:#f92672>)</span> Long id<span style=color:#f92672>)</span> <span style=color:#f92672>{</span>
|
||
<span style=color:#66d9ef>if</span> <span style=color:#f92672>(</span>featureFlagService<span style=color:#f92672>.</span><span style=color:#a6e22e>readFromNewCustomerSchema</span><span style=color:#f92672>())</span> <span style=color:#f92672>{</span>
|
||
Optional<span style=color:#f92672><</span>NewCustomer<span style=color:#f92672>></span> customer <span style=color:#f92672>=</span> newCustomerRepository<span style=color:#f92672>.</span><span style=color:#a6e22e>findById</span><span style=color:#f92672>(</span>id<span style=color:#f92672>);</span>
|
||
<span style=color:#66d9ef>return</span> customer<span style=color:#f92672>.</span><span style=color:#a6e22e>get</span><span style=color:#f92672>().</span><span style=color:#a6e22e>toString</span><span style=color:#f92672>();</span>
|
||
<span style=color:#f92672>}</span> <span style=color:#66d9ef>else</span> <span style=color:#f92672>{</span>
|
||
Optional<span style=color:#f92672><</span>OldCustomer<span style=color:#f92672>></span> customer <span style=color:#f92672>=</span> oldCustomerRepository<span style=color:#f92672>.</span><span style=color:#a6e22e>findById</span><span style=color:#f92672>(</span>id<span style=color:#f92672>);</span>
|
||
<span style=color:#66d9ef>return</span> customer<span style=color:#f92672>.</span><span style=color:#a6e22e>get</span><span style=color:#f92672>().</span><span style=color:#a6e22e>toString</span><span style=color:#f92672>();</span>
|
||
<span style=color:#f92672>}</span>
|
||
<span style=color:#f92672>}</span>
|
||
</code></pre></div><p>With a feature flagging tool like <a href=https://launchdarkly.com>LaunchDarkly</a>, we have created two feature flags:</p>
|
||
<p>The boolean flag <code>featureFlagService.writeToNewCustomerSchema()</code> defines <strong>whether the write path to the new database schema is active</strong>. This feature flag is currently still disabled because we haven’t updated the database schema yet.</p>
|
||
<p>The boolean flag <code>featureFlagService.readFromNewCustomerSchema()</code> defines <strong>whether the read path from the new database schema is active</strong>. This feature flag is also disabled for now.</p>
|
||
<p>With the help of feature flags, we have deployed the new code without even touching the database, yet, which we will do in the next step.</p>
|
||
<h2 id=step-3-add-the-new-database-columns>Step 3: Add the New Database Columns</h2>
|
||
<p>With the deployment of the new code in the previous step, we have also deployed a new SQL script for Flyway to execute. After successful deployment, we can now call the <code>/flywayMigrate</code> endpoint that we prepared in step 1. This will execute the SQL script and update the database schema with the new <code>streetNumber</code> and <code>street</code> fields:</p>
|
||
<img loading=lazy decoding=async width=3031 height=1053 src=/images/posts/zero-downtime/state-2_hu8b19fe6f1b526620cbcaa6a54e9aa9d3_338752_3031x0_resize_box_3.png alt="State 2" onerror="this.onerror='null',this.src='/images/posts/zero-downtime/state-2_hu8b19fe6f1b526620cbcaa6a54e9aa9d3_338752_3031x0_resize_box_3.png'">
|
||
<p>These new columns will be empty for now. Note that we have kept the existing <code>address</code> column untouched for now. In the end state, we’ll want to remove this column, but we have to migrate the data into the new columns first.</p>
|
||
<p>The feature flags are still disabled for now, so that both reads and writes go into the old <code>address</code> database column.</p>
|
||
<h2 id=step-4-activate-writes-into-the-new-database-columns>Step 4: Activate Writes into the New Database Columns</h2>
|
||
<p>Next, we activate the <code>writeToNewCustomerSchema</code> feature flag so that the application now writes to the new database columns but still reads from the old one:</p>
|
||
<img loading=lazy decoding=async width=2984 height=1057 src=/images/posts/zero-downtime/state-3_hu6ce9fac4522e62ec6538280ee21a7fcd_364034_2984x0_resize_box_3.png alt="State 2" onerror="this.onerror='null',this.src='/images/posts/zero-downtime/state-3_hu6ce9fac4522e62ec6538280ee21a7fcd_364034_2984x0_resize_box_3.png'">
|
||
<p>Every time the application now writes a new customer to the database, it uses the new code. Note that the new code will still fill the old <code>address</code> column in addition to the new columns <code>streetNumber</code> and <code>street</code> for backwards compatibility because the old code is still responsible for reading from the database.</p>
|
||
<p>We can’t switch the new code to read data from the database, yet, because the new columns will be empty for most customers. The new columns will fill up slowly over time as the new code is being used to write data to the database.</p>
|
||
<p>To fill the new columns for <em>all</em> customers, we need to run a migration.</p>
|
||
<h2 id=step-5-migrate-data-into-the-new-database-columns>Step 5: Migrate Data into the New Database Columns</h2>
|
||
<p>Next, we’re going to run a migration that goes through all customers in the database whose <code>streetNumber</code> and <code>street</code> fields are still empty, reads the <code>address</code> field, and migrates it into the new fields:</p>
|
||
<img loading=lazy decoding=async width=1595 height=901 src=/images/posts/zero-downtime/migration_hud49c5c008d118fb80bcc63557af69eba_193542_1595x0_resize_box_3.png alt="Database migration" onerror="this.onerror='null',this.src='/images/posts/zero-downtime/migration_hud49c5c008d118fb80bcc63557af69eba_193542_1595x0_resize_box_3.png'">
|
||
<p>This migration can be an SQL script, some custom code, or actual people looking at the customer data one by one and making the migration manually. It depends on the use case, data quality, and complexity of the migration task to decide the best way.</p>
|
||
<div class="notice info">
|
||
<h4>Data Migrations with Flyway?</h4>
|
||
<p>
|
||
Note that the type of migration we're talking about in this section is usually <em>not</em> a task for Flyway. Flyway is for executing scripts that migrate <em>the database schema</em> from one state to another. Migrating <em>data</em> is a very different task.
|
||
</p>
|
||
<p>
|
||
Yes, Flyway <em>can</em> be used for migrating data. After all, a data migration can very well just be an SQL script. However, a data migration can cause issues like long-running queries and table locks, which should not happen in the context of a Flyway migration because we have little control over it there.
|
||
</p>
|
||
</div>
|
||
<h2 id=step-6-activate-reads-from-the-new-database-columns>Step 6: Activate Reads from the New Database Columns</h2>
|
||
<p>Now that all the customer data is migrated into the new data structure, we can activate the feature flag to use the new code to read from the database:</p>
|
||
<img loading=lazy decoding=async width=2903 height=1062 src=/images/posts/zero-downtime/state-4_hu8073ac838a0682675993d985ce9e7ccb_545755_2903x0_resize_box_3.png alt="State 3" onerror="this.onerror='null',this.src='/images/posts/zero-downtime/state-4_hu8073ac838a0682675993d985ce9e7ccb_545755_2903x0_resize_box_3.png'">
|
||
<p>The new code is now being used to write <em>and</em> read from the database. The old code and the old <code>address</code> database column are both not used anymore.</p>
|
||
<h2 id=step-7-remove-the-old-code-and-database-column>Step 7: Remove the Old Code and Database Column</h2>
|
||
<p>The last step is to clean up:</p>
|
||
<img loading=lazy decoding=async width=2051 height=958 src=/images/posts/zero-downtime/final-state_hufbd08c3286fc9248af7f8f7d3fb95f35_179992_2051x0_resize_box_3.png alt="Final state" onerror="this.onerror='null',this.src='/images/posts/zero-downtime/final-state_hufbd08c3286fc9248af7f8f7d3fb95f35_179992_2051x0_resize_box_3.png'">
|
||
<p>We can remove the old code that isn’t used anymore. And we can run another Flyway migration that removes the old <code>address</code> column from the database.</p>
|
||
<p>We should also remove the feature flags from the code now because we’re no longer using the old code. If we don’t remove the old code, we’ll accrue technical debt that will make the code harder to understand for the next person. When using feature flags at scale across a whole organization, a feature flagging platform like LaunchDarkly can help with this, because <a href=https://launchdarkly.com/features/code-references>it’s tracking the usage of feature flags across the codebase</a>.</p>
|
||
<p>We can now also rename the <code>NewCustomerRepository</code> to <code>CustomerRepository</code> and <code>NewCustomer</code> to <code>Customer</code> to make the code clean and understandable once more.</p>
|
||
<h2 id=deploy-with-confidence>Deploy with Confidence</h2>
|
||
<p>The 7 steps above will be spread out across multiple deployments of the application. Some of them can be combined into a single deployment, but there will be at least two deployments: one to deploy the new code and the feature flags, and one to remove the old code and the feature flags.</p>
|
||
<p>The feature flags give us a lot of flexibility and confidence in database changes like in the use case we discussed above. <strong>Feature flags allow us to decouple the code changes from the database changes</strong>. Without feature flags, we can only activate new code by deploying a new version of the application, which makes scenarios that require backwards compatibility with an old database schema a lot harder to manage (and riskier!).</p>
|
||
<p>If you want to learn more about feature flagging, make sure to read my <a href=/java-feature-flags>tutorial about LaunchDarkly and Togglz</a>, two of the most popular feature flagging tools in the JVM world.</p>
|
||
</div>
|
||
<div class=row>
|
||
<div class=col-sm-3>
|
||
<div class="d-block d-sm-none mb-3">
|
||
<small>Written By:</small>
|
||
<h2 class="title-border h5">Tom Hombergs</h2>
|
||
</div>
|
||
<picture>
|
||
<source srcset=/images/tom/tom_hu55d3f19ac956106494bb78fae2dd2665_250772_545x0_resize_q90_h2_box_3.webp media="(max-width: 575px)">
|
||
<source srcset=/images/tom/tom_hu55d3f19ac956106494bb78fae2dd2665_250772_600x0_resize_q90_h2_box_3.webp media="(max-width: 767px)">
|
||
<source srcset=/images/tom/tom_hu55d3f19ac956106494bb78fae2dd2665_250772_650x0_resize_q90_h2_box_3.webp>
|
||
<img loading=lazy decoding=async class="post-author rounded-4" src=/images/tom/tom_hu55d3f19ac956106494bb78fae2dd2665_250772_650x0_resize_box_3.png alt width=400 height=557>
|
||
</picture>
|
||
</div>
|
||
<div class=col-sm-9>
|
||
<div class="d-none d-sm-block">
|
||
<small>Written By:</small>
|
||
<h2 class="title-border h5">Tom Hombergs</h2>
|
||
</div>
|
||
<p class=small>As a professional software engineer, consultant, architect, general problem solver, I've been practicing the software craft for more than fifteen years and I'm still learning something new every day. I love sharing the things I learned, so you (and future me) can get a head start. That's why I founded reflectoring.io.</p>
|
||
<ul class="list-unstyled social-icons-big">
|
||
<li class=list-inline-item>
|
||
<a href=https://www.facebook.com/reflectoring><i class="fab fa-facebook"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://www.twitter.com/TomHombergs><i class="fab fa-twitter"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://www.github.com/thombergs><i class="fab fa-github"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://www.linkedin.com/in/tom-hombergs-74048777><i class="fab fa-linkedin"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://www.stackoverflow.com/users/2375843/tom><i class="fab fa-stack-overflow"></i></a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<aside class=col-lg-4>
|
||
<a id=newsletter></a>
|
||
<div class="widget newsletter-widget">
|
||
<div class=widget-title>
|
||
<h3 class=title-border>Simplify<span class=highlight>!</span> Newsletter</h3>
|
||
</div>
|
||
<p class="mb-3 small text-light-900"><em>"You can't just <strong>keep</strong> it simple. <strong>Make</strong> it simple, then it's easy."</em></p>
|
||
<p class="mb-3 small text-light-900">Join more than 6,000 software engineers to get <strong>exclusive productivity and growth tips</strong> directly to your inbox.</p>
|
||
<p class="mb-3 small text-light-900"><a href=/simplify#wall-of-love>Check out the Wall of Love!</a></p>
|
||
<div id=mlb2-2818533 class="ml-form-embedContainer ml-subscribe-form ml-subscribe-form-2818533">
|
||
<div class=ml-form-align-left>
|
||
<div class="ml-form-embedWrapper embedForm">
|
||
<div class="ml-form-embedBody ml-form-embedBodyDefault row-form">
|
||
<div class=ml-form-embedContent style=margin-bottom:0></div>
|
||
<form class=ml-block-form action=https://assets.mailerlite.com/jsonp/234457/forms/76138091553752380/subscribe data-code method=post target=_blank>
|
||
<div class=ml-form-formContent>
|
||
<div class="ml-form-fieldRow ml-last-item">
|
||
<div class="ml-field-group ml-field-email ml-validate-email ml-validate-required">
|
||
<input aria-label=email aria-required=true type=email class=form-control data-inputmask name=fields[email] placeholder="Enter your email" autocomplete=email required>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<input type=hidden name=ml-submit value=1>
|
||
<div class=ml-form-embedSubmit>
|
||
<button type=submit class="btn btn-primary w-100 mt-2">Subscribe</button>
|
||
<button disabled class="btn btn-primary w-100 mt-2" style=display:none type=button class=loading> <div class=ml-form-embedSubmitLoad></div> <span class=sr-only>Loading...</span> </button>
|
||
</div>
|
||
<input type=hidden name=anticsrf value=true>
|
||
</form>
|
||
</div>
|
||
<div class="ml-form-successBody row-success" style=display:none>
|
||
<div class=ml-form-successContent>
|
||
<h4>Thank you!</h4>
|
||
<p>Almost done! Please check your inbox to validate your email address.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<script>function ml_webform_success_2818533(){var a=ml_jQuery||jQuery;a('.ml-subscribe-form-2818533 .row-success').show(),a('.ml-subscribe-form-2818533 .row-form').hide()}</script>
|
||
<script src=https://groot.mailerlite.com/js/w/webforms.min.js?v491724307ca3b85c1c754857e93994e5 type=text/javascript></script>
|
||
<p class="text-light-900 smallprint content mb-0">No spam. Your email address is safe with us. Your data will be used according to the <a href=/privacy class=text-light-900>privacy policy</a>.</p>
|
||
</div>
|
||
<div class=widget>
|
||
<a href="https://stratospheric.dev?utm_source=reflectoring&utm_content=sidebar">
|
||
<picture>
|
||
<source srcset=/images/stratospheric/stratospheric-mockup-338.png media="(max-width: 350px)">
|
||
<img loading=lazy decoding=async class="img-fluid mb-3 w-100 rounded-4" src=/images/stratospheric/stratospheric-mockup-338.png alt width=338 height=420>
|
||
</picture>
|
||
</a>
|
||
<p class="mb-3 small text-light-900">Join more than 1200 <a href="https://stratospheric.dev/#testimonials?utm_source=reflectoring&utm_content=sidebar">happy readers</a>.</p>
|
||
<p class="mb-3 small text-light-900">
|
||
<strong>Save $12.00</strong> by joining the <a href="https://stratospheric.dev/#mailing-list?utm_source=reflectoring&utm_content=sidebar">Stratospheric newsletter</a>.
|
||
</p>
|
||
<a href="https://leanpub.com/stratospheric?utm_source=reflectoring&utm_content=sidebar" type=submit name=subscribe class="btn btn-primary w-100">Learn Spring Boot & AWS</a>
|
||
</div>
|
||
<div class="widget sticky">
|
||
<a href=/book/>
|
||
<picture>
|
||
<source srcset=/images/gyhdoca/cover-338.png media="(max-width: 350px)">
|
||
<img loading=lazy decoding=async class="img-fluid mb-3 w-100 rounded-4" src=/images/gyhdoca/cover-338.png alt width=338 height=437>
|
||
</picture>
|
||
</a>
|
||
<p class="mb-3 small text-light-900">Join more than 6,500 <a href=/book/#what-readers-say>happy readers</a>.</p>
|
||
<p class="mb-3 small text-light-900">
|
||
<i class="fa fa-star" style=color:#f8c200></i>
|
||
<i class="fa fa-star" style=color:#f8c200></i>
|
||
<i class="fa fa-star" style=color:#f8c200></i>
|
||
<i class="fa fa-star" style=color:#f8c200></i>
|
||
<i class="fa fa-star-half" style=color:#f8c200></i> more than 150 reviews on <a href="https://www.amazon.com/gp/product/1839211962/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1839211962&linkCode=as2&tag=reflectorin0c-20&linkId=559e54b6599c4213252259df28d1d3e3">Amazon</a>
|
||
and <a href=https://www.goodreads.com/book/show/49238827-get-your-hands-dirty-on-clean-architecture>Goodreads</a>.
|
||
</p>
|
||
<p class="mb-3 small text-light-900">
|
||
<strong>Save $10</strong> by joining the <a href=/simplify>Simplify! newsletter</a>.
|
||
</p>
|
||
<a href=https://gum.co/gyhdoca type=submit name=subscribe class="btn btn-primary w-100">Get Your Hands Dirty</a>
|
||
</div>
|
||
</aside>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section class="section-sm pt-0">
|
||
<div class=container>
|
||
<div class=row>
|
||
<div class=col-12>
|
||
<div class=section-title>
|
||
<h2 class="h4 title-border">Recent Posts</h2>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class=row>
|
||
<div class="col-lg-4 col-md-6 mb-4 mb-lg-0">
|
||
<div class=card>
|
||
<div class="mb-3 position-relative">
|
||
<picture>
|
||
<source srcset=/images/stock/0041-adapter-1200x628-branded_hudbdb52a7685a8d0e28c5b58dcc10fabe_81226_545x0_resize_q90_h2_box.webp media="(max-width: 575px)">
|
||
<source srcset=/images/stock/0041-adapter-1200x628-branded_hudbdb52a7685a8d0e28c5b58dcc10fabe_81226_600x0_resize_q90_h2_box.webp media="(max-width: 767px)">
|
||
<source srcset=/images/stock/0041-adapter-1200x628-branded_hudbdb52a7685a8d0e28c5b58dcc10fabe_81226_650x0_resize_q90_h2_box.webp>
|
||
<img loading=eager decoding=async class="img-fluid w-100 rounded-4" src=/images/stock/0041-adapter-1200x628-branded_hudbdb52a7685a8d0e28c5b58dcc10fabe_81226_650x0_resize_q90_box.jpg alt="Guide to JUnit 5 Functional Interfaces" width=1200 height=628>
|
||
</picture>
|
||
<ul class="list-inline card-badge">
|
||
<li class=list-inline-item>
|
||
<a href=/categories/java class="badge badge-primary">Java</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class=card-body>
|
||
<h3 class=h6>
|
||
<a class=title-linked href=/junit5-functional-interfaces/>Guide to JUnit 5 Functional Interfaces</a>
|
||
</h3>
|
||
<ul class="list-inline card-meta d-flex align-items-center mb-3">
|
||
<li class="list-inline-item d-flex align-items-center">
|
||
<img src=/images/authors/sachin_hu1119a7cd66563ae1ad39639ab17bf4ac_131126_40x0_resize_q90_h2_box_3.webp alt="Sachin Raverkar" height=20 width=20 class=card-avatar>
|
||
<a href=/authors/sagaofsilence>Sachin Raverkar</a>
|
||
</li>
|
||
<li class="list-inline-item d-flex align-items-center">
|
||
<i class="fas fa-calendar me-2"></i>
|
||
<span>July 12, 2024</span>
|
||
</li>
|
||
</ul>
|
||
<p class="card-text small mb-3">In this article, we will get familiar with JUnit 5 functional interfaces. JUnit 5 significantly advanced from its predecessors. Features like functional interfaces can greatly simplify our work once we grasp their functionality.</p>
|
||
<a href=/junit5-functional-interfaces/ class="btn btn-outline-primary btn-sm">Read more</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-lg-4 col-md-6 mb-4 mb-lg-0">
|
||
<div class=card>
|
||
<div class="mb-3 position-relative">
|
||
<picture>
|
||
<source srcset=/images/stock/0101-keylock-1200x628-branded_hu54aa4efa315910c5671932665107f87d_212538_545x0_resize_q90_h2_box.webp media="(max-width: 575px)">
|
||
<source srcset=/images/stock/0101-keylock-1200x628-branded_hu54aa4efa315910c5671932665107f87d_212538_600x0_resize_q90_h2_box.webp media="(max-width: 767px)">
|
||
<source srcset=/images/stock/0101-keylock-1200x628-branded_hu54aa4efa315910c5671932665107f87d_212538_650x0_resize_q90_h2_box.webp>
|
||
<img loading=eager decoding=async class="img-fluid w-100 rounded-4" src=/images/stock/0101-keylock-1200x628-branded_hu54aa4efa315910c5671932665107f87d_212538_650x0_resize_q90_box.jpg alt="Getting Started with Spring Security and JWT" width=1200 height=628>
|
||
</picture>
|
||
<ul class="list-inline card-badge">
|
||
<li class=list-inline-item>
|
||
<a href=/categories/spring class="badge badge-primary">Spring</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class=card-body>
|
||
<h3 class=h6>
|
||
<a class=title-linked href=/spring-security-jwt/>Getting Started with Spring Security and JWT</a>
|
||
</h3>
|
||
<ul class="list-inline card-meta d-flex align-items-center mb-3">
|
||
<li class="list-inline-item d-flex align-items-center">
|
||
<img src=/images/authors/ranjani_hud577fb95bc21e64608d41b3455d8728b_21604_40x0_resize_q90_h2_box.webp alt="Ranjani Harish" height=20 width=20 class=card-avatar>
|
||
<a href=/authors/ranjani>Ranjani Harish</a>
|
||
</li>
|
||
<li class="list-inline-item d-flex align-items-center">
|
||
<i class="fas fa-calendar me-2"></i>
|
||
<span>June 19, 2024</span>
|
||
</li>
|
||
</ul>
|
||
<p class="card-text small mb-3">Spring Security provides a comprehensive set of security features for Java applications, covering authentication, authorization, session management, and protection against common security threats such as CSRF (Cross-Site Request Forgery).</p>
|
||
<a href=/spring-security-jwt/ class="btn btn-outline-primary btn-sm">Read more</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-lg-4 col-md-6 mb-4 mb-lg-0">
|
||
<div class=card>
|
||
<div class="mb-3 position-relative">
|
||
<picture>
|
||
<source srcset=/images/stock/0137-speed-1200x628-branded_hub713cc45004fb4a228379981531d1996_109522_545x0_resize_q90_h2_box.webp media="(max-width: 575px)">
|
||
<source srcset=/images/stock/0137-speed-1200x628-branded_hub713cc45004fb4a228379981531d1996_109522_600x0_resize_q90_h2_box.webp media="(max-width: 767px)">
|
||
<source srcset=/images/stock/0137-speed-1200x628-branded_hub713cc45004fb4a228379981531d1996_109522_650x0_resize_q90_h2_box.webp>
|
||
<img loading=eager decoding=async class="img-fluid w-100 rounded-4" src=/images/stock/0137-speed-1200x628-branded_hub713cc45004fb4a228379981531d1996_109522_650x0_resize_q90_box.jpg alt="Creating and Publishing an NPM Package with Automated Versioning and Deployment" width=1200 height=628>
|
||
</picture>
|
||
<ul class="list-inline card-badge">
|
||
<li class=list-inline-item>
|
||
<a href=/categories/node class="badge badge-primary">Node</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class=card-body>
|
||
<h3 class=h6>
|
||
<a class=title-linked href=/create-and-publish-npm-package/>Creating and Publishing an NPM Package with Automated Versioning and Deployment</a>
|
||
</h3>
|
||
<ul class="list-inline card-meta d-flex align-items-center mb-3">
|
||
<li class="list-inline-item d-flex align-items-center">
|
||
<img src=/images/authors/ajibade_hu311bbdf7993e90112ceb55987250c547_351348_40x0_resize_q90_h2_box_3.webp alt="Olaoluwa Ajibade" height=20 width=20 class=card-avatar>
|
||
<a href=/authors/ajibade>Olaoluwa Ajibade</a>
|
||
</li>
|
||
<li class="list-inline-item d-flex align-items-center">
|
||
<i class="fas fa-calendar me-2"></i>
|
||
<span>June 16, 2024</span>
|
||
</li>
|
||
</ul>
|
||
<p class="card-text small mb-3">In this step-by-step guide, we’ll create, publish, and manage an NPM package using TypeScript for better code readability and scalability. We’ll write test cases with Jest and automate our NPM package versioning and publishing process using Changesets and GitHub Actions.</p>
|
||
<a href=/create-and-publish-npm-package/ class="btn btn-outline-primary btn-sm">Read more</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
<script crossorigin=anonymous defer integrity="sha512-v/YPsTpbkIRM4z1k43tQsz5ywXrakoO2VqLFP/e5HqvVW19QehtmjE/RuMQm2nhufxpUJ9Q0KMTdNbuq+80TwA==" type=application/javascript>/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */var e,t,fuseOptions,searchQuery;!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(d,bS){"use strict";var q=[],bB=Object.getPrototypeOf,t=q.slice,bD=q.flat?function(a){return q.flat.call(a)}:function(a){return q.concat.apply([],a)},ag=q.push,ad=q.indexOf,aa={},bL=aa.toString,$=aa.hasOwnProperty,bF=$.toString,bX=bF.call(Object),f={},c=function(a){return"function"==typeof a&&"number"!=typeof a.nodeType&&"function"!=typeof a.item},D=function(a){return null!=a&&a===a.window},e=d.document,bU={type:!0,src:!0,nonce:!0,noModule:!0},aw,a,s,w,ax,aB,aE,bn,bm,bk,bi,m,bh,W,n,be,bc,J,b,g,aZ,aW,aL,M,o,r,u,bf,O,aJ,y,X,N,az,ay,i,bA,ar,bE,bO,bq,Z,R,ah,bM,aj,ak,al,bJ,an,bH,ap,L,ab,H,by,bx,bv,bu,G,aS,bs,br,aC,aD,B,aF,T,bd,aI,bb,aY,aU,aT,aR,aO,aP,aQ,af,ae,aM,S,aV,z,aX,aK,_,a_,a$,ba;function aN(g,a,d){var b,f,c=(d=d||e).createElement("script");if(c.text=g,a)for(b in bU)(f=a[b]||a.getAttribute&&a.getAttribute(b))&&c.setAttribute(b,f);d.head.appendChild(c).parentNode.removeChild(c)}function I(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?aa[bL.call(a)]||"object":typeof a}aw="3.6.0",a=function(b,c){return new a.fn.init(b,c)};function aH(a){var b=!!a&&"length"in a&&a.length,d=I(a);return!c(a)&&!D(a)&&("array"===d||0===b||"number"==typeof b&&0<b&&b-1 in a)}a.fn=a.prototype={jquery:aw,constructor:a,length:0,toArray:function(){return t.call(this)},get:function(a){return null==a?t.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(c){var b=a.merge(this.constructor(),c);return b.prevObject=this,b},each:function(b){return a.each(this,b)},map:function(b){return this.pushStack(a.map(this,function(a,c){return b.call(a,c,a)}))},slice:function(){return this.pushStack(t.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(a.grep(this,function(b,a){return(a+1)%2}))},odd:function(){return this.pushStack(a.grep(this,function(b,a){return a%2}))},eq:function(b){var c=this.length,a=+b+(b<0?c:0);return this.pushStack(0<=a&&a<c?[this[a]]:[])},end:function(){return this.prevObject||this.constructor()},push:ag,sort:q.sort,splice:q.splice},a.extend=a.fn.extend=function(){var i,f,g,d,h,k,b=arguments[0]||{},e=1,l=arguments.length,j=!1;for("boolean"==typeof b&&(j=b,b=arguments[e]||{},e++),"object"==typeof b||c(b)||(b={}),e===l&&(b=this,e--);e<l;e++)if(null!=(i=arguments[e]))for(f in i)d=i[f],"__proto__"!==f&&b!==d&&(j&&d&&(a.isPlainObject(d)||(h=Array.isArray(d)))?(g=b[f],k=h&&!Array.isArray(g)?[]:h||a.isPlainObject(g)?g:{},h=!1,b[f]=a.extend(j,k,d)):void 0!==d&&(b[f]=d));return b},a.extend({expando:"jQuery"+(aw+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==bL.call(a))&&(!(b=bB(a))||"function"==typeof(c=$.call(b,"constructor")&&b.constructor)&&bF.call(c)===bX)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},globalEval:function(b,a,c){aN(b,{nonce:a&&a.nonce},c)},each:function(b,c){var d,a=0;if(aH(b)){for(d=b.length;a<d;a++)if(!1===c.call(b[a],a,b[a]))break}else for(a in b)if(!1===c.call(b[a],a,b[a]))break;return b},makeArray:function(b,d){var c=d||[];return null!=b&&(aH(Object(b))?a.merge(c,"string"==typeof b?[b]:b):ag.call(c,b)),c},inArray:function(b,a,c){return null==a?-1:ad.call(a,b,c)},merge:function(a,c){for(var e=+c.length,b=0,d=a.length;b<e;b++)a[d++]=c[b];return a.length=d,a},grep:function(b,d,e){for(var c=[],a=0,f=b.length,g=!e;a<f;a++)!d(b[a],a)!==g&&c.push(b[a]);return c},map:function(b,e,f){var g,c,a=0,d=[];if(aH(b))for(g=b.length;a<g;a++)null!=(c=e(b[a],a,f))&&d.push(c);else for(a in b)null!=(c=e(b[a],a,f))&&d.push(c);return bD(d)},guid:1,support:f}),"function"==typeof Symbol&&(a.fn[Symbol.iterator]=q[Symbol.iterator]),a.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(b,a){aa["[object "+a+"]"]=a.toLowerCase()}),s=function(W){var y,e,a,H,ab,A,U,Z,J,r,x,p,c,h,i,g,t,L,B,f="sizzle"+1*new Date,l=W.document,o=0,ak=0,ae=F(),ag=F(),X=F(),C=F(),N=function(a,b){return a===b&&(x=!0),0},al={}.hasOwnProperty,s=[],am=s.pop,ax=s.push,q=s.push,ac=s.slice,u=function(b,c){for(var a=0,d=b.length;a<d;a++)if(b[a]===c)return a;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",b="[\\x20\\t\\r\\n\\f]",w="(?:\\\\[\\da-fA-F]{1,6}"+b+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",ah="\\["+b+"*("+w+")(?:"+b+"*([*^$|!~]?=)"+b+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+w+"))|)"+b+"*\\]",O=":("+w+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ah+")*)|.*)\\)|)",ay=new RegExp(b+"+","g"),G=new RegExp("^"+b+"+|((?:^|[^\\\\])(?:\\\\.)*)"+b+"+$","g"),at=new RegExp("^"+b+"*,"+b+"*"),aa=new RegExp("^"+b+"*([>+~]|"+b+")"+b+"*"),aw=new RegExp(b+"|>"),av=new RegExp(O),au=new RegExp("^"+w+"$"),I={ID:new RegExp("^#("+w+")"),CLASS:new RegExp("^\\.("+w+")"),TAG:new RegExp("^("+w+"|[*])"),ATTR:new RegExp("^"+ah),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+b+"*(even|odd|(([+-]|)(\\d*)n|)"+b+"*(?:([+-]|)"+b+"*(\\d+)|))"+b+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+b+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+b+"*((?:-\\d)?\\d*)"+b+"*\\)|)(?=[^-]|$)","i")},ar=/HTML$/i,aj=/^(?:input|select|textarea|button)$/i,ap=/^h\d$/i,z=/^[^{]+\{\s*\[native \w/,aq=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,S=/[+~]/,n=new RegExp("\\\\[\\da-fA-F]{1,6}"+b+"?|\\\\([^\\r\\n\\f])","g"),m=function(b,c){var a="0x"+b.slice(1)-65536;return c||(a<0?String.fromCharCode(a+65536):String.fromCharCode(a>>10|55296,1023&a|56320))},ad=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,$=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},af=function(){p()},az=D(function(a){return!0===a.disabled&&"fieldset"===a.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{q.apply(s=ac.call(l.childNodes),l.childNodes),s[l.childNodes.length].nodeType}catch(a){q={apply:s.length?function(a,b){ax.apply(a,ac.call(b))}:function(a,c){for(var b=a.length,d=0;a[b++]=c[d++];);a.length=b-1}}}function d(d,a,b,t){var j,r,k,h,n,o,s,m=a&&a.ownerDocument,l=a?a.nodeType:9;if(b=b||[],"string"!=typeof d||!d||1!==l&&9!==l&&11!==l)return b;if(!t&&(p(a),a=a||c,i)){if(11!==l&&(n=aq.exec(d)))if(j=n[1]){if(9===l){{if(!(k=a.getElementById(j)))return b;if(k.id===j)return b.push(k),b}}else if(m&&(k=m.getElementById(j))&&B(a,k)&&k.id===j)return b.push(k),b}else{if(n[2])return q.apply(b,a.getElementsByTagName(d)),b;if((j=n[3])&&e.getElementsByClassName&&a.getElementsByClassName)return q.apply(b,a.getElementsByClassName(j)),b}if(e.qsa&&!C[d+" "]&&(!g||!g.test(d))&&(1!==l||"object"!==a.nodeName.toLowerCase())){if(s=d,m=a,1===l&&(aw.test(d)||aa.test(d))){for((m=S.test(d)&&M(a.parentNode)||a)===a&&e.scope||((h=a.getAttribute("id"))?h=h.replace(ad,$):a.setAttribute("id",h=f)),r=(o=A(d)).length;r--;)o[r]=(h?"#"+h:":scope")+" "+E(o[r]);s=o.join(",")}try{return q.apply(b,m.querySelectorAll(s)),b}catch(a){C(d,!0)}finally{h===f&&a.removeAttribute("id")}}}return Z(d.replace(G,"$1"),a,b,t)}function F(){var b=[];return function c(d,e){return b.push(d+" ")>a.cacheLength&&delete c[b.shift()],c[d+" "]=e}}function k(a){return a[f]=!0,a}function j(b){var a=c.createElement("fieldset");try{return!!b(a)}catch(a){return!1}finally{a.parentNode&&a.parentNode.removeChild(a),a=null}}function Q(d,e){for(var b=d.split("|"),c=b.length;c--;)a.attrHandle[b[c]]=e}function _(b,c){var a=c&&b,d=a&&1===b.nodeType&&1===c.nodeType&&b.sourceIndex-c.sourceIndex;if(d)return d;if(a)while(a=a.nextSibling)if(a===c)return-1;return b?1:-1}function an(a){return function(b){return"input"===b.nodeName.toLowerCase()&&b.type===a}}function ao(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ai(a){return function(b){return"form"in b?b.parentNode&&!1===b.disabled?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&az(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function v(a){return k(function(b){return b=+b,k(function(c,g){for(var d,e=a([],c.length,b),f=e.length;f--;)c[d=e[f]]&&(c[d]=!(g[d]=c[d]))})})}function M(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}for(y in e=d.support={},ab=d.isXML=function(a){var c=a&&a.namespaceURI,b=a&&(a.ownerDocument||a).documentElement;return!ar.test(c||b&&b.nodeName||"HTML")},p=d.setDocument=function(o){var p,d,k=o?o.ownerDocument||o:l;return k!=c&&9===k.nodeType&&k.documentElement&&(h=(c=k).documentElement,i=!ab(c),l!=c&&(d=c.defaultView)&&d.top!==d&&(d.addEventListener?d.addEventListener("unload",af,!1):d.attachEvent&&d.attachEvent("onunload",af)),e.scope=j(function(a){return h.appendChild(a).appendChild(c.createElement("div")),"undefined"!=typeof a.querySelectorAll&&!a.querySelectorAll(":scope fieldset div").length}),e.attributes=j(function(a){return a.className="i",!a.getAttribute("className")}),e.getElementsByTagName=j(function(a){return a.appendChild(c.createComment("")),!a.getElementsByTagName("*").length}),e.getElementsByClassName=z.test(c.getElementsByClassName),e.getById=j(function(a){return h.appendChild(a).id=f,!c.getElementsByName||!c.getElementsByName(f).length}),e.getById?(a.filter.ID=function(a){var b=a.replace(n,m);return function(a){return a.getAttribute("id")===b}},a.find.ID=function(c,a){if("undefined"!=typeof a.getElementById&&i){var b=a.getElementById(c);return b?[b]:[]}}):(a.filter.ID=function(a){var b=a.replace(n,m);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},a.find.ID=function(b,d){if("undefined"!=typeof d.getElementById&&i){var c,e,f,a=d.getElementById(b);if(a){if((c=a.getAttributeNode("id"))&&c.value===b)return[a];for(f=d.getElementsByName(b),e=0;a=f[e++];)if((c=a.getAttributeNode("id"))&&c.value===b)return[a]}return[]}}),a.find.TAG=e.getElementsByTagName?function(b,a){return"undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b):e.qsa?a.querySelectorAll(b):void 0}:function(b,e){var a,c=[],f=0,d=e.getElementsByTagName(b);if("*"===b){while(a=d[f++])1===a.nodeType&&c.push(a);return c}return d},a.find.CLASS=e.getElementsByClassName&&function(b,a){if("undefined"!=typeof a.getElementsByClassName&&i)return a.getElementsByClassName(b)},t=[],g=[],(e.qsa=z.test(c.querySelectorAll))&&(j(function(a){var d;h.appendChild(a).innerHTML="<a id='"+f+"'></a><select id='"+f+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+b+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||g.push("\\["+b+"*(?:value|"+R+")"),a.querySelectorAll("[id~="+f+"-]").length||g.push("~="),(d=c.createElement("input")).setAttribute("name",""),a.appendChild(d),a.querySelectorAll("[name='']").length||g.push("\\["+b+"*name"+b+"*="+b+"*(?:''|\"\")"),a.querySelectorAll(":checked").length||g.push(":checked"),a.querySelectorAll("a#"+f+"+*").length||g.push(".#.+[+~]"),a.querySelectorAll("\\"),g.push("[\\r\\n\\f]")}),j(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var d=c.createElement("input");d.setAttribute("type","hidden"),a.appendChild(d).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&g.push("name"+b+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),h.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),g.push(",.*:")})),(e.matchesSelector=z.test(L=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&j(function(a){e.disconnectedMatch=L.call(a,"*"),L.call(a,"[s!='']:x"),t.push("!=",O)}),g=g.length&&new RegExp(g.join("|")),t=t.length&&new RegExp(t.join("|")),p=z.test(h.compareDocumentPosition),B=p||z.test(h.contains)?function(a,c){var d=9===a.nodeType?a.documentElement:a,b=c&&c.parentNode;return a===b||!(!b||1!==b.nodeType||!(d.contains?d.contains(b):a.compareDocumentPosition&&16&a.compareDocumentPosition(b)))}:function(b,a){if(a)while(a=a.parentNode)if(a===b)return!0;return!1},N=p?function(a,b){if(a===b)return x=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d||(1&(d=(a.ownerDocument||a)==(b.ownerDocument||b)?a.compareDocumentPosition(b):1)||!e.sortDetached&&b.compareDocumentPosition(a)===d?a==c||a.ownerDocument==l&&B(l,a)?-1:b==c||b.ownerDocument==l&&B(l,b)?1:r?u(r,a)-u(r,b):0:4&d?-1:1)}:function(d,e){if(d===e)return x=!0,0;var a,b=0,h=d.parentNode,i=e.parentNode,f=[d],g=[e];if(!h||!i)return d==c?-1:e==c?1:h?-1:i?1:r?u(r,d)-u(r,e):0;if(h===i)return _(d,e);for(a=d;a=a.parentNode;)f.unshift(a);for(a=e;a=a.parentNode;)g.unshift(a);while(f[b]===g[b])b++;return b?_(f[b],g[b]):f[b]==l?-1:g[b]==l?1:0}),c},d.matches=function(a,b){return d(a,null,null,b)},d.matchesSelector=function(b,a){if(p(b),e.matchesSelector&&i&&!C[a+" "]&&(!t||!t.test(a))&&(!g||!g.test(a)))try{var f=L.call(b,a);if(f||e.disconnectedMatch||b.document&&11!==b.document.nodeType)return f}catch(b){C(a,!0)}return 0<d(a,c,null,[b]).length},d.contains=function(a,b){return(a.ownerDocument||a)!=c&&p(a),B(a,b)},d.attr=function(b,d){(b.ownerDocument||b)!=c&&p(b);var g=a.attrHandle[d.toLowerCase()],f=g&&al.call(a.attrHandle,d.toLowerCase())?g(b,d,!i):void 0;return void 0!==f?f:e.attributes||!i?b.getAttribute(d):(f=b.getAttributeNode(d))&&f.specified?f.value:null},d.escape=function(a){return(a+"").replace(ad,$)},d.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},d.uniqueSort=function(a){var d,f=[],b=0,c=0;if(x=!e.detectDuplicates,r=!e.sortStable&&a.slice(0),a.sort(N),x){while(d=a[c++])d===a[c]&&(b=f.push(c));while(b--)a.splice(f[b],1)}return r=null,a},H=d.getText=function(a){var d,c="",e=0,b=a.nodeType;if(b){if(1===b||9===b||11===b){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=H(a)}else if(3===b||4===b)return a.nodeValue}else while(d=a[e++])c+=H(d);return c},(a=d.selectors={cacheLength:50,createPseudo:k,match:I,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(n,m),a[3]=(a[3]||a[4]||a[5]||"").replace(n,m),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||d.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&d.error(a[0]),a},PSEUDO:function(a){var c,b=!a[6]&&a[2];return I.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":b&&av.test(b)&&(c=A(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(a[0]=a[0].slice(0,c),a[2]=b.slice(0,c)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(n,m).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var c=ae[a+" "];return c||(c=new RegExp("(^|"+b+")"+a+"("+b+"|$)"))&&ae(a,function(a){return c.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(c,b,a){return function(f){var e=d.attr(f,c);return null==e?"!="===b:!b||(e+="","="===b?e===a:"!="===b?e!==a:"^="===b?a&&0===e.indexOf(a):"*="===b?a&&-1<e.indexOf(a):"$="===b?a&&e.slice(-a.length)===a:"~="===b?-1<(" "+e.replace(ay," ")+" ").indexOf(a):"|="===b&&(e===a||e.slice(0,a.length+1)===a+"-"))}},CHILD:function(a,h,i,c,e){var g="nth"!==a.slice(0,3),d="last"!==a.slice(-4),b="of-type"===h;return 1===c&&0===e?function(a){return!!a.parentNode}:function(l,v,u){var m,r,k,h,j,p,q=g!==d?"nextSibling":"previousSibling",n=l.parentNode,t=b&&l.nodeName.toLowerCase(),s=!u&&!b,i=!1;if(n){if(g){while(q){for(h=l;h=h[q];)if(b?h.nodeName.toLowerCase()===t:1===h.nodeType)return!1;p=q="only"===a&&!p&&"nextSibling"}return!0}if(p=[d?n.firstChild:n.lastChild],d&&s){for(i=(j=(m=(r=(k=(h=n)[f]||(h[f]={}))[h.uniqueID]||(k[h.uniqueID]={}))[a]||[])[0]===o&&m[1])&&m[2],h=j&&n.childNodes[j];h=++j&&h&&h[q]||(i=j=0)||p.pop();)if(1===h.nodeType&&++i&&h===l){r[a]=[o,j,i];break}}else if(s&&(i=j=(m=(r=(k=(h=l)[f]||(h[f]={}))[h.uniqueID]||(k[h.uniqueID]={}))[a]||[])[0]===o&&m[1]),!1===i)while(h=++j&&h&&h[q]||(i=j=0)||p.pop())if((b?h.nodeName.toLowerCase()===t:1===h.nodeType)&&++i&&(s&&((r=(k=h[f]||(h[f]={}))[h.uniqueID]||(k[h.uniqueID]={}))[a]=[o,i]),h===l))break;return(i-=e)===c||i%c==0&&0<=i/c}}},PSEUDO:function(b,e){var g,c=a.pseudos[b]||a.setFilters[b.toLowerCase()]||d.error("unsupported pseudo: "+b);return c[f]?c(e):1<c.length?(g=[b,b,"",e],a.setFilters.hasOwnProperty(b.toLowerCase())?k(function(a,g){for(var f,b=c(a,e),d=b.length;d--;)a[f=u(a,b[d])]=!(g[f]=b[d])}):function(a){return c(a,0,g)}):c}},pseudos:{not:k(function(d){var a=[],c=[],b=U(d.replace(G,"$1"));return b[f]?k(function(c,e,h,f){for(var d,g=b(c,null,f,[]),a=c.length;a--;)(d=g[a])&&(c[a]=!(e[a]=d))}):function(d,f,e){return a[0]=d,b(a,null,e,c),a[0]=null,!c.pop()}}),has:k(function(a){return function(b){return 0<d(a,b).length}}),contains:k(function(a){return a=a.replace(n,m),function(b){return-1<(b.textContent||H(b)).indexOf(a)}}),lang:k(function(a){return au.test(a||"")||d.error("unsupported lang: "+a),a=a.replace(n,m).toLowerCase(),function(b){var c;do if(c=i?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return(c=c.toLowerCase())===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType)return!1}}),target:function(b){var a=W.location&&W.location.hash;return a&&a.slice(1)===b.id},root:function(a){return a===h},focus:function(a){return a===c.activeElement&&(!c.hasFocus||c.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:ai(!1),disabled:ai(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,!0===a.selected},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(b){return!a.pseudos.empty(b)},header:function(a){return ap.test(a.nodeName)},input:function(a){return aj.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:v(function(){return[0]}),last:v(function(b,a){return[a-1]}),eq:v(function(c,b,a){return[a<0?a+b:a]}),even:v(function(b,c){for(var a=0;a<c;a+=2)b.push(a);return b}),odd:v(function(b,c){for(var a=1;a<c;a+=2)b.push(a);return b}),lt:v(function(c,b,a){for(var d=a<0?a+b:b<a?b:a;0<=--d;)c.push(d);return c}),gt:v(function(b,c,a){for(var d=a<0?a+c:a;++d<c;)b.push(d);return b})}}).pseudos.nth=a.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})a.pseudos[y]=an(y);for(y in{submit:!0,reset:!0})a.pseudos[y]=ao(y);function Y(){}function E(b){for(var a=0,d=b.length,c="";a<d;a++)c+=b[a].value;return c}function D(b,c,i){var a=c.dir,d=c.next,e=d||a,g=i&&"parentNode"===e,h=ak++;return c.first?function(c,d,e){while(c=c[a])if(1===c.nodeType||g)return b(c,d,e);return!1}:function(c,l,j){var i,k,m,n=[o,h];if(j){while(c=c[a])if((1===c.nodeType||g)&&b(c,l,j))return!0}else while(c=c[a])if(1===c.nodeType||g)if(k=(m=c[f]||(c[f]={}))[c.uniqueID]||(m[c.uniqueID]={}),d&&d===c.nodeName.toLowerCase())c=c[a]||c;else{if((i=k[e])&&i[0]===o&&i[1]===h)return n[2]=i[2];if((k[e]=n)[2]=b(c,l,j))return!0}return!1}}function T(a){return 1<a.length?function(c,d,e){for(var b=a.length;b--;)if(!a[b](c,d,e))return!1;return!0}:a[0]}function K(c,f,d,g,h){for(var b,e=[],a=0,i=c.length,j=null!=f;a<i;a++)(b=c[a])&&(d&&!d(b,g,h)||(e.push(b),j&&f.push(a)));return e}function P(c,g,e,b,a,h){return b&&!b[f]&&(b=P(b)),a&&!a[f]&&(a=P(a,h)),k(function(m,l,k,n){var i,h,j,r=[],p=[],s=l.length,t=m||function(e,b,c){for(var a=0,f=b.length;a<f;a++)d(e,b[a],c);return c}(g||"*",k.nodeType?[k]:k,[]),o=!c||!m&&g?t:K(t,r,c,k,n),f=e?a||(m?c:s||b)?[]:l:o;if(e&&e(o,f,k,n),b)for(i=K(f,p),b(i,[],k,n),h=i.length;h--;)(j=i[h])&&(f[p[h]]=!(o[p[h]]=j));if(m){if(a||c){if(a){for(i=[],h=f.length;h--;)(j=f[h])&&i.push(o[h]=j);a(null,f=[],i,n)}for(h=f.length;h--;)(j=f[h])&&-1<(i=a?u(m,j):r[h])&&(m[i]=!(l[i]=j))}}else f=K(f===l?f.splice(s,f.length):f),a?a(null,l,f,n):q.apply(l,f)})}function V(b){for(var h,e,d,i=b.length,j=a.relative[b[0].type],k=j||a.relative[" "],c=j?1:0,l=D(function(a){return a===h},k,!0),m=D(function(a){return-1<u(h,a)},k,!0),g=[function(c,a,b){var d=!j&&(b||a!==J)||((h=a).nodeType?l(c,a,b):m(c,a,b));return h=null,d}];c<i;c++)if(e=a.relative[b[c].type])g=[D(T(g),e)];else{if((e=a.filter[b[c].type].apply(null,b[c].matches))[f]){for(d=++c;d<i;d++)if(a.relative[b[d].type])break;return P(1<c&&T(g),1<c&&E(b.slice(0,c-1).concat({value:" "===b[c-2].type?"*":""})).replace(G,"$1"),e,c<d&&V(b.slice(c,d)),d<i&&V(b=b.slice(d)),d<i&&E(b))}g.push(e)}return T(g)}return Y.prototype=a.filters=a.pseudos,a.setFilters=new Y,A=d.tokenize=function(g,k){var e,c,i,f,b,h,j,l=ag[g+" "];if(l)return k?0:l.slice(0);for(b=g,h=[],j=a.preFilter;b;){for(f in e&&!(c=at.exec(b))||(c&&(b=b.slice(c[0].length)||b),h.push(i=[])),e=!1,(c=aa.exec(b))&&(e=c.shift(),i.push({value:e,type:c[0].replace(G," ")}),b=b.slice(e.length)),a.filter)!(c=I[f].exec(b))||j[f]&&!(c=j[f](c))||(e=c.shift(),i.push({value:e,type:f,matches:c}),b=b.slice(e.length));if(!e)break}return k?b.length:b?d.error(g):ag(g,h).slice(0)},U=d.compile=function(e,g){var j,l,r,h,m,n,s=[],t=[],b=X[e+" "];if(!b){for(g||(g=A(e)),j=g.length;j--;)(b=V(g[j]))[f]?s.push(b):t.push(b);(b=X(e,(l=t,h=0<(r=s).length,m=0<l.length,n=function(s,k,w,u,g){var e,t,j,n=0,b="0",v=s&&[],f=[],x=J,y=s||m&&a.find.TAG("*",g),z=o+=null==x?1:Math.random()||.1,A=y.length;for(g&&(J=k==c||k||g);b!==A&&null!=(e=y[b]);b++){if(m&&e){for(t=0,k||e.ownerDocument==c||(p(e),w=!i);j=l[t++];)if(j(e,k||c,w)){u.push(e);break}g&&(o=z)}h&&((e=!j&&e)&&n--,s&&v.push(e))}if(n+=b,h&&b!==n){for(t=0;j=r[t++];)j(v,f,k,w);if(s){if(0<n)while(b--)v[b]||f[b]||(f[b]=am.call(u));f=K(f)}q.apply(u,f),g&&!s&&0<f.length&&1<n+r.length&&d.uniqueSort(u)}return g&&(o=z,J=x),v},h?k(n):n))).selector=e}return b},Z=d.select=function(c,b,e,f){var h,d,g,l,o,k="function"==typeof c&&c,j=!f&&A(c=k.selector||c);if(e=e||[],1===j.length){if(2<(d=j[0]=j[0].slice(0)).length&&"ID"===(g=d[0]).type&&9===b.nodeType&&i&&a.relative[d[1].type]){if(!(b=(a.find.ID(g.matches[0].replace(n,m),b)||[])[0]))return e;k&&(b=b.parentNode),c=c.slice(d.shift().value.length)}for(h=I.needsContext.test(c)?0:d.length;h--;){if(g=d[h],a.relative[l=g.type])break;if((o=a.find[l])&&(f=o(g.matches[0].replace(n,m),S.test(d[0].type)&&M(b.parentNode)||b))){if(d.splice(h,1),!(c=f.length&&E(d)))return q.apply(e,f),e;break}}}return(k||U(c,j))(f,b,!i,e,!b||S.test(c)&&M(b.parentNode)||b),e},e.sortStable=f.split("").sort(N).join("")===f,e.detectDuplicates=!!x,p(),e.sortDetached=j(function(a){return 1&a.compareDocumentPosition(c.createElement("fieldset"))}),j(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||Q("type|href|height|width",function(b,a,c){if(!c)return b.getAttribute(a,"type"===a.toLowerCase()?1:2)}),e.attributes&&j(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||Q("value",function(a,c,b){if(!b&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),j(function(a){return null==a.getAttribute("disabled")})||Q(R,function(c,a,d){var b;if(!d)return!0===c[a]?a.toLowerCase():(b=c.getAttributeNode(a))&&b.specified?b.value:null}),d}(d),a.find=s,a.expr=s.selectors,a.expr[":"]=a.expr.pseudos,a.uniqueSort=a.unique=s.uniqueSort,a.text=s.getText,a.isXMLDoc=s.isXML,a.contains=s.contains,a.escapeSelector=s.escape,w=function(b,e,c){for(var d=[],f=void 0!==c;(b=b[e])&&9!==b.nodeType;)if(1===b.nodeType){if(f&&a(b).is(c))break;d.push(b)}return d},ax=function(a,c){for(var b=[];a;a=a.nextSibling)1===a.nodeType&&a!==c&&b.push(a);return b},aB=a.expr.match.needsContext;function j(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}aE=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function aG(d,b,e){return c(b)?a.grep(d,function(a,c){return!!b.call(a,c,a)!==e}):b.nodeType?a.grep(d,function(a){return a===b!==e}):"string"!=typeof b?a.grep(d,function(a){return-1<ad.call(b,a)!==e}):a.filter(b,d,e)}a.filter=function(b,c,e){var d=c[0];return e&&(b=":not("+b+")"),1===c.length&&1===d.nodeType?a.find.matchesSelector(d,b)?[d]:[]:a.find.matches(b,a.grep(c,function(a){return 1===a.nodeType}))},a.fn.extend({find:function(d){var b,c,e=this.length,f=this;if("string"!=typeof d)return this.pushStack(a(d).filter(function(){for(b=0;b<e;b++)if(a.contains(f[b],this))return!0}));for(c=this.pushStack([]),b=0;b<e;b++)a.find(d,f[b],c);return 1<e?a.uniqueSort(c):c},filter:function(a){return this.pushStack(aG(this,a||[],!1))},not:function(a){return this.pushStack(aG(this,a||[],!0))},is:function(b){return!!aG(this,"string"==typeof b&&aB.test(b)?a(b):b||[],!1).length}}),bm=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,(a.fn.init=function(d,b,g){var f,h;if(!d)return this;if(g=g||bn,"string"==typeof d){if(!(f="<"===d[0]&&">"===d[d.length-1]&&3<=d.length?[null,d,null]:bm.exec(d))||!f[1]&&b)return!b||b.jquery?(b||g).find(d):this.constructor(b).find(d);if(f[1]){if(b=b instanceof a?b[0]:b,a.merge(this,a.parseHTML(f[1],b&&b.nodeType?b.ownerDocument||b:e,!0)),aE.test(f[1])&&a.isPlainObject(b))for(f in b)c(this[f])?this[f](b[f]):this.attr(f,b[f]);return this}return(h=e.getElementById(f[2]))&&(this[0]=h,this.length=1),this}return d.nodeType?(this[0]=d,this.length=1,this):c(d)?void 0!==g.ready?g.ready(d):d(a):a.makeArray(d,this)}).prototype=a.fn,bn=a(e),bk=/^(?:parents|prev(?:Until|All))/,bi={children:!0,contents:!0,next:!0,prev:!0};function bg(a,b){while((a=a[b])&&1!==a.nodeType);return a}a.fn.extend({has:function(c){var b=a(c,this),d=b.length;return this.filter(function(){for(var c=0;c<d;c++)if(a.contains(this,b[c]))return!0})},closest:function(c,g){var b,e=0,h=this.length,d=[],f="string"!=typeof c&&a(c);if(!aB.test(c))for(;e<h;e++)for(b=this[e];b&&b!==g;b=b.parentNode)if(b.nodeType<11&&(f?-1<f.index(b):1===b.nodeType&&a.find.matchesSelector(b,c))){d.push(b);break}return this.pushStack(1<d.length?a.uniqueSort(d):d)},index:function(b){return b?"string"==typeof b?ad.call(a(b),this[0]):ad.call(this,b.jquery?b[0]:b):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(b,c){return this.pushStack(a.uniqueSort(a.merge(this.get(),a(b,c))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),a.each({parent:function(b){var a=b.parentNode;return a&&11!==a.nodeType?a:null},parents:function(a){return w(a,"parentNode")},parentsUntil:function(a,c,b){return w(a,"parentNode",b)},next:function(a){return bg(a,"nextSibling")},prev:function(a){return bg(a,"previousSibling")},nextAll:function(a){return w(a,"nextSibling")},prevAll:function(a){return w(a,"previousSibling")},nextUntil:function(a,c,b){return w(a,"nextSibling",b)},prevUntil:function(a,c,b){return w(a,"previousSibling",b)},siblings:function(a){return ax((a.parentNode||{}).firstChild,a)},children:function(a){return ax(a.firstChild)},contents:function(b){return null!=b.contentDocument&&bB(b.contentDocument)?b.contentDocument:(j(b,"template")&&(b=b.content||b),a.merge([],b.childNodes))}},function(b,c){a.fn[b]=function(f,e){var d=a.map(this,c,f);return"Until"!==b.slice(-5)&&(e=f),e&&"string"==typeof e&&(d=a.filter(e,d)),1<this.length&&(bi[b]||a.uniqueSort(d),bk.test(b)&&d.reverse()),this.pushStack(d)}}),m=/[^\x20\t\r\n\f]+/g;function E(a){return a}function U(a){throw a}function bj(a,d,e,f){var b;try{a&&c(b=a.promise)?b.call(a).done(d).fail(e):a&&c(b=a.then)?b.call(a,d,e):d.apply(void 0,[a].slice(f))}catch(a){e.apply(void 0,[a])}}a.Callbacks=function(e){var n,k,i,d,o,h,b,g,f,l,j;return e="string"==typeof e?(n=e,k={},a.each(n.match(m)||[],function(b,a){k[a]=!0}),k):a.extend({},e),b=[],g=[],f=-1,l=function(){for(h=h||e.once,o=i=!0;g.length;f=-1)for(d=g.shift();++f<b.length;)!1===b[f].apply(d[0],d[1])&&e.stopOnFalse&&(f=b.length,d=!1);e.memory||(d=!1),i=!1,h&&(b=d?[]:"")},j={add:function(){return b&&(d&&!i&&(f=b.length-1,g.push(d)),function d(f){a.each(f,function(f,a){c(a)?e.unique&&j.has(a)||b.push(a):a&&a.length&&"string"!==I(a)&&d(a)})}(arguments),d&&!i&&l()),this},remove:function(){return a.each(arguments,function(e,d){for(var c;-1<(c=a.inArray(d,b,c));)b.splice(c,1),c<=f&&f--}),this},has:function(c){return c?-1<a.inArray(c,b):0<b.length},empty:function(){return b&&(b=[]),this},disable:function(){return h=g=[],b=d="",this},disabled:function(){return!b},lock:function(){return h=g=[],d||i||(b=d=""),this},locked:function(){return!!h},fireWith:function(b,a){return h||(a=[b,(a=a||[]).slice?a.slice():a],g.push(a),i||l()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!o}},j},a.extend({Deferred:function(g){var e=[["notify","progress",a.Callbacks("memory"),a.Callbacks("memory"),2],["resolve","done",a.Callbacks("once memory"),a.Callbacks("once memory"),0,"resolved"],["reject","fail",a.Callbacks("once memory"),a.Callbacks("once memory"),1,"rejected"]],h="pending",f={state:function(){return h},always:function(){return b.done(arguments).fail(arguments),this},catch:function(a){return f.then(null,a)},pipe:function(){var d=arguments;return a.Deferred(function(f){a.each(e,function(g,a){var e=c(d[a[4]])&&d[a[4]];b[a[1]](function(){var b=e&&e.apply(this,arguments);b&&c(b.promise)?b.promise().progress(f.notify).done(f.resolve).fail(f.reject):f[a[0]+"With"](this,e?[b]:arguments)})}),d=null}).promise()},then:function(g,h,i){var b=0;function f(h,e,i,g){return function(){var j=this,k=arguments,m=function(){var a,d;if(!(h<b)){if((a=i.apply(j,k))===e.promise())throw new TypeError("Thenable self-resolution");d=a&&("object"==typeof a||"function"==typeof a)&&a.then,c(d)?g?d.call(a,f(b,e,E,g),f(b,e,U,g)):(b++,d.call(a,f(b,e,E,g),f(b,e,U,g),f(b,e,E,e.notifyWith))):(i!==E&&(j=void 0,k=[a]),(g||e.resolveWith)(j,k))}},l=g?m:function(){try{m()}catch(c){a.Deferred.exceptionHook&&a.Deferred.exceptionHook(c,l.stackTrace),b<=h+1&&(i!==U&&(j=void 0,k=[c]),e.rejectWith(j,k))}};h?l():(a.Deferred.getStackHook&&(l.stackTrace=a.Deferred.getStackHook()),d.setTimeout(l))}}return a.Deferred(function(a){e[0][3].add(f(0,a,c(i)?i:E,a.notifyWith)),e[1][3].add(f(0,a,c(g)?g:E)),e[2][3].add(f(0,a,c(h)?h:U))}).promise()},promise:function(b){return null!=b?a.extend(b,f):f}},b={};return a.each(e,function(d,a){var c=a[2],g=a[5];f[a[1]]=c.add,g&&c.add(function(){h=g},e[3-d][2].disable,e[3-d][3].disable,e[0][2].lock,e[0][3].lock),c.add(a[3].fire),b[a[0]]=function(){return b[a[0]+"With"](this===b?void 0:this,arguments),this},b[a[0]+"With"]=c.fireWith}),f.promise(b),g&&g.call(b,b),b},when:function(i){var f=arguments.length,b=f,h=Array(b),e=t.call(arguments),d=a.Deferred(),g=function(a){return function(b){h[a]=this,e[a]=1<arguments.length?t.call(arguments):b,--f||d.resolveWith(h,e)}};if(f<=1&&(bj(i,d.done(g(b)).resolve,d.reject,!f),"pending"===d.state()||c(e[b]&&e[b].then)))return d.then();while(b--)bj(e[b],g(b),d.reject);return d.promise()}}),bh=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/,a.Deferred.exceptionHook=function(a,b){d.console&&d.console.warn&&a&&bh.test(a.name)&&d.console.warn("jQuery.Deferred exception: "+a.message,a.stack,b)},a.readyException=function(a){d.setTimeout(function(){throw a})},W=a.Deferred();function V(){e.removeEventListener("DOMContentLoaded",V),d.removeEventListener("load",V),a.ready()}a.fn.ready=function(b){return W.then(b).catch(function(b){a.readyException(b)}),this},a.extend({isReady:!1,readyWait:1,ready:function(b){(!0===b?--a.readyWait:a.isReady)||(a.isReady=!0)!==b&&0<--a.readyWait||W.resolveWith(e,[a])}}),a.ready.then=W.then,"complete"===e.readyState||"loading"!==e.readyState&&!e.documentElement.doScroll?d.setTimeout(a.ready):(e.addEventListener("DOMContentLoaded",V),d.addEventListener("load",V)),n=function(d,b,f,g,j,k,h){var e=0,l=d.length,i=null==f;if("object"===I(f))for(e in j=!0,f)n(d,b,e,f[e],!0,k,h);else if(void 0!==g&&(j=!0,c(g)||(h=!0),i&&(h?(b.call(d,g),b=null):(i=b,b=function(b,d,c){return i.call(a(b),c)})),b))for(;e<l;e++)b(d[e],f,h?g:g.call(d[e],e,b(d[e],f)));return j?d:i?b.call(d):l?b(d[0],f):k},be=/^-ms-/,bc=/-([a-z])/g;function bW(b,a){return a.toUpperCase()}function p(a){return a.replace(be,"ms-").replace(bc,bW)}J=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function Q(){this.expando=a.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(a){var b=a[this.expando];return b||(b={},J(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(d,a,e){var b,c=this.cache(d);if("string"==typeof a)c[p(a)]=e;else for(b in a)c[p(b)]=a[b];return c},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][p(b)]},access:function(c,a,b){return void 0===a||a&&"string"==typeof a&&void 0===b?this.get(c,a):(this.set(c,a,b),void 0!==b?b:a)},remove:function(c,b){var e,d=c[this.expando];if(void 0!==d){if(void 0!==b)for(e=(b=Array.isArray(b)?b.map(p):(b=p(b))in d?[b]:b.match(m)||[]).length;e--;)delete d[b[e]];(void 0===b||a.isEmptyObject(d))&&(c.nodeType?c[this.expando]=void 0:delete c[this.expando])}},hasData:function(c){var b=c[this.expando];return void 0!==b&&!a.isEmptyObject(b)}},b=new Q,g=new Q,aZ=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,aW=/[A-Z]/g;function bo(c,d,b){var e,a;if(void 0===b&&1===c.nodeType)if(e="data-"+d.replace(aW,"-$&").toLowerCase(),"string"==typeof(b=c.getAttribute(e))){try{b="true"===(a=b)||"false"!==a&&("null"===a?null:a===+a+""?+a:aZ.test(a)?JSON.parse(a):a)}catch(a){}g.set(c,d,b)}else b=void 0;return b}a.extend({hasData:function(a){return g.hasData(a)||b.hasData(a)},data:function(a,b,c){return g.access(a,b,c)},removeData:function(a,b){g.remove(a,b)},_data:function(a,c,d){return b.access(a,c,d)},_removeData:function(a,c){b.remove(a,c)}}),a.fn.extend({data:function(c,i){var e,d,f,a=this[0],h=a&&a.attributes;if(void 0===c){if(this.length&&(f=g.get(a),1===a.nodeType&&!b.get(a,"hasDataAttrs"))){for(e=h.length;e--;)h[e]&&0===(d=h[e].name).indexOf("data-")&&(d=p(d.slice(5)),bo(a,d,f[d]));b.set(a,"hasDataAttrs",!0)}return f}return"object"==typeof c?this.each(function(){g.set(this,c)}):n(this,function(d){var b;if(a&&void 0===d)return void 0!==(b=g.get(a,c))?b:void 0!==(b=bo(a,c))?b:void 0;this.each(function(){g.set(this,c,d)})},null,i,1<arguments.length,null,!0)},removeData:function(a){return this.each(function(){g.remove(this,a)})}}),a.extend({queue:function(f,d,e){var c;if(f)return d=(d||"fx")+"queue",c=b.get(f,d),e&&(!c||Array.isArray(e)?c=b.access(f,d,a.makeArray(e)):c.push(e)),c||[]},dequeue:function(c,b){b=b||"fx";var d=a.queue(c,b),g=d.length,e=d.shift(),f=a._queueHooks(c,b);"inprogress"===e&&(e=d.shift(),g--),e&&("fx"===b&&d.unshift("inprogress"),delete f.stop,e.call(c,function(){a.dequeue(c,b)},f)),!g&&f&&f.empty.fire()},_queueHooks:function(c,e){var d=e+"queueHooks";return b.get(c,d)||b.access(c,d,{empty:a.Callbacks("once memory").add(function(){b.remove(c,[e+"queue",d])})})}}),a.fn.extend({queue:function(b,c){var d=2;return"string"!=typeof b&&(c=b,b="fx",d--),arguments.length<d?a.queue(this[0],b):void 0===c?this:this.each(function(){var d=a.queue(this,b,c);a._queueHooks(this,b),"fx"===b&&"inprogress"!==d[0]&&a.dequeue(this,b)})},dequeue:function(b){return this.each(function(){a.dequeue(this,b)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(c,f){var d,g=1,h=a.Deferred(),e=this,i=this.length,j=function(){--g||h.resolveWith(e,[e])};for("string"!=typeof c&&(f=c,c=void 0),c=c||"fx";i--;)(d=b.get(e[i],c+"queueHooks"))&&d.empty&&(g++,d.empty.add(j));return j(),h.promise(f)}}),aL=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,M=new RegExp("^(?:([+-])=|)("+aL+")([a-z%]*)$","i"),o=["Top","Right","Bottom","Left"],r=e.documentElement,u=function(b){return a.contains(b.ownerDocument,b)},bf={composed:!0},r.getRootNode&&(u=function(b){return a.contains(b.ownerDocument,b)||b.getRootNode(bf)===b.ownerDocument}),O=function(b,c){return"none"===(b=c||b).style.display||""===b.style.display&&u(b)&&"none"===a.css(b,"display")};function bp(g,e,c,f){var j,i,k=20,l=f?function(){return f.cur()}:function(){return a.css(g,e,"")},h=l(),d=c&&c[3]||(a.cssNumber[e]?"":"px"),b=g.nodeType&&(a.cssNumber[e]||"px"!==d&&+h)&&M.exec(a.css(g,e));if(b&&b[3]!==d){for(h/=2,d=d||b[3],b=+h||1;k--;)a.style(g,e,b+d),(1-i)*(1-(i=l()/h||.5))<=0&&(k=0),b/=i;b*=2,a.style(g,e,b+d),c=c||[]}return c&&(b=+b||+h||0,j=c[1]?b+(c[1]+1)*c[2]:+c[2],f&&(f.unit=d,f.start=b,f.end=j)),j}aJ={};function A(h,n){for(var k,d,l,g,j,i,e,f=[],c=0,m=h.length;c<m;c++)(d=h[c]).style&&(k=d.style.display,n?("none"===k&&(f[c]=b.get(d,"display")||null,f[c]||(d.style.display="")),""===d.style.display&&O(d)&&(f[c]=(e=j=g=void 0,j=(l=d).ownerDocument,i=l.nodeName,(e=aJ[i])||(g=j.body.appendChild(j.createElement(i)),e=a.css(g,"display"),g.parentNode.removeChild(g),"none"===e&&(e="block"),aJ[i]=e)))):"none"!==k&&(f[c]="none",b.set(d,"display",k)));for(c=0;c<m;c++)null!=f[c]&&(h[c].style.display=f[c]);return h}a.fn.extend({show:function(){return A(this,!0)},hide:function(){return A(this)},toggle:function(b){return"boolean"==typeof b?b?this.show():this.hide():this.each(function(){O(this)?a(this).show():a(this).hide()})}}),N=/^(?:checkbox|radio)$/i,az=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,ay=/^$|^module$|\/(?:java|ecma)script/i,y=e.createDocumentFragment().appendChild(e.createElement("div")),(X=e.createElement("input")).setAttribute("type","radio"),X.setAttribute("checked","checked"),X.setAttribute("name","t"),y.appendChild(X),f.checkClone=y.cloneNode(!0).cloneNode(!0).lastChild.checked,y.innerHTML="<textarea>x</textarea>",f.noCloneChecked=!!y.cloneNode(!0).lastChild.defaultValue,y.innerHTML="<option></option>",f.option=!!y.lastChild,i={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function h(b,c){var d;return d="undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(c||"*"):"undefined"!=typeof b.querySelectorAll?b.querySelectorAll(c||"*"):[],void 0===c||c&&j(b,c)?a.merge([b],d):d}function aA(c,d){for(var a=0,e=c.length;a<e;a++)b.set(c[a],"globalEval",!d||b.get(d[a],"globalEval"))}i.tbody=i.tfoot=i.colgroup=i.caption=i.thead,i.th=i.td,f.option||(i.optgroup=i.option=[1,"<select multiple='multiple'>","</select>"]),bA=/<|&#?\w+;/;function bt(l,k,q,p,o){for(var b,c,n,j,m,f,e=k.createDocumentFragment(),g=[],d=0,r=l.length;d<r;d++)if((b=l[d])||0===b)if("object"===I(b))a.merge(g,b.nodeType?[b]:b);else if(bA.test(b)){for(c=c||e.appendChild(k.createElement("div")),n=(az.exec(b)||["",""])[1].toLowerCase(),j=i[n]||i._default,c.innerHTML=j[1]+a.htmlPrefilter(b)+j[2],f=j[0];f--;)c=c.lastChild;a.merge(g,c.childNodes),(c=e.firstChild).textContent=""}else g.push(k.createTextNode(b));for(e.textContent="",d=0;b=g[d++];)if(p&&-1<a.inArray(b,p))o&&o.push(b);else if(m=u(b),c=h(e.appendChild(b),"script"),m&&aA(c),q)for(f=0;b=c[f++];)ay.test(b.type||"")&&q.push(b);return e}ar=/^([^.]*)(?:\.(.+)|)/;function K(){return!0}function C(){return!1}function bV(a,b){return a===function(){try{return e.activeElement}catch(a){}}()==("focus"===b)}function av(e,f,c,d,b,i){var g,h;if("object"==typeof f){for(h in"string"!=typeof c&&(d=d||c,c=void 0),f)av(e,h,c,d,f[h],i);return e}if(null==d&&null==b?(b=c,d=c=void 0):null==b&&("string"==typeof c?(b=d,d=void 0):(b=d,d=c,c=void 0)),!1===b)b=C;else if(!b)return e;return 1===i&&(g=b,(b=function(b){return a().off(b),g.apply(this,arguments)}).guid=g.guid||(g.guid=a.guid++)),e.each(function(){a.event.add(this,f,b,d,c)})}function Y(d,c,e){e?(b.set(d,c,!1),a.event.add(d,c,{namespace:!1,handler:function(f){var h,g,d=b.get(this,c);if(1&f.isTrigger&&this[c]){if(d.length)(a.event.special[c]||{}).delegateType&&f.stopPropagation();else if(d=t.call(arguments),b.set(this,c,d),h=e(this,c),this[c](),d!==(g=b.get(this,c))||h?b.set(this,c,!1):g={},d!==g)return f.stopImmediatePropagation(),f.preventDefault(),g&&g.value}else d.length&&(b.set(this,c,{value:a.event.trigger(a.extend(d[0],a.Event.prototype),d.slice(1),this)}),f.stopImmediatePropagation())}})):void 0===b.get(d,c)&&a.event.add(d,c,K)}a.event={global:{},add:function(g,p,d,s,e){var o,j,u,k,n,h,f,i,c,q,t,l=b.get(g);if(J(g))for(d.handler&&(d=(o=d).handler,e=o.selector),e&&a.find.matchesSelector(r,e),d.guid||(d.guid=a.guid++),(k=l.events)||(k=l.events=Object.create(null)),(j=l.handle)||(j=l.handle=function(b){return"undefined"!=typeof a&&a.event.triggered!==b.type?a.event.dispatch.apply(g,arguments):void 0}),n=(p=(p||"").match(m)||[""]).length;n--;)c=t=(u=ar.exec(p[n])||[])[1],q=(u[2]||"").split(".").sort(),c&&(f=a.event.special[c]||{},c=(e?f.delegateType:f.bindType)||c,f=a.event.special[c]||{},h=a.extend({type:c,origType:t,data:s,handler:d,guid:d.guid,selector:e,needsContext:e&&a.expr.match.needsContext.test(e),namespace:q.join(".")},o),(i=k[c])||((i=k[c]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(g,s,q,j)||g.addEventListener&&g.addEventListener(c,j)),f.add&&(f.add.call(g,h),h.handler.guid||(h.handler.guid=d.guid)),e?i.splice(i.delegateCount++,0,h):i.push(h),a.event.global[c]=!0)},remove:function(e,n,q,i,t){var l,r,h,j,k,d,f,g,c,p,s,o=b.hasData(e)&&b.get(e);if(o&&(j=o.events)){for(k=(n=(n||"").match(m)||[""]).length;k--;)if(c=s=(h=ar.exec(n[k])||[])[1],p=(h[2]||"").split(".").sort(),c){for(f=a.event.special[c]||{},g=j[c=(i?f.delegateType:f.bindType)||c]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),r=l=g.length;l--;)d=g[l],!t&&s!==d.origType||q&&q.guid!==d.guid||h&&!h.test(d.namespace)||i&&i!==d.selector&&("**"!==i||!d.selector)||(g.splice(l,1),d.selector&&g.delegateCount--,f.remove&&f.remove.call(e,d));r&&!g.length&&(f.teardown&&!1!==f.teardown.call(e,p,o.handle)||a.removeEvent(e,c,o.handle),delete j[c])}else for(c in j)a.event.remove(e,c+n[k],q,i,!0);a.isEmptyObject(j)&&b.remove(e,"handle events")}},dispatch:function(l){var d,k,j,f,e,i,h=new Array(arguments.length),c=a.event.fix(l),m=(b.get(this,"events")||Object.create(null))[c.type]||[],g=a.event.special[c.type]||{};for(h[0]=c,d=1;d<arguments.length;d++)h[d]=arguments[d];if(c.delegateTarget=this,!g.preDispatch||!1!==g.preDispatch.call(this,c)){for(i=a.event.handlers.call(this,c,m),d=0;(f=i[d++])&&!c.isPropagationStopped();)for(c.currentTarget=f.elem,k=0;(e=f.handlers[k++])&&!c.isImmediatePropagationStopped();)c.rnamespace&&!1!==e.namespace&&!c.rnamespace.test(e.namespace)||(c.handleObj=e,c.data=e.data,void 0!==(j=((a.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,h))&&!1===(c.result=j)&&(c.preventDefault(),c.stopPropagation()));return g.postDispatch&&g.postDispatch.call(this,c),c.result}},handlers:function(d,e){var f,k,c,g,h,j=[],i=e.delegateCount,b=d.target;if(i&&b.nodeType&&!("click"===d.type&&1<=d.button))for(;b!==this;b=b.parentNode||this)if(1===b.nodeType&&("click"!==d.type||!0!==b.disabled)){for(g=[],h={},f=0;f<i;f++)void 0===h[c=(k=e[f]).selector+" "]&&(h[c]=k.needsContext?-1<a(c,this).index(b):a.find(c,this,null,[b]).length),h[c]&&g.push(k);g.length&&j.push({elem:b,handlers:g})}return b=this,i<e.length&&j.push({elem:b,handlers:e.slice(i)}),j},addProp:function(b,d){Object.defineProperty(a.Event.prototype,b,{enumerable:!0,configurable:!0,get:c(d)?function(){if(this.originalEvent)return d(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[b]},set:function(a){Object.defineProperty(this,b,{enumerable:!0,configurable:!0,writable:!0,value:a})}})},fix:function(b){return b[a.expando]?b:new a.Event(b)},special:{load:{noBubble:!0},click:{setup:function(b){var a=this||b;return N.test(a.type)&&a.click&&j(a,"input")&&Y(a,"click",K),!1},trigger:function(b){var a=this||b;return N.test(a.type)&&a.click&&j(a,"input")&&Y(a,"click"),!0},_default:function(c){var a=c.target;return N.test(a.type)&&a.click&&j(a,"input")&&b.get(a,"click")||j(a,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},a.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},a.Event=function(b,c){if(!(this instanceof a.Event))return new a.Event(b,c);b&&b.type?(this.originalEvent=b,this.type=b.type,this.isDefaultPrevented=b.defaultPrevented||void 0===b.defaultPrevented&&!1===b.returnValue?K:C,this.target=b.target&&3===b.target.nodeType?b.target.parentNode:b.target,this.currentTarget=b.currentTarget,this.relatedTarget=b.relatedTarget):this.type=b,c&&a.extend(this,c),this.timeStamp=b&&b.timeStamp||Date.now(),this[a.expando]=!0},a.Event.prototype={constructor:a.Event,isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=K,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=K,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=K,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},a.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},a.event.addProp),a.each({focus:"focusin",blur:"focusout"},function(b,c){a.event.special[b]={setup:function(){return Y(this,b,bV),!1},trigger:function(){return Y(this,b),!0},_default:function(){return!0},delegateType:c}}),a.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(c,b){a.event.special[c]={delegateType:b,bindType:b,handle:function(c){var e,d=c.relatedTarget,f=c.handleObj;return d&&(d===this||a.contains(this,d))||(c.type=f.origType,e=f.handler.apply(this,arguments),c.type=b),e}}}),a.fn.extend({on:function(a,b,c,d){return av(this,a,b,c,d)},one:function(a,b,c,d){return av(this,a,b,c,d,1)},off:function(b,d,e){var c,f;if(b&&b.preventDefault&&b.handleObj)return c=b.handleObj,a(b.delegateTarget).off(c.namespace?c.origType+"."+c.namespace:c.origType,c.selector,c.handler),this;if("object"==typeof b){for(f in b)this.off(f,d,b[f]);return this}return!1!==d&&"function"!=typeof d||(e=d,d=void 0),!1===e&&(e=C),this.each(function(){a.event.remove(this,b,e,d)})}}),bE=/<script|<style|<link/i,bO=/checked\s*(?:[^=]|=\s*.checked.)/i,bq=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function bz(b,c){return j(b,"table")&&j(11!==c.nodeType?c:c.firstChild,"tr")&&a(b).children("tbody")[0]||b}function bT(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function bR(a){return"true/"===(a.type||"").slice(0,5)?a.type=a.type.slice(5):a.removeAttribute("type"),a}function bC(c,d){var e,i,f,j,k,h;if(1===d.nodeType){if(b.hasData(c)&&(h=b.get(c).events))for(f in b.remove(d,"handle events"),h)for(e=0,i=h[f].length;e<i;e++)a.event.add(d,f,h[f][e]);g.hasData(c)&&(j=g.access(c),k=a.extend({},j),g.set(d,k))}}function F(g,j,r,q){j=bD(j);var k,p,i,o,d,m,e=0,l=g.length,t=l-1,n=j[0],s=c(n);if(s||1<l&&"string"==typeof n&&!f.checkClone&&bO.test(n))return g.each(function(a){var b=g.eq(a);s&&(j[0]=n.call(this,a,b.html())),F(b,j,r,q)});if(l&&(p=(k=bt(j,g[0].ownerDocument,!1,g,q)).firstChild,1===k.childNodes.length&&(k=p),p||q)){for(o=(i=a.map(h(k,"script"),bT)).length;e<l;e++)d=k,e!==t&&(d=a.clone(d,!0,!0),o&&a.merge(i,h(d,"script"))),r.call(g[e],d,e);if(o)for(m=i[i.length-1].ownerDocument,a.map(i,bR),e=0;e<o;e++)d=i[e],ay.test(d.type||"")&&!b.access(d,"globalEval")&&a.contains(m,d)&&(d.src&&"module"!==(d.type||"").toLowerCase()?a._evalUrl&&!d.noModule&&a._evalUrl(d.src,{nonce:d.nonce||d.getAttribute("nonce")},m):aN(d.textContent.replace(bq,""),d,m))}return g}function bQ(c,d,e){for(var b,g=d?a.filter(d,c):c,f=0;null!=(b=g[f]);f++)e||1!==b.nodeType||a.cleanData(h(b)),b.parentNode&&(e&&u(b)&&aA(h(b,"script")),b.parentNode.removeChild(b));return c}a.extend({htmlPrefilter:function(a){return a},clone:function(c,m,n){var b,k,e,d,i,j,l,g=c.cloneNode(!0),o=u(c);if(!(f.noCloneChecked||1!==c.nodeType&&11!==c.nodeType||a.isXMLDoc(c)))for(d=h(g),b=0,k=(e=h(c)).length;b<k;b++)i=e[b],j=d[b],void 0,"input"===(l=j.nodeName.toLowerCase())&&N.test(i.type)?j.checked=i.checked:"input"!==l&&"textarea"!==l||(j.defaultValue=i.defaultValue);if(m)if(n)for(e=e||h(c),d=d||h(g),b=0,k=e.length;b<k;b++)bC(e[b],d[b]);else bC(c,g);return 0<(d=h(g,"script")).length&&aA(d,!o&&h(c,"script")),g},cleanData:function(h){for(var d,c,e,i=a.event.special,f=0;void 0!==(c=h[f]);f++)if(J(c)){if(d=c[b.expando]){if(d.events)for(e in d.events)i[e]?a.event.remove(c,e):a.removeEvent(c,e,d.handle);c[b.expando]=void 0}c[g.expando]&&(c[g.expando]=void 0)}}}),a.fn.extend({detach:function(a){return bQ(this,a,!0)},remove:function(a){return bQ(this,a)},text:function(b){return n(this,function(b){return void 0===b?a.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=b)})},null,b,arguments.length)},append:function(){return F(this,arguments,function(a){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||bz(this,a).appendChild(a)})},prepend:function(){return F(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=bz(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return F(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return F(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var b,c=0;null!=(b=this[c]);c++)1===b.nodeType&&(a.cleanData(h(b,!1)),b.textContent="");return this},clone:function(b,c){return b=null!=b&&b,c=null==c?b:c,this.map(function(){return a.clone(this,b,c)})},html:function(b){return n(this,function(b){var c=this[0]||{},d=0,e=this.length;if(void 0===b&&1===c.nodeType)return c.innerHTML;if("string"==typeof b&&!bE.test(b)&&!i[(az.exec(b)||["",""])[1].toLowerCase()]){b=a.htmlPrefilter(b);try{for(;d<e;d++)1===(c=this[d]||{}).nodeType&&(a.cleanData(h(c,!1)),c.innerHTML=b);c=0}catch(a){}}c&&this.empty().append(b)},null,b,arguments.length)},replaceWith:function(){var b=[];return F(this,arguments,function(d){var c=this.parentNode;a.inArray(this,b)<0&&(a.cleanData(h(this)),c&&c.replaceChild(d,this))},b)}}),a.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(b,c){a.fn[b]=function(h){for(var d,e=[],f=a(h),g=f.length-1,b=0;b<=g;b++)d=b===g?this:this.clone(!0),a(f[b])[c](d),ag.apply(e,d.get());return this.pushStack(e)}}),Z=new RegExp("^("+aL+")(?!px)[a-z%]+$","i"),R=function(b){var a=b.ownerDocument.defaultView;return a&&a.opener||(a=d),a.getComputedStyle(b)},ah=function(b,c,f){var d,a,e={};for(a in c)e[a]=b.style[a],b.style[a]=c[a];for(a in d=f.call(b),c)b.style[a]=e[a];return d},bM=new RegExp(o.join("|"),"i");function P(e,g,d){var h,i,j,c,b=e.style;return(d=d||R(e))&&(""!==(c=d.getPropertyValue(g)||d[g])||u(e)||(c=a.style(e,g)),!f.pixelBoxStyles()&&Z.test(c)&&bM.test(g)&&(h=b.width,i=b.minWidth,j=b.maxWidth,b.minWidth=b.maxWidth=b.width=c,c=d.width,b.width=h,b.minWidth=i,b.maxWidth=j)),void 0!==c?c+"":c}function bG(a,b){return{get:function(){if(!a())return(this.get=b).apply(this,arguments);delete this.get}}}!function(){function c(){if(b){h.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",b.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",r.appendChild(h).appendChild(b);var a=d.getComputedStyle(b);m="1%"!==a.top,l=12===g(a.marginLeft),b.style.right="60%",k=36===g(a.right),n=36===g(a.width),b.style.position="absolute",j=12===g(b.offsetWidth/3),r.removeChild(h),b=null}}function g(a){return Math.round(parseFloat(a))}var m,n,j,k,i,l,h=e.createElement("div"),b=e.createElement("div");b.style&&(b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",f.clearCloneStyle="content-box"===b.style.backgroundClip,a.extend(f,{boxSizingReliable:function(){return c(),n},pixelBoxStyles:function(){return c(),k},pixelPosition:function(){return c(),m},reliableMarginLeft:function(){return c(),l},scrollboxSize:function(){return c(),j},reliableTrDimensions:function(){var b,a,c,f;return null==i&&(b=e.createElement("table"),a=e.createElement("tr"),c=e.createElement("div"),b.style.cssText="position:absolute;left:-11111px;border-collapse:separate",a.style.cssText="border:1px solid",a.style.height="1px",c.style.height="9px",c.style.display="block",r.appendChild(b).appendChild(a).appendChild(c),f=d.getComputedStyle(a),i=parseInt(f.height,10)+parseInt(f.borderTopWidth,10)+parseInt(f.borderBottomWidth,10)===a.offsetHeight,r.removeChild(b)),i}}))}(),aj=["Webkit","Moz","ms"],ak=e.createElement("div").style,al={};function ao(b){var c=a.cssProps[b]||al[b];return c||(b in ak?b:al[b]=function(a){for(var c=a[0].toUpperCase()+a.slice(1),b=aj.length;b--;)if((a=aj[b]+c)in ak)return a}(b)||b)}bJ=/^(none|table(?!-c[ea]).+)/,an=/^--/,bH={position:"absolute",visibility:"hidden",display:"block"},ap={letterSpacing:"0",fontWeight:"400"};function bI(d,b,c){var a=M.exec(b);return a?Math.max(0,a[2]-(c||0))+(a[3]||"px"):b}function am(d,g,f,h,e,i){var b="width"===g?1:0,j=0,c=0;if(f===(h?"border":"content"))return 0;for(;b<4;b+=2)"margin"===f&&(c+=a.css(d,f+o[b],!0,e)),h?("content"===f&&(c-=a.css(d,"padding"+o[b],!0,e)),"margin"!==f&&(c-=a.css(d,"border"+o[b]+"Width",!0,e))):(c+=a.css(d,"padding"+o[b],!0,e),"padding"!==f?c+=a.css(d,"border"+o[b]+"Width",!0,e):j+=a.css(d,"border"+o[b]+"Width",!0,e));return!h&&0<=i&&(c+=Math.max(0,Math.ceil(d["offset"+g[0].toUpperCase()+g.slice(1)]-i-c-j-.5))||0),c}function bK(b,e,h){var d=R(b),g=(!f.boxSizingReliable()||h)&&"border-box"===a.css(b,"boxSizing",!1,d),i=g,c=P(b,e,d),k="offset"+e[0].toUpperCase()+e.slice(1);if(Z.test(c)){if(!h)return c;c="auto"}return(!f.boxSizingReliable()&&g||!f.reliableTrDimensions()&&j(b,"tr")||"auto"===c||!parseFloat(c)&&"inline"===a.css(b,"display",!1,d))&&b.getClientRects().length&&(g="border-box"===a.css(b,"boxSizing",!1,d),(i=k in b)&&(c=b[k])),(c=parseFloat(c)||0)+am(b,e,h||(g?"border":"content"),i,d,c)+"px"}function l(a,b,c,d,e){return new l.prototype.init(a,b,c,d,e)}a.extend({cssHooks:{opacity:{get:function(b,c){if(c){var a=P(b,"opacity");return""===a?"1":a}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(d,c,b,l){if(d&&3!==d.nodeType&&8!==d.nodeType&&d.style){var e,i,g,j=p(c),k=an.test(c),h=d.style;if(k||(c=ao(j)),g=a.cssHooks[c]||a.cssHooks[j],void 0===b)return g&&"get"in g&&void 0!==(e=g.get(d,!1,l))?e:h[c];"string"===(i=typeof b)&&(e=M.exec(b))&&e[1]&&(b=bp(d,c,e),i="number"),null!=b&&b==b&&("number"!==i||k||(b+=e&&e[3]||(a.cssNumber[j]?"":"px")),f.clearCloneStyle||""!==b||0!==c.indexOf("background")||(h[c]="inherit"),g&&"set"in g&&void 0===(b=g.set(d,b,l))||(k?h.setProperty(c,b):h[c]=b))}},css:function(g,c,d,i){var b,f,e,h=p(c);return an.test(c)||(c=ao(h)),(e=a.cssHooks[c]||a.cssHooks[h])&&"get"in e&&(b=e.get(g,!0,d)),void 0===b&&(b=P(g,c,i)),"normal"===b&&c in ap&&(b=ap[c]),""===d||d?(f=parseFloat(b),!0===d||isFinite(f)?f||0:b):b}}),a.each(["height","width"],function(c,b){a.cssHooks[b]={get:function(c,e,d){if(e)return!bJ.test(a.css(c,"display"))||c.getClientRects().length&&c.getBoundingClientRect().width?bK(c,b,d):ah(c,bH,function(){return bK(c,b,d)})},set:function(c,e,g){var i,d=R(c),j=!f.scrollboxSize()&&"absolute"===d.position,k=(j||g)&&"border-box"===a.css(c,"boxSizing",!1,d),h=g?am(c,b,g,k,d):0;return k&&j&&(h-=Math.ceil(c["offset"+b[0].toUpperCase()+b.slice(1)]-parseFloat(d[b])-am(c,b,"border",!1,d)-.5)),h&&(i=M.exec(e))&&"px"!==(i[3]||"px")&&(c.style[b]=e,e=a.css(c,b)),bI(0,e,h)}}}),a.cssHooks.marginLeft=bG(f.reliableMarginLeft,function(a,b){if(b)return(parseFloat(P(a,"marginLeft"))||a.getBoundingClientRect().left-ah(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),a.each({margin:"",padding:"",border:"Width"},function(b,c){a.cssHooks[b+c]={expand:function(d){for(var a=0,f={},e="string"==typeof d?d.split(" "):[d];a<4;a++)f[b+o[a]+c]=e[a]||e[a-2]||e[0];return f}},"margin"!==b&&(a.cssHooks[b+c].set=bI)}),a.fn.extend({css:function(b,c){return n(this,function(c,b,e){var f,g,h={},d=0;if(Array.isArray(b)){for(f=R(c),g=b.length;d<g;d++)h[b[d]]=a.css(c,b[d],!1,f);return h}return void 0!==e?a.style(c,b,e):a.css(c,b)},b,c,1<arguments.length)}}),((a.Tween=l).prototype={constructor:l,init:function(c,d,b,e,f,g){this.elem=c,this.prop=b,this.easing=f||a.easing._default,this.options=d,this.start=this.now=this.cur(),this.end=e,this.unit=g||(a.cssNumber[b]?"":"px")},cur:function(){var a=l.propHooks[this.prop];return a&&a.get?a.get(this):l.propHooks._default.get(this)},run:function(b){var c,d=l.propHooks[this.prop];return this.options.duration?this.pos=c=a.easing[this.easing](b,this.options.duration*b,0,1,this.options.duration):this.pos=c=b,this.now=(this.end-this.start)*c+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),d&&d.set?d.set(this):l.propHooks._default.set(this),this}}).init.prototype=l.prototype,(l.propHooks={_default:{get:function(b){var c;return 1!==b.elem.nodeType||null!=b.elem[b.prop]&&null==b.elem.style[b.prop]?b.elem[b.prop]:(c=a.css(b.elem,b.prop,""))&&"auto"!==c?c:0},set:function(b){a.fx.step[b.prop]?a.fx.step[b.prop](b):1!==b.elem.nodeType||!a.cssHooks[b.prop]&&null==b.elem.style[ao(b.prop)]?b.elem[b.prop]=b.now:a.style(b.elem,b.prop,b.now+b.unit)}}}).scrollTop=l.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},a.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},a.fx=l.prototype.init,a.fx.step={},bx=/^(?:toggle|show|hide)$/,bv=/queueHooks$/;function ai(){ab&&(!1===e.hidden&&d.requestAnimationFrame?d.requestAnimationFrame(ai):d.setTimeout(ai,a.fx.interval),a.fx.tick())}function bN(){return d.setTimeout(function(){L=void 0}),L=Date.now()}function ac(c,b){var e,d=0,a={height:c};for(b=b?1:0;d<4;d+=2-b)a["margin"+(e=o[d])]=a["padding"+e]=c;return b&&(a.opacity=a.width=c),a}function bP(e,b,f){for(var c,d=(k.tweeners[b]||[]).concat(k.tweeners["*"]),a=0,g=d.length;a<g;a++)if(c=d[a].call(f,b,e))return c}function k(d,l,g){var f,h,i=0,n=k.prefilters.length,e=a.Deferred().always(function(){delete m.elem}),m=function(){if(h)return!1;for(var i=L||bN(),a=Math.max(0,b.startTime+b.duration-i),c=1-(a/b.duration||0),f=0,g=b.tweens.length;f<g;f++)b.tweens[f].run(c);return e.notifyWith(d,[b,c,a]),c<1&&g?a:(g||e.notifyWith(d,[b,1,0]),e.resolveWith(d,[b]),!1)},b=e.promise({elem:d,props:a.extend({},l),opts:a.extend(!0,{specialEasing:{},easing:a.easing._default},g),originalProperties:l,originalOptions:g,startTime:L||bN(),duration:g.duration,tweens:[],createTween:function(c,f){var e=a.Tween(d,b.opts,c,f,b.opts.specialEasing[c]||b.opts.easing);return b.tweens.push(e),e},stop:function(a){var c=0,f=a?b.tweens.length:0;if(h)return this;for(h=!0;c<f;c++)b.tweens[c].run(1);return a?(e.notifyWith(d,[b,1,0]),e.resolveWith(d,[b,a])):e.rejectWith(d,[b,a]),this}}),j=b.props;for(!function(d,g){var b,e,f,c,h;for(b in d)if(f=g[e=p(b)],c=d[b],Array.isArray(c)&&(f=c[1],c=d[b]=c[0]),b!==e&&(d[e]=c,delete d[b]),(h=a.cssHooks[e])&&"expand"in h)for(b in c=h.expand(c),delete d[e],c)b in d||(d[b]=c[b],g[b]=f);else g[e]=f}(j,b.opts.specialEasing);i<n;i++)if(f=k.prefilters[i].call(b,d,j,b.opts))return c(f.stop)&&(a._queueHooks(b.elem,b.opts.queue).stop=f.stop.bind(f)),f;return a.map(j,bP,b),c(b.opts.start)&&b.opts.start.call(d,b),b.progress(b.opts.progress).done(b.opts.done,b.opts.complete).fail(b.opts.fail).always(b.opts.always),a.fx.timer(a.extend(m,{elem:d,anim:b,queue:b.opts.queue})),b}a.Animation=a.extend(k,{tweeners:{"*":[function(b,c){var a=this.createTween(b,c);return bp(a.elem,b,M.exec(c),a),a}]},tweener:function(a,e){c(a)?(e=a,a=["*"]):a=a.match(m);for(var b,d=0,f=a.length;d<f;d++)b=a[d],k.tweeners[b]=k.tweeners[b]||[],k.tweeners[b].unshift(e)},prefilters:[function(c,l,m){var d,p,q,j,r,h,f,k,s="width"in l||"height"in l,n=this,o={},g=c.style,i=c.nodeType&&O(c),e=b.get(c,"fxshow");for(d in m.queue||(null==(j=a._queueHooks(c,"fx")).unqueued&&(j.unqueued=0,r=j.empty.fire,j.empty.fire=function(){j.unqueued||r()}),j.unqueued++,n.always(function(){n.always(function(){j.unqueued--,a.queue(c,"fx").length||j.empty.fire()})})),l)if(p=l[d],bx.test(p)){if(delete l[d],q=q||"toggle"===p,p===(i?"hide":"show")){if("show"!==p||!e||void 0===e[d])continue;i=!0}o[d]=e&&e[d]||a.style(c,d)}if((h=!a.isEmptyObject(l))||!a.isEmptyObject(o))for(d in s&&1===c.nodeType&&(m.overflow=[g.overflow,g.overflowX,g.overflowY],null==(f=e&&e.display)&&(f=b.get(c,"display")),"none"===(k=a.css(c,"display"))&&(f?k=f:(A([c],!0),f=c.style.display||f,k=a.css(c,"display"),A([c]))),("inline"===k||"inline-block"===k&&null!=f)&&"none"===a.css(c,"float")&&(h||(n.done(function(){g.display=f}),null==f&&(k=g.display,f="none"===k?"":k)),g.display="inline-block")),m.overflow&&(g.overflow="hidden",n.always(function(){g.overflow=m.overflow[0],g.overflowX=m.overflow[1],g.overflowY=m.overflow[2]})),h=!1,o)h||(e?"hidden"in e&&(i=e.hidden):e=b.access(c,"fxshow",{display:f}),q&&(e.hidden=!i),i&&A([c],!0),n.done(function(){for(d in i||A([c]),b.remove(c,"fxshow"),o)a.style(c,d,o[d])})),h=bP(i?e[d]:0,d,n),d in e||(e[d]=h.start,i&&(h.end=h.start,h.start=0))}],prefilter:function(a,b){b?k.prefilters.unshift(a):k.prefilters.push(a)}}),a.speed=function(d,e,f){var b=d&&"object"==typeof d?a.extend({},d):{complete:f||!f&&e||c(d)&&d,duration:d,easing:f&&e||e&&!c(e)&&e};return a.fx.off?b.duration=0:"number"!=typeof b.duration&&(b.duration in a.fx.speeds?b.duration=a.fx.speeds[b.duration]:b.duration=a.fx.speeds._default),null!=b.queue&&!0!==b.queue||(b.queue="fx"),b.old=b.complete,b.complete=function(){c(b.old)&&b.old.call(this),b.queue&&a.dequeue(this,b.queue)},b},a.fn.extend({fadeTo:function(a,b,c,d){return this.filter(O).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(f,g,h,i){var e=a.isEmptyObject(f),d=a.speed(g,h,i),c=function(){var c=k(this,a.extend({},f),d);(e||b.get(this,"finish"))&&c.stop(!0)};return c.finish=c,e||!1===d.queue?this.each(c):this.queue(d.queue,c)},stop:function(c,e,d){var f=function(a){var b=a.stop;delete a.stop,b(d)};return"string"!=typeof c&&(d=e,e=c,c=void 0),e&&this.queue(c||"fx",[]),this.each(function(){var i=!0,e=null!=c&&c+"queueHooks",h=a.timers,g=b.get(this);if(e)g[e]&&g[e].stop&&f(g[e]);else for(e in g)g[e]&&g[e].stop&&bv.test(e)&&f(g[e]);for(e=h.length;e--;)h[e].elem!==this||null!=c&&h[e].queue!==c||(h[e].anim.stop(d),i=!1,h.splice(e,1));!i&&d||a.dequeue(this,c)})},finish:function(c){return!1!==c&&(c=c||"fx"),this.each(function(){var d,g=b.get(this),e=g[c+"queue"],h=g[c+"queueHooks"],f=a.timers,i=e?e.length:0;for(g.finish=!0,a.queue(this,c,[]),h&&h.stop&&h.stop.call(this,!0),d=f.length;d--;)f[d].elem===this&&f[d].queue===c&&(f[d].anim.stop(!0),f.splice(d,1));for(d=0;d<i;d++)e[d]&&e[d].finish&&e[d].finish.call(this);delete g.finish})}}),a.each(["toggle","show","hide"],function(d,b){var c=a.fn[b];a.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(ac(b,!0),a,d,e)}}),a.each({slideDown:ac("show"),slideUp:ac("hide"),slideToggle:ac("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(b,c){a.fn[b]=function(a,b,d){return this.animate(c,a,b,d)}}),a.timers=[],a.fx.tick=function(){var d,b=0,c=a.timers;for(L=Date.now();b<c.length;b++)(d=c[b])()||c[b]!==d||c.splice(b--,1);c.length||a.fx.stop(),L=void 0},a.fx.timer=function(b){a.timers.push(b),a.fx.start()},a.fx.interval=13,a.fx.start=function(){ab||(ab=!0,ai())},a.fx.stop=function(){ab=null},a.fx.speeds={slow:600,fast:200,_default:400},a.fn.delay=function(b,c){return b=a.fx&&a.fx.speeds[b]||b,c=c||"fx",this.queue(c,function(a,c){var e=d.setTimeout(a,b);c.stop=function(){d.clearTimeout(e)}})},H=e.createElement("input"),by=e.createElement("select").appendChild(e.createElement("option")),H.type="checkbox",f.checkOn=""!==H.value,f.optSelected=by.selected,(H=e.createElement("input")).value="t",H.type="radio",f.radioValue="t"===H.value,G=a.expr.attrHandle,a.fn.extend({attr:function(b,c){return n(this,a.attr,b,c,1<arguments.length)},removeAttr:function(b){return this.each(function(){a.removeAttr(this,b)})}}),a.extend({attr:function(b,c,e){var f,d,g=b.nodeType;if(3!==g&&8!==g&&2!==g)return"undefined"==typeof b.getAttribute?a.prop(b,c,e):(1===g&&a.isXMLDoc(b)||(d=a.attrHooks[c.toLowerCase()]||(a.expr.match.bool.test(c)?bu:void 0)),void 0!==e?null===e?void a.removeAttr(b,c):d&&"set"in d&&void 0!==(f=d.set(b,e,c))?f:(b.setAttribute(c,e+""),e):d&&"get"in d&&null!==(f=d.get(b,c))?f:null==(f=a.find.attr(b,c))?void 0:f)},attrHooks:{type:{set:function(a,b){if(!f.radioValue&&"radio"===b&&j(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,e=0,d=b&&b.match(m);if(d&&1===a.nodeType)while(c=d[e++])a.removeAttribute(c)}}),bu={set:function(c,d,b){return!1===d?a.removeAttr(c,b):c.setAttribute(b,b),b}},a.each(a.expr.match.bool.source.match(/\w+/g),function(d,b){var c=G[b]||a.find.attr;G[b]=function(g,d,e){var b,f,a=d.toLowerCase();return e||(f=G[a],G[a]=b,b=null!=c(g,d,e)?a:null,G[a]=f),b}}),aS=/^(?:input|select|textarea|button)$/i,bs=/^(?:a|area)$/i;function v(a){return(a.match(m)||[]).join(" ")}function x(a){return a.getAttribute&&a.getAttribute("class")||""}function at(a){return Array.isArray(a)?a:"string"==typeof a&&a.match(m)||[]}a.fn.extend({prop:function(b,c){return n(this,a.prop,b,c,1<arguments.length)},removeProp:function(b){return this.each(function(){delete this[a.propFix[b]||b]})}}),a.extend({prop:function(d,b,g){var e,c,f=d.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&a.isXMLDoc(d)||(b=a.propFix[b]||b,c=a.propHooks[b]),void 0!==g?c&&"set"in c&&void 0!==(e=c.set(d,g,b))?e:d[b]=g:c&&"get"in c&&null!==(e=c.get(d,b))?e:d[b]},propHooks:{tabIndex:{get:function(b){var c=a.find.attr(b,"tabindex");return c?parseInt(c,10):aS.test(b.nodeName)||bs.test(b.nodeName)&&b.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),f.optSelected||(a.propHooks.selected={get:function(b){var a=b.parentNode;return a&&a.parentNode&&a.parentNode.selectedIndex,null},set:function(b){var a=b.parentNode;a&&(a.selectedIndex,a.parentNode&&a.parentNode.selectedIndex)}}),a.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){a.propFix[this.toLowerCase()]=this}),a.fn.extend({addClass:function(e){var h,b,d,f,g,i,j,k=0;if(c(e))return this.each(function(b){a(this).addClass(e.call(this,b,x(this)))});if((h=at(e)).length)while(b=this[k++])if(f=x(b),d=1===b.nodeType&&" "+v(f)+" "){for(i=0;g=h[i++];)d.indexOf(" "+g+" ")<0&&(d+=g+" ");f!==(j=v(d))&&b.setAttribute("class",j)}return this},removeClass:function(e){var h,d,b,f,g,i,j,k=0;if(c(e))return this.each(function(b){a(this).removeClass(e.call(this,b,x(this)))});if(!arguments.length)return this.attr("class","");if((h=at(e)).length)while(d=this[k++])if(f=x(d),b=1===d.nodeType&&" "+v(f)+" "){for(i=0;g=h[i++];)while(-1<b.indexOf(" "+g+" "))b=b.replace(" "+g+" "," ");f!==(j=v(b))&&d.setAttribute("class",j)}return this},toggleClass:function(d,e){var f=typeof d,g="string"===f||Array.isArray(d);return"boolean"==typeof e&&g?e?this.addClass(d):this.removeClass(d):c(d)?this.each(function(b){a(this).toggleClass(d.call(this,b,x(this),e),e)}):this.each(function(){var c,h,e,i;if(g)for(h=0,e=a(this),i=at(d);c=i[h++];)e.hasClass(c)?e.removeClass(c):e.addClass(c);else void 0!==d&&"boolean"!==f||((c=x(this))&&b.set(this,"__className__",c),this.setAttribute&&this.setAttribute("class",c||!1===d?"":b.get(this,"__className__")||""))})},hasClass:function(c){var b,a,d=0;for(b=" "+c+" ";a=this[d++];)if(1===a.nodeType&&-1<(" "+v(x(a))+" ").indexOf(b))return!0;return!1}}),br=/\r/g,a.fn.extend({val:function(f){var b,d,g,e=this[0];return arguments.length?(g=c(f),this.each(function(d){var c;1===this.nodeType&&(null==(c=g?f.call(this,d,a(this).val()):f)?c="":"number"==typeof c?c+="":Array.isArray(c)&&(c=a.map(c,function(a){return null==a?"":a+""})),(b=a.valHooks[this.type]||a.valHooks[this.nodeName.toLowerCase()])&&"set"in b&&void 0!==b.set(this,c,"value")||(this.value=c))})):e?(b=a.valHooks[e.type]||a.valHooks[e.nodeName.toLowerCase()])&&"get"in b&&void 0!==(d=b.get(e,"value"))?d:"string"==typeof(d=e.value)?d.replace(br,""):null==d?"":d:void 0}}),a.extend({valHooks:{option:{get:function(b){var c=a.find.attr(b,"value");return null!=c?c:v(a.text(b))}},select:{get:function(g){var f,b,c,h=g.options,e=g.selectedIndex,d="select-one"===g.type,i=d?null:[],k=d?e+1:h.length;for(c=e<0?k:d?e:0;c<k;c++)if(((b=h[c]).selected||c===e)&&!b.disabled&&(!b.parentNode.disabled||!j(b.parentNode,"optgroup"))){if(f=a(b).val(),d)return f;i.push(f)}return i},set:function(b,h){for(var c,d,e=b.options,f=a.makeArray(h),g=e.length;g--;)((d=e[g]).selected=-1<a.inArray(a.valHooks.option.get(d),f))&&(c=!0);return c||(b.selectedIndex=-1),f}}}}),a.each(["radio","checkbox"],function(){a.valHooks[this]={set:function(b,c){if(Array.isArray(c))return b.checked=-1<a.inArray(a(b).val(),c)}},f.checkOn||(a.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),f.focusin="onfocusin"in d,aC=/^(?:focusinfocus|focusoutblur)$/,aD=function(a){a.stopPropagation()},a.extend(a.event,{trigger:function(f,l,h,p){var s,i,j,t,m,n,k,q,r=[h||e],g=$.call(f,"type")?f.type:f,o=$.call(f,"namespace")?f.namespace.split("."):[];if(i=q=j=h=h||e,3!==h.nodeType&&8!==h.nodeType&&!aC.test(g+a.event.triggered)&&(-1<g.indexOf(".")&&(g=(o=g.split(".")).shift(),o.sort()),m=g.indexOf(":")<0&&"on"+g,(f=f[a.expando]?f:new a.Event(g,"object"==typeof f&&f)).isTrigger=p?2:3,f.namespace=o.join("."),f.rnamespace=f.namespace?new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,f.result=void 0,f.target||(f.target=h),l=null==l?[f]:a.makeArray(l,[f]),k=a.event.special[g]||{},p||!k.trigger||!1!==k.trigger.apply(h,l))){if(!p&&!k.noBubble&&!D(h)){for(t=k.delegateType||g,aC.test(t+g)||(i=i.parentNode);i;i=i.parentNode)r.push(i),j=i;j===(h.ownerDocument||e)&&r.push(j.defaultView||j.parentWindow||d)}for(s=0;(i=r[s++])&&!f.isPropagationStopped();)q=i,f.type=1<s?t:k.bindType||g,(n=(b.get(i,"events")||Object.create(null))[f.type]&&b.get(i,"handle"))&&n.apply(i,l),(n=m&&i[m])&&n.apply&&J(i)&&(f.result=n.apply(i,l),!1===f.result&&f.preventDefault());return f.type=g,p||f.isDefaultPrevented()||k._default&&!1!==k._default.apply(r.pop(),l)||!J(h)||m&&c(h[g])&&!D(h)&&((j=h[m])&&(h[m]=null),a.event.triggered=g,f.isPropagationStopped()&&q.addEventListener(g,aD),h[g](),f.isPropagationStopped()&&q.removeEventListener(g,aD),a.event.triggered=void 0,j&&(h[m]=j)),f.result}},simulate:function(b,c,d){var e=a.extend(new a.Event,d,{type:b,isSimulated:!0});a.event.trigger(e,null,c)}}),a.fn.extend({trigger:function(b,c){return this.each(function(){a.event.trigger(b,c,this)})},triggerHandler:function(c,d){var b=this[0];if(b)return a.event.trigger(c,d,b,!0)}}),f.focusin||a.each({focus:"focusin",blur:"focusout"},function(d,c){var e=function(b){a.event.simulate(c,b.target,a.event.fix(b))};a.event.special[c]={setup:function(){var a=this.ownerDocument||this.document||this,f=b.access(a,c);f||a.addEventListener(d,e,!0),b.access(a,c,(f||0)+1)},teardown:function(){var a=this.ownerDocument||this.document||this,f=b.access(a,c)-1;f?b.access(a,c,f):(a.removeEventListener(d,e,!0),b.remove(a,c))}}}),B=d.location,aF={guid:Date.now()},T=/\?/,a.parseXML=function(c){var b,e;if(!c||"string"!=typeof c)return null;try{b=(new d.DOMParser).parseFromString(c,"text/xml")}catch(a){}return e=b&&b.getElementsByTagName("parsererror")[0],b&&!e||a.error("Invalid XML: "+(e?a.map(e.childNodes,function(a){return a.textContent}).join("\n"):c)),b},bd=/\[\]$/,aI=/\r?\n/g,bb=/^(?:submit|button|image|reset|file)$/i,aY=/^(?:input|select|textarea|keygen)/i;function au(c,b,d,e){var f;if(Array.isArray(b))a.each(b,function(b,a){d||bd.test(c)?e(c,a):au(c+"["+("object"==typeof a&&null!=a?b:"")+"]",a,d,e)});else if(d||"object"!==I(b))e(c,b);else for(f in b)au(c+"["+f+"]",b[f],d,e)}a.param=function(b,g){var d,e=[],f=function(d,a){var b=c(a)?a():a;e[e.length]=encodeURIComponent(d)+"="+encodeURIComponent(null==b?"":b)};if(null==b)return"";if(Array.isArray(b)||b.jquery&&!a.isPlainObject(b))a.each(b,function(){f(this.name,this.value)});else for(d in b)au(d,b[d],g,f);return e.join("&")},a.fn.extend({serialize:function(){return a.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var b=a.prop(this,"elements");return b?a.makeArray(b):this}).filter(function(){var b=this.type;return this.name&&!a(this).is(":disabled")&&aY.test(this.nodeName)&&!bb.test(b)&&(this.checked||!N.test(b))}).map(function(d,c){var b=a(this).val();return null==b?null:Array.isArray(b)?a.map(b,function(a){return{name:c.name,value:a.replace(aI,"\r\n")}}):{name:c.name,value:b.replace(aI,"\r\n")}}).get()}}),aU=/%20/g,aT=/#.*$/,aR=/([?&])_=[^&]*/,aO=/^(.*?):[ \t]*([^\r\n]*)$/gm,aP=/^(?:GET|HEAD)$/,aQ=/^\/\//,af={},ae={},aM="*/".concat("*"),S=e.createElement("a");function bw(a){return function(d,e){"string"!=typeof d&&(e=d,d="*");var b,f=0,g=d.toLowerCase().match(m)||[];if(c(e))while(b=g[f++])"+"===b[0]?(b=b.slice(1)||"*",(a[b]=a[b]||[]).unshift(e)):(a[b]=a[b]||[]).push(e)}}function bl(f,c,g,h){var d={},e=f===ae;function b(i){var j;return d[i]=!0,a.each(f[i]||[],function(i,f){var a=f(c,g,h);return"string"!=typeof a||e||d[a]?e?!(j=a):void 0:(c.dataTypes.unshift(a),b(a),!1)}),j}return b(c.dataTypes[0])||!d["*"]&&b("*")}function aq(d,e){var b,c,f=a.ajaxSettings.flatOptions||{};for(b in e)void 0!==e[b]&&((f[b]?d:c||(c={}))[b]=e[b]);return c&&a.extend(!0,d,c),d}return S.href=B.href,a.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:B.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(B.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":aM,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":a.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(b,c){return c?aq(aq(b,a.ajaxSettings),c):aq(a.ajaxSettings,b)},ajaxPrefilter:bw(af),ajaxTransport:bw(ae),ajax:function(q,h){"object"==typeof q&&(h=q,q=void 0),h=h||{};var l,f,w,k,v,j,g,o,s,p,b=a.ajaxSetup({},h),i=b.context||b,t=b.context&&(i.nodeType||i.jquery)?a(i):a.event,u=a.Deferred(),A=a.Callbacks("once memory"),n=b.statusCode||{},x={},y={},z="canceled",c={readyState:0,getResponseHeader:function(b){var a;if(g){if(!k)for(k={};a=aO.exec(w);)k[a[1].toLowerCase()+" "]=(k[a[1].toLowerCase()+" "]||[]).concat(a[2]);a=k[b.toLowerCase()+" "]}return null==a?null:a.join(", ")},getAllResponseHeaders:function(){return g?w:null},setRequestHeader:function(a,b){return null==g&&(a=y[a.toLowerCase()]=y[a.toLowerCase()]||a,x[a]=b),this},overrideMimeType:function(a){return null==g&&(b.mimeType=a),this},statusCode:function(a){var b;if(a)if(g)c.always(a[c.status]);else for(b in a)n[b]=[n[b],a[b]];return this},abort:function(b){var a=b||z;return l&&l.abort(a),r(0,a),this}};if(u.promise(c),b.url=((q||b.url||B.href)+"").replace(aQ,B.protocol+"//"),b.type=h.method||h.type||b.method||b.type,b.dataTypes=(b.dataType||"*").toLowerCase().match(m)||[""],null==b.crossDomain){j=e.createElement("a");try{j.href=b.url,j.href=j.href,b.crossDomain=S.protocol+"//"+S.host!=j.protocol+"//"+j.host}catch(a){b.crossDomain=!0}}if(b.data&&b.processData&&"string"!=typeof b.data&&(b.data=a.param(b.data,b.traditional)),bl(af,b,h,c),g)return c;for(s in(o=a.event&&b.global)&&0==a.active++&&a.event.trigger("ajaxStart"),b.type=b.type.toUpperCase(),b.hasContent=!aP.test(b.type),f=b.url.replace(aT,""),b.hasContent?b.data&&b.processData&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&(b.data=b.data.replace(aU,"+")):(p=b.url.slice(f.length),b.data&&(b.processData||"string"==typeof b.data)&&(f+=(T.test(f)?"&":"?")+b.data,delete b.data),!1===b.cache&&(f=f.replace(aR,"$1"),p=(T.test(f)?"&":"?")+"_="+aF.guid+++p),b.url=f+p),b.ifModified&&(a.lastModified[f]&&c.setRequestHeader("If-Modified-Since",a.lastModified[f]),a.etag[f]&&c.setRequestHeader("If-None-Match",a.etag[f])),(b.data&&b.hasContent&&!1!==b.contentType||h.contentType)&&c.setRequestHeader("Content-Type",b.contentType),c.setRequestHeader("Accept",b.dataTypes[0]&&b.accepts[b.dataTypes[0]]?b.accepts[b.dataTypes[0]]+("*"!==b.dataTypes[0]?", "+aM+"; q=0.01":""):b.accepts["*"]),b.headers)c.setRequestHeader(s,b.headers[s]);if(b.beforeSend&&(!1===b.beforeSend.call(i,c,b)||g))return c.abort();if(z="abort",A.add(b.complete),c.done(b.success),c.fail(b.error),l=bl(ae,b,h,c)){if(c.readyState=1,o&&t.trigger("ajaxSend",[c,b]),g)return c;b.async&&0<b.timeout&&(v=d.setTimeout(function(){c.abort("timeout")},b.timeout));try{g=!1,l.send(x,r)}catch(a){if(g)throw a;r(-1,a)}}else r(-1,"No Transport");function r(e,r,s,x){var j,q,p,k,m,h=r;g||(g=!0,v&&d.clearTimeout(v),l=void 0,w=x||"",c.readyState=0<e?4:0,j=200<=e&&e<300||304===e,s&&(k=function(d,i,h){for(var e,b,c,g,f=d.contents,a=d.dataTypes;"*"===a[0];)a.shift(),void 0===e&&(e=d.mimeType||i.getResponseHeader("Content-Type"));if(e)for(b in f)if(f[b]&&f[b].test(e)){a.unshift(b);break}if(a[0]in h)c=a[0];else{for(b in h){if(!a[0]||d.converters[b+" "+a[0]]){c=b;break}g||(g=b)}c=c||g}if(c)return c!==a[0]&&a.unshift(c),h[c]}(b,c,s)),!j&&-1<a.inArray("script",b.dataTypes)&&a.inArray("json",b.dataTypes)<0&&(b.converters["text script"]=function(){}),k=function(c,d,j,k){var h,a,b,g,e,f={},i=c.dataTypes.slice();if(i[1])for(b in c.converters)f[b.toLowerCase()]=c.converters[b];for(a=i.shift();a;)if(c.responseFields[a]&&(j[c.responseFields[a]]=d),!e&&k&&c.dataFilter&&(d=c.dataFilter(d,c.dataType)),e=a,a=i.shift())if("*"===a)a=e;else if("*"!==e&&e!==a){if(!(b=f[e+" "+a]||f["* "+a]))for(h in f)if((g=h.split(" "))[1]===a&&(b=f[e+" "+g[0]]||f["* "+g[0]])){!0===b?b=f[h]:!0!==f[h]&&(a=g[0],i.unshift(g[1]));break}if(!0!==b)if(b&&c.throws)d=b(d);else try{d=b(d)}catch(c){return{state:"parsererror",error:b?c:"No conversion from "+e+" to "+a}}}return{state:"success",data:d}}(b,k,c,j),j?(b.ifModified&&((m=c.getResponseHeader("Last-Modified"))&&(a.lastModified[f]=m),(m=c.getResponseHeader("etag"))&&(a.etag[f]=m)),204===e||"HEAD"===b.type?h="nocontent":304===e?h="notmodified":(h=k.state,q=k.data,j=!(p=k.error))):(p=h,!e&&h||(h="error",e<0&&(e=0))),c.status=e,c.statusText=(r||h)+"",j?u.resolveWith(i,[q,h,c]):u.rejectWith(i,[c,h,p]),c.statusCode(n),n=void 0,o&&t.trigger(j?"ajaxSuccess":"ajaxError",[c,b,j?q:p]),A.fireWith(i,[c,h]),o&&(t.trigger("ajaxComplete",[c,b]),--a.active||a.event.trigger("ajaxStop")))}return c},getJSON:function(b,c,d){return a.get(b,c,d,"json")},getScript:function(b,c){return a.get(b,void 0,c,"script")}}),a.each(["get","post"],function(d,b){a[b]=function(e,d,f,g){return c(d)&&(g=g||f,f=d,d=void 0),a.ajax(a.extend({url:e,type:b,dataType:g,data:d,success:f},a.isPlainObject(e)&&e))}}),a.ajaxPrefilter(function(a){var b;for(b in a.headers)"content-type"===b.toLowerCase()&&(a.contentType=a.headers[b]||"")}),a._evalUrl=function(b,c,d){return a.ajax({url:b,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(b){a.globalEval(b,c,d)}})},a.fn.extend({wrapAll:function(b){var d;return this[0]&&(c(b)&&(b=b.call(this[0])),d=a(b,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&d.insertBefore(this[0]),d.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(b){return c(b)?this.each(function(c){a(this).wrapInner(b.call(this,c))}):this.each(function(){var c=a(this),d=c.contents();d.length?d.wrapAll(b):c.append(b)})},wrap:function(b){var d=c(b);return this.each(function(c){a(this).wrapAll(d?b.call(this,c):b)})},unwrap:function(b){return this.parent(b).not("body").each(function(){a(this).replaceWith(this.childNodes)}),this}}),a.expr.pseudos.hidden=function(b){return!a.expr.pseudos.visible(b)},a.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},a.ajaxSettings.xhr=function(){try{return new d.XMLHttpRequest}catch(a){}},aV={0:200,1223:204},z=a.ajaxSettings.xhr(),f.cors=!!z&&"withCredentials"in z,f.ajax=z=!!z,a.ajaxTransport(function(a){var b,c;if(f.cors||z&&!a.crossDomain)return{send:function(g,h){var f,e=a.xhr();if(e.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(f in a.xhrFields)e[f]=a.xhrFields[f];for(f in a.mimeType&&e.overrideMimeType&&e.overrideMimeType(a.mimeType),a.crossDomain||g["X-Requested-With"]||(g["X-Requested-With"]="XMLHttpRequest"),g)e.setRequestHeader(f,g[f]);b=function(a){return function(){b&&(b=c=e.onload=e.onerror=e.onabort=e.ontimeout=e.onreadystatechange=null,"abort"===a?e.abort():"error"===a?"number"!=typeof e.status?h(0,"error"):h(e.status,e.statusText):h(aV[e.status]||e.status,e.statusText,"text"!==(e.responseType||"text")||"string"!=typeof e.responseText?{binary:e.response}:{text:e.responseText},e.getAllResponseHeaders()))}},e.onload=b(),c=e.onerror=e.ontimeout=b("error"),void 0!==e.onabort?e.onabort=c:e.onreadystatechange=function(){4===e.readyState&&d.setTimeout(function(){b&&c()})},b=b("abort");try{e.send(a.hasContent&&a.data||null)}catch(a){if(b)throw a}},abort:function(){b&&b()}}}),a.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),a.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(b){return a.globalEval(b),b}}}),a.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),a.ajaxTransport("script",function(b){var d,c;if(b.crossDomain||b.scriptAttrs)return{send:function(g,f){d=a("<script>").attr(b.scriptAttrs||{}).prop({charset:b.scriptCharset,src:b.url}).on("load error",c=function(a){d.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),e.head.appendChild(d[0])},abort:function(){c&&c()}}}),aK=[],_=/(=)\?(?=&|$)|\?\?/,a.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var b=aK.pop()||a.expando+"_"+aF.guid++;return this[b]=!0,b}}),a.ajaxPrefilter("json jsonp",function(b,i,j){var e,f,g,h=!1!==b.jsonp&&(_.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&_.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=c(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(_,"$1"+e):!1!==b.jsonp&&(b.url+=(T.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||a.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=d[e],d[e]=function(){g=arguments},j.always(function(){void 0===f?a(d).removeProp(e):d[e]=f,b[e]&&(b.jsonpCallback=i.jsonpCallback,aK.push(e)),g&&c(f)&&f(g[0]),g=f=void 0}),"script"}),f.createHTMLDocument=((aX=e.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===aX.childNodes.length),a.parseHTML=function(g,b,h){return"string"!=typeof g?[]:("boolean"==typeof b&&(h=b,b=!1),b||(f.createHTMLDocument?((i=(b=e.implementation.createHTMLDocument("")).createElement("base")).href=e.location.href,b.head.appendChild(i)):b=e),c=!h&&[],(d=aE.exec(g))?[b.createElement(d[1])]:(d=bt([g],b,c),c&&c.length&&a(c).remove(),a.merge([],d.childNodes)));var i,d,c},a.fn.load=function(d,b,e){var f,i,j,g=this,h=d.indexOf(" ");return-1<h&&(f=v(d.slice(h)),d=d.slice(0,h)),c(b)?(e=b,b=void 0):b&&"object"==typeof b&&(i="POST"),0<g.length&&a.ajax({url:d,type:i||"GET",dataType:"html",data:b}).done(function(b){j=arguments,g.html(f?a("<div>").append(a.parseHTML(b)).find(f):b)}).always(e&&function(a,b){g.each(function(){e.apply(this,j||[a.responseText,b,a])})}),this},a.expr.pseudos.animated=function(b){return a.grep(a.timers,function(a){return b===a.elem}).length},a.offset={setOffset:function(d,b,n){var m,i,l,j,f,g,h=a.css(d,"position"),k=a(d),e={};"static"===h&&(d.style.position="relative"),f=k.offset(),l=a.css(d,"top"),g=a.css(d,"left"),("absolute"===h||"fixed"===h)&&-1<(l+g).indexOf("auto")?(j=(m=k.position()).top,i=m.left):(j=parseFloat(l)||0,i=parseFloat(g)||0),c(b)&&(b=b.call(d,n,a.extend({},f))),null!=b.top&&(e.top=b.top-f.top+j),null!=b.left&&(e.left=b.left-f.left+i),"using"in b?b.using.call(d,e):k.css(e)}},a.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(b){a.offset.setOffset(this,e,b)});var c,d,b=this[0];return b?b.getClientRects().length?(c=b.getBoundingClientRect(),d=b.ownerDocument.defaultView,{top:c.top+d.pageYOffset,left:c.left+d.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var b,d,e,c=this[0],f={top:0,left:0};if("fixed"===a.css(c,"position"))d=c.getBoundingClientRect();else{for(d=this.offset(),e=c.ownerDocument,b=c.offsetParent||e.documentElement;b&&(b===e.body||b===e.documentElement)&&"static"===a.css(b,"position");)b=b.parentNode;b&&b!==c&&1===b.nodeType&&((f=a(b).offset()).top+=a.css(b,"borderTopWidth",!0),f.left+=a.css(b,"borderLeftWidth",!0))}return{top:d.top-f.top-a.css(c,"marginTop",!0),left:d.left-f.left-a.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var b=this.offsetParent;b&&"static"===a.css(b,"position");)b=b.offsetParent;return b||r})}}),a.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;a.fn[b]=function(a){return n(this,function(b,f,e){var a;if(D(b)?a=b:9===b.nodeType&&(a=b.defaultView),void 0===e)return a?a[c]:b[f];a?a.scrollTo(d?a.pageXOffset:e,d?e:a.pageYOffset):b[f]=e},b,a,arguments.length)}}),a.each(["top","left"],function(c,b){a.cssHooks[b]=bG(f.pixelPosition,function(d,c){if(c)return c=P(d,b),Z.test(c)?a(d).position()[b]+"px":c})}),a.each({Height:"height",Width:"width"},function(b,c){a.each({padding:"inner"+b,content:c,"":"outer"+b},function(d,e){a.fn[e]=function(f,i){var g=arguments.length&&(d||"boolean"!=typeof f),h=d||(!0===f||!0===i?"margin":"border");return n(this,function(c,f,g){var d;return D(c)?0===e.indexOf("outer")?c["inner"+b]:c.document.documentElement["client"+b]:9===c.nodeType?(d=c.documentElement,Math.max(c.body["scroll"+b],d["scroll"+b],c.body["offset"+b],d["offset"+b],d["client"+b])):void 0===g?a.css(c,f,h):a.style(c,f,g,h)},c,g?f:void 0,g)}})}),a.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(c,b){a.fn[b]=function(a){return this.on(b,a)}}),a.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),a.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(c,b){a.fn[b]=function(a,c){return 0<arguments.length?this.on(b,null,a,c):this.trigger(b)}}),a_=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,a.proxy=function(b,d){var e,f,g;if("string"==typeof d&&(e=b[d],d=b,b=e),c(b))return f=t.call(arguments,2),(g=function(){return b.apply(d||this,f.concat(t.call(arguments)))}).guid=b.guid=b.guid||a.guid++,g},a.holdReady=function(b){b?a.readyWait++:a.ready(!0)},a.isArray=Array.isArray,a.parseJSON=JSON.parse,a.nodeName=j,a.isFunction=c,a.isWindow=D,a.camelCase=p,a.type=I,a.now=Date.now,a.isNumeric=function(b){var c=a.type(b);return("number"===c||"string"===c)&&!isNaN(b-parseFloat(b))},a.trim=function(a){return null==a?"":(a+"").replace(a_,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return a}),a$=d.jQuery,ba=d.$,a.noConflict=function(b){return d.$===a&&(d.$=ba),b&&d.jQuery===a&&(d.jQuery=a$),a},"undefined"==typeof bS&&(d.jQuery=d.$=a),a}),!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],b):(a="undefined"!=typeof globalThis?globalThis:a||self).bootstrap=b(a.Popper)}(this,function(aU){"use strict";var x,l;function aW(a){if(a&&a.__esModule)return a;var b=Object.create(null);return a&&Object.keys(a).forEach(function(c){if("default"!==c){var d=Object.getOwnPropertyDescriptor(a,c);Object.defineProperty(b,c,d.get?d:{enumerable:!0,get:function(){return a[c]}})}}),b.default=a,Object.freeze(b)}x=aW(aU);const b={find:(a,b=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(b,a)),findOne:(a,b=document.documentElement)=>Element.prototype.querySelector.call(b,a),children:(a,b)=>[].concat(...a.children).filter(a=>a.matches(b)),parents(c,d){const b=[];let a=c.parentNode;for(;a&&a.nodeType===Node.ELEMENT_NODE&&3!==a.nodeType;)a.matches(d)&&b.push(a),a=a.parentNode;return b},prev(b,c){let a=b.previousElementSibling;for(;a;){if(a.matches(c))return[a];a=a.previousElementSibling}return[]},next(b,c){let a=b.nextElementSibling;for(;a;){if(a.matches(c))return[a];a=a.nextElementSibling}return[]}},ad=a=>{do a+=Math.floor(1e6*Math.random());while(document.getElementById(a))return a},ac=b=>{let a=b.getAttribute("data-bs-target");if(!a||"#"===a){let c=b.getAttribute("href");if(!c||!c.includes("#")&&!c.startsWith("."))return null;c.includes("#")&&!c.startsWith("#")&&(c="#"+c.split("#")[1]),a=c&&"#"!==c?c.trim():null}return a},L=b=>{const a=ac(b);return a&&document.querySelector(a)?a:null},n=b=>{const a=ac(b);return a?document.querySelector(a):null},ab=a=>{a.dispatchEvent(new Event("transitionend"))},k=a=>!(!a||"object"!=typeof a)&&(void 0!==a.jquery&&(a=a[0]),void 0!==a.nodeType),v=a=>k(a)?a.jquery?a[0]:a:"string"==typeof a&&a.length>0?b.findOne(a):null,h=(b,c,a)=>{Object.keys(a).forEach(d=>{const g=a[d],e=c[d],h=e&&k(e)?"element":null==(f=e)?""+f:{}.toString.call(f).match(/\s([a-z]+)/i)[1].toLowerCase();var f;if(!new RegExp(g).test(h))throw new TypeError(`${b.toUpperCase()}: Option "${d}" provided type "${h}" but expected type "${g}".`)})},D=a=>!(!k(a)||0===a.getClientRects().length)&&"visible"===getComputedStyle(a).getPropertyValue("visibility"),w=a=>!a||a.nodeType!==Node.ELEMENT_NODE||!!a.classList.contains("disabled")||(void 0!==a.disabled?a.disabled:a.hasAttribute("disabled")&&"false"!==a.getAttribute("disabled")),aa=a=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof a.getRootNode){const b=a.getRootNode();return b instanceof ShadowRoot?b:null}return a instanceof ShadowRoot?a:a.parentNode?aa(a.parentNode):null},E=()=>{},t=a=>a.offsetHeight,$=()=>{const{jQuery:a}=window;return a&&!document.body.hasAttribute("data-bs-no-jquery")?a:null},M=[],e=()=>"rtl"===document.documentElement.dir,f=a=>{var b;b=()=>{const b=$();if(b){const c=a.NAME,d=b.fn[c];b.fn[c]=a.jQueryInterface,b.fn[c].Constructor=a,b.fn[c].noConflict=()=>(b.fn[c]=d,a.jQueryInterface)}},"loading"===document.readyState?(M.length||document.addEventListener("DOMContentLoaded",()=>{M.forEach(a=>a())}),M.push(b)):b()},q=a=>{"function"==typeof a&&a()},_=(b,a,e=!0)=>{if(!e)return void q(b);const f=(c=>{if(!c)return 0;let{transitionDuration:a,transitionDelay:b}=window.getComputedStyle(c);const d=Number.parseFloat(a),e=Number.parseFloat(b);return d||e?(a=a.split(",")[0],b=b.split(",")[0],1e3*(Number.parseFloat(a)+Number.parseFloat(b))):0})(a)+5;let c=!1;const d=({target:e})=>{e===a&&(c=!0,a.removeEventListener("transitionend",d),q(b))};a.addEventListener("transitionend",d),setTimeout(()=>{c||ab(a)},f)},aj=(a,f,d,e)=>{let b=a.indexOf(f);if(-1===b)return a[!d&&e?a.length-1:0];const c=a.length;return b+=d?1:-1,e&&(b=(b+c)%c),a[Math.max(0,Math.min(b,c-1))]},aT=/[^.]*(?=\..*)\.|.*/,aR=/\..*/,aQ=/::\d+$/,G={};let Y=1;const aL={mouseenter:"mouseover",mouseleave:"mouseout"},ak=/^(mouseenter|mouseleave)/i,X=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function U(b,a){return a&&`${a}::${Y++}`||b.uidEvent||Y++}function S(b){const a=U(b);return b.uidEvent=a,G[a]=G[a]||{},G[a]}function R(a,c,d=null){const b=Object.keys(a);for(let e=0,g=b.length;e<g;e++){const f=a[b[e]];if(f.originalHandler===c&&f.delegationSelector===d)return f}return null}function Q(b,c,e){const d="string"==typeof c,f=d?e:c;let a=ai(b);return X.has(a)||(a=b),[d,f,a]}function Z(e,g,b,c,m){if("string"!=typeof g||!e)return;if(b||(b=c,c=null),ak.test(g)){const a=a=>function(b){if(!b.relatedTarget||b.relatedTarget!==b.delegateTarget&&!b.delegateTarget.contains(b.relatedTarget))return a.call(this,b)};c?c=a(c):b=a(b)}const[f,j,i]=Q(g,b,c),k=S(e),l=k[i]||(k[i]={}),h=R(l,j,f?b:null);if(h)return void(h.oneOff=h.oneOff&&m);const n=U(j,g.replace(aT,"")),d=f?function(b,c,d){return function g(e){const f=b.querySelectorAll(c);for(let{target:h}=e;h&&h!==this;h=h.parentNode)for(let i=f.length;i--;)if(f[i]===h)return e.delegateTarget=h,g.oneOff&&a.off(b,e.type,c,d),d.apply(h,[e]);return null}}(e,b,c):function(b,c){return function e(d){return d.delegateTarget=b,e.oneOff&&a.off(b,d.type,c),c.apply(b,[d])}}(e,b);d.delegationSelector=f?b:null,d.originalHandler=j,d.oneOff=m,d.uidEvent=n,l[n]=d,e.addEventListener(i,d,f)}function N(e,c,a,f,d){const b=R(c[a],f,d);b&&(e.removeEventListener(a,b,Boolean(d)),delete c[a][b.uidEvent])}function ai(a){return a=a.replace(aR,""),aL[a]||a}const a={on(a,b,c,d){Z(a,b,c,d,!1)},one(a,b,c,d){Z(a,b,c,d,!0)},off(c,b,g,h){if("string"!=typeof b||!c)return;const[k,f,d]=Q(b,g,h),i=d!==b,a=S(c),j=b.startsWith(".");if(void 0!==f){if(!a||!a[d])return;return void N(c,a,d,f,k?g:null)}j&&Object.keys(a).forEach(d=>{!function(d,a,b,e){const c=a[b]||{};Object.keys(c).forEach(f=>{if(f.includes(e)){const e=c[f];N(d,a,b,e.originalHandler,e.delegationSelector)}})}(c,a,d,b.slice(1))});const e=a[d]||{};Object.keys(e).forEach(f=>{const g=f.replace(aQ,"");if(!i||b.includes(g)){const b=e[f];N(c,a,d,b.originalHandler,b.delegationSelector)}})},trigger(e,c,d){if("string"!=typeof c||!e)return null;const f=$(),g=ai(c),l=c!==g,k=X.has(g);let b,h=!0,i=!0,j=!1,a=null;return l&&f&&(b=f.Event(c,d),f(e).trigger(b),h=!b.isPropagationStopped(),i=!b.isImmediatePropagationStopped(),j=b.isDefaultPrevented()),k?(a=document.createEvent("HTMLEvents"),a.initEvent(g,h,!0)):a=new CustomEvent(c,{bubbles:h,cancelable:!0}),void 0!==d&&Object.keys(d).forEach(b=>{Object.defineProperty(a,b,{get:()=>d[b]})}),j&&a.preventDefault(),i&&e.dispatchEvent(a),a.defaultPrevented&&void 0!==b&&b.preventDefault(),a}},m=new Map;l={set(b,c,d){m.has(b)||m.set(b,new Map);const a=m.get(b);a.has(c)||0===a.size?a.set(c,d):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(a.keys())[0]}.`)},get:(a,b)=>m.has(a)&&m.get(a).get(b)||null,remove(a,c){if(!m.has(a))return;const b=m.get(a);b.delete(c),0===b.size&&m.delete(a)}};class g{constructor(a){(a=v(a))&&(this._element=a,l.set(this._element,this.constructor.DATA_KEY,this))}dispose(){l.remove(this._element,this.constructor.DATA_KEY),a.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach(a=>{this[a]=null})}_queueCallback(a,b,c=!0){_(a,b,c)}static getInstance(a){return l.get(a,this.DATA_KEY)}static getOrCreateInstance(a,b={}){return this.getInstance(a)||new this(a,"object"==typeof b?b:null)}static get VERSION(){return"5.0.2"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return"bs."+this.NAME}static get EVENT_KEY(){return"."+this.DATA_KEY}}class y extends g{static get NAME(){return"alert"}close(a){const b=a?this._getRootElement(a):this._element,c=this._triggerCloseEvent(b);null===c||c.defaultPrevented||this._removeElement(b)}_getRootElement(a){return n(a)||a.closest(".alert")}_triggerCloseEvent(b){return a.trigger(b,"close.bs.alert")}_removeElement(a){a.classList.remove("show");const b=a.classList.contains("fade");this._queueCallback(()=>this._destroyElement(a),a,b)}_destroyElement(b){b.remove(),a.trigger(b,"closed.bs.alert")}static jQueryInterface(a){return this.each(function(){const b=y.getOrCreateInstance(this);"close"===a&&b[a](this)})}static handleDismiss(a){return function(b){b&&b.preventDefault(),a.close(this)}}}a.on(document,"click.bs.alert.data-api",'[data-bs-dismiss="alert"]',y.handleDismiss(new y)),f(y);class F extends g{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(a){return this.each(function(){const b=F.getOrCreateInstance(this);"toggle"===a&&b[a]()})}}function T(a){return"true"===a||"false"!==a&&(a===Number(a).toString()?Number(a):""===a||"null"===a?null:a)}function H(a){return a.replace(/[A-Z]/g,a=>"-"+a.toLowerCase())}a.on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]',a=>{a.preventDefault();const b=a.target.closest('[data-bs-toggle="button"]');F.getOrCreateInstance(b).toggle()}),f(F);const c={setDataAttribute(a,b,c){a.setAttribute("data-bs-"+H(b),c)},removeDataAttribute(a,b){a.removeAttribute("data-bs-"+H(b))},getDataAttributes(a){if(!a)return{};const b={};return Object.keys(a.dataset).filter(a=>a.startsWith("bs")).forEach(d=>{let c=d.replace(/^bs/,"");c=c.charAt(0).toLowerCase()+c.slice(1,c.length),b[c]=T(a.dataset[d])}),b},getDataAttribute:(a,b)=>T(a.getAttribute("data-bs-"+H(b))),offset(b){const a=b.getBoundingClientRect();return{top:a.top+document.body.scrollTop,left:a.left+document.body.scrollLeft}},position:a=>({top:a.offsetTop,left:a.offsetLeft})},W={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},az={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},p="next",r="prev",o="left",z="right",ax={ArrowLeft:z,ArrowRight:o};class j extends g{constructor(a,c){super(a),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(c),this._indicatorsElement=b.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return W}static get NAME(){return"carousel"}next(){this._slide(p)}nextWhenVisible(){!document.hidden&&D(this._element)&&this.next()}prev(){this._slide(r)}pause(a){a||(this._isPaused=!0),b.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(ab(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(a){a||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(c){this._activeElement=b.findOne(".active.carousel-item",this._element);const d=this._getItemIndex(this._activeElement);if(c>this._items.length-1||c<0)return;if(this._isSliding)return void a.one(this._element,"slid.bs.carousel",()=>this.to(c));if(d===c)return this.pause(),void this.cycle();const e=c>d?p:r;this._slide(e,this._items[c])}_getConfig(a){return a={...W,...c.getDataAttributes(this._element),..."object"==typeof a?a:{}},h("carousel",a,az),a}_handleSwipe(){const a=Math.abs(this.touchDeltaX);if(a<=40)return;const b=a/this.touchDeltaX;this.touchDeltaX=0,b&&this._slide(b>0?z:o)}_addEventListeners(){this._config.keyboard&&a.on(this._element,"keydown.bs.carousel",a=>this._keydown(a)),"hover"===this._config.pause&&(a.on(this._element,"mouseenter.bs.carousel",a=>this.pause(a)),a.on(this._element,"mouseleave.bs.carousel",a=>this.cycle(a))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const c=a=>{!this._pointerEvent||"pen"!==a.pointerType&&"touch"!==a.pointerType?this._pointerEvent||(this.touchStartX=a.touches[0].clientX):this.touchStartX=a.clientX},e=a=>{this.touchDeltaX=a.touches&&a.touches.length>1?0:a.touches[0].clientX-this.touchStartX},d=a=>{!this._pointerEvent||"pen"!==a.pointerType&&"touch"!==a.pointerType||(this.touchDeltaX=a.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(a=>this.cycle(a),500+this._config.interval))};b.find(".carousel-item img",this._element).forEach(b=>{a.on(b,"dragstart.bs.carousel",a=>a.preventDefault())}),this._pointerEvent?(a.on(this._element,"pointerdown.bs.carousel",a=>c(a)),a.on(this._element,"pointerup.bs.carousel",a=>d(a)),this._element.classList.add("pointer-event")):(a.on(this._element,"touchstart.bs.carousel",a=>c(a)),a.on(this._element,"touchmove.bs.carousel",a=>e(a)),a.on(this._element,"touchend.bs.carousel",a=>d(a)))}_keydown(a){if(/input|textarea/i.test(a.target.tagName))return;const b=ax[a.key];b&&(a.preventDefault(),this._slide(b))}_getItemIndex(a){return this._items=a&&a.parentNode?b.find(".carousel-item",a.parentNode):[],this._items.indexOf(a)}_getItemByOrder(a,b){const c=a===p;return aj(this._items,b,c,this._config.wrap)}_triggerSlideEvent(c,d){const e=this._getItemIndex(c),f=this._getItemIndex(b.findOne(".active.carousel-item",this._element));return a.trigger(this._element,"slide.bs.carousel",{relatedTarget:c,direction:d,from:f,to:e})}_setActiveIndicatorElement(a){if(this._indicatorsElement){const d=b.findOne(".active",this._indicatorsElement);d.classList.remove("active"),d.removeAttribute("aria-current");const c=b.find("[data-bs-target]",this._indicatorsElement);for(let b=0;b<c.length;b++)if(Number.parseInt(c[b].getAttribute("data-bs-slide-to"),10)===this._getItemIndex(a)){c[b].classList.add("active"),c[b].setAttribute("aria-current","true");break}}}_updateInterval(){const a=this._activeElement||b.findOne(".active.carousel-item",this._element);if(!a)return;const c=Number.parseInt(a.getAttribute("data-bs-interval"),10);c?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=c):this._config.interval=this._config.defaultInterval||this._config.interval}_slide(o,n){const f=this._directionToOrder(o),d=b.findOne(".active.carousel-item",this._element),m=this._getItemIndex(d),c=n||this._getItemByOrder(f,d),l=this._getItemIndex(c),j=Boolean(this._interval),k=f===p,e=k?"carousel-item-start":"carousel-item-end",g=k?"carousel-item-next":"carousel-item-prev",h=this._orderToDirection(f);if(c&&c.classList.contains("active"))return void(this._isSliding=!1);if(this._isSliding)return;if(this._triggerSlideEvent(c,h).defaultPrevented)return;if(!d||!c)return;this._isSliding=!0,j&&this.pause(),this._setActiveIndicatorElement(c),this._activeElement=c;const i=()=>{a.trigger(this._element,"slid.bs.carousel",{relatedTarget:c,direction:h,from:m,to:l})};if(this._element.classList.contains("slide")){c.classList.add(g),t(c),d.classList.add(e),c.classList.add(e);const a=()=>{c.classList.remove(e,g),c.classList.add("active"),d.classList.remove("active",g,e),this._isSliding=!1,setTimeout(i,0)};this._queueCallback(a,d,!0)}else d.classList.remove("active"),c.classList.add("active"),this._isSliding=!1,i();j&&this.cycle()}_directionToOrder(a){return[z,o].includes(a)?e()?a===o?r:p:a===o?p:r:a}_orderToDirection(a){return[p,r].includes(a)?e()?a===r?o:z:a===r?z:o:a}static carouselInterface(e,a){const b=j.getOrCreateInstance(e,a);let{_config:c}=b;"object"==typeof a&&(c={...c,...a});const d="string"==typeof a?a:c.slide;if("number"==typeof a)b.to(a);else if("string"==typeof d){if(void 0===b[d])throw new TypeError(`No method named "${d}"`);b[d]()}else c.interval&&c.ride&&(b.pause(),b.cycle())}static jQueryInterface(a){return this.each(function(){j.carouselInterface(this,a)})}static dataApiClickHandler(e){const a=n(this);if(!a||!a.classList.contains("carousel"))return;const d={...c.getDataAttributes(a),...c.getDataAttributes(this)},b=this.getAttribute("data-bs-slide-to");b&&(d.interval=!1),j.carouselInterface(a,d),b&&j.getInstance(a).to(b),e.preventDefault()}}a.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",j.dataApiClickHandler),a.on(window,"load.bs.carousel.data-api",()=>{const a=b.find('[data-bs-ride="carousel"]');for(let b=0,c=a.length;b<c;b++)j.carouselInterface(a[b],j.getInstance(a[b]))}),f(j);const J={toggle:!0,parent:""},aw={toggle:"boolean",parent:"(string|element)"};class i extends g{constructor(c,d){super(c),this._isTransitioning=!1,this._config=this._getConfig(d),this._triggerArray=b.find(`[data-bs-toggle="collapse"][href="#${this._element.id}"],[data-bs-toggle="collapse"][data-bs-target="#${this._element.id}"]`);const a=b.find('[data-bs-toggle="collapse"]');for(let c=0,f=a.length;c<f;c++){const e=a[c],d=L(e),g=b.find(d).filter(a=>a===this._element);null!==d&&g.length&&(this._selector=d,this._triggerArray.push(e))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}static get Default(){return J}static get NAME(){return"collapse"}toggle(){this._element.classList.contains("show")?this.hide():this.show()}show(){if(this._isTransitioning||this._element.classList.contains("show"))return;let c,e;this._parent&&(c=b.find(".show, .collapsing",this._parent).filter(a=>"string"==typeof this._config.parent?a.getAttribute("data-bs-parent")===this._config.parent:a.classList.contains("collapse")),0===c.length&&(c=null));const f=b.findOne(this._selector);if(c){const a=c.find(a=>f!==a);if(e=a?i.getInstance(a):null,e&&e._isTransitioning)return}if(a.trigger(this._element,"show.bs.collapse").defaultPrevented)return;c&&c.forEach(a=>{f!==a&&i.collapseInterface(a,"hide"),e||l.set(a,"bs.collapse",null)});const d=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[d]=0,this._triggerArray.length&&this._triggerArray.forEach(a=>{a.classList.remove("collapsed"),a.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);const g="scroll"+(d[0].toUpperCase()+d.slice(1));this._queueCallback(()=>{this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[d]="",this.setTransitioning(!1),a.trigger(this._element,"shown.bs.collapse")},this._element,!0),this._element.style[d]=this._element[g]+"px"}hide(){if(this._isTransitioning||!this._element.classList.contains("show"))return;if(a.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const b=this._getDimension();this._element.style[b]=this._element.getBoundingClientRect()[b]+"px",t(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const c=this._triggerArray.length;if(c>0)for(let b=0;b<a;b++){const a=this._triggerArray[b],c=n(a);c&&!c.classList.contains("show")&&(a.classList.add("collapsed"),a.setAttribute("aria-expanded",!1))}this.setTransitioning(!0),this._element.style[b]="",this._queueCallback(()=>{this.setTransitioning(!1),this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),a.trigger(this._element,"hidden.bs.collapse")},this._element,!0)}setTransitioning(a){this._isTransitioning=a}_getConfig(a){return(a={...J,...a}).toggle=Boolean(a.toggle),h("collapse",a,aw),a}_getDimension(){return this._element.classList.contains("width")?"width":"height"}_getParent(){let{parent:a}=this._config;a=v(a);const c=`[data-bs-toggle="collapse"][data-bs-parent="${a}"]`;return b.find(c,a).forEach(a=>{const b=n(a);this._addAriaAndCollapsedClass(b,[a])}),a}_addAriaAndCollapsedClass(a,b){if(!a||!b.length)return;const c=a.classList.contains("show");b.forEach(a=>{c?a.classList.remove("collapsed"):a.classList.add("collapsed"),a.setAttribute("aria-expanded",c)})}static collapseInterface(d,a){let b=i.getInstance(d);const e={...J,...c.getDataAttributes(d),..."object"==typeof a&&a?a:{}};if(!b&&e.toggle&&"string"==typeof a&&/show|hide/.test(a)&&(e.toggle=!1),b||(b=new i(d,e)),"string"==typeof a){if(void 0===b[a])throw new TypeError(`No method named "${a}"`);b[a]()}}static jQueryInterface(a){return this.each(function(){i.collapseInterface(this,a)})}}a.on(document,"click.bs.collapse.data-api",'[data-bs-toggle="collapse"]',function(a){("A"===a.target.tagName||a.delegateTarget&&"A"===a.delegateTarget.tagName)&&a.preventDefault();const d=c.getDataAttributes(this),e=L(this);b.find(e).forEach(c=>{const a=i.getInstance(c);let b;a?(null===a._parent&&"string"==typeof d.parent&&(a._config.parent=d.parent,a._parent=a._getParent()),b="toggle"):b=d,i.collapseInterface(c,b)})}),f(i);const au=new RegExp("ArrowUp|ArrowDown|Escape"),at=e()?"top-end":"top-start",ap=e()?"top-start":"top-end",ao=e()?"bottom-end":"bottom-start",aX=e()?"bottom-start":"bottom-end",aE=e()?"left-start":"right-start",al=e()?"right-start":"left-start",am={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},an={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class d extends g{constructor(a,b){super(a),this._popper=null,this._config=this._getConfig(b),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}static get Default(){return am}static get DefaultType(){return an}static get NAME(){return"dropdown"}toggle(){w(this._element)||(this._element.classList.contains("show")?this.hide():this.show())}show(){if(w(this._element)||this._menu.classList.contains("show"))return;const b=d.getParentFromElement(this._element),e={relatedTarget:this._element};if(!a.trigger(this._element,"show.bs.dropdown",e).defaultPrevented){if(this._inNavbar)c.setDataAttribute(this._menu,"popper","none");else{if(void 0===x)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let a=this._element;"parent"===this._config.reference?a=b:k(this._config.reference)?a=v(this._config.reference):"object"==typeof this._config.reference&&(a=this._config.reference);const d=this._getPopperConfig(),e=d.modifiers.find(a=>"applyStyles"===a.name&&!1===a.enabled);this._popper=x.createPopper(a,this._menu,d),e&&c.setDataAttribute(this._menu,"popper","static")}"ontouchstart"in document.documentElement&&!b.closest(".navbar-nav")&&[].concat(...document.body.children).forEach(b=>a.on(b,"mouseover",E)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),a.trigger(this._element,"shown.bs.dropdown",e)}}hide(){if(w(this._element)||!this._menu.classList.contains("show"))return;const a={relatedTarget:this._element};this._completeHide(a)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_addEventListeners(){a.on(this._element,"click.bs.dropdown",a=>{a.preventDefault(),this.toggle()})}_completeHide(b){a.trigger(this._element,"hide.bs.dropdown",b).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(b=>a.off(b,"mouseover",E)),this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),c.removeDataAttribute(this._menu,"popper"),a.trigger(this._element,"hidden.bs.dropdown",b))}_getConfig(a){if(a={...this.constructor.Default,...c.getDataAttributes(this._element),...a},h("dropdown",a,this.constructor.DefaultType),"object"==typeof a.reference&&!k(a.reference)&&"function"!=typeof a.reference.getBoundingClientRect)throw new TypeError("dropdown".toUpperCase()+': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');return a}_getMenuElement(){return b.next(this._element,".dropdown-menu")[0]}_getPlacement(){const a=this._element.parentNode;if(a.classList.contains("dropend"))return aE;if(a.classList.contains("dropstart"))return al;const b="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return a.classList.contains("dropup")?b?ap:at:b?aX:ao}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:a}=this._config;return"string"==typeof a?a.split(",").map(a=>Number.parseInt(a,10)):"function"==typeof a?b=>a(b,this._element):a}_getPopperConfig(){const a={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(a.modifiers=[{name:"applyStyles",enabled:!1}]),{...a,..."function"==typeof this._config.popperConfig?this._config.popperConfig(a):this._config.popperConfig}}_selectMenuItem({key:d,target:c}){const a=b.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(D);a.length&&aj(a,c,"ArrowDown"===d,!a.includes(c)).focus()}static dropdownInterface(c,a){const b=d.getOrCreateInstance(c,a);if("string"==typeof a){if(void 0===b[a])throw new TypeError(`No method named "${a}"`);b[a]()}}static jQueryInterface(a){return this.each(function(){d.dropdownInterface(this,a)})}static clearMenus(a){if(a&&(2===a.button||"keyup"===a.type&&"Tab"!==a.key))return;const c=b.find('[data-bs-toggle="dropdown"]');for(let e=0,g=c.length;e<g;e++){const b=d.getInstance(c[e]);if(!b||!1===b._config.autoClose)continue;if(!b._element.classList.contains("show"))continue;const f={relatedTarget:b._element};if(a){const c=a.composedPath(),d=c.includes(b._menu);if(c.includes(b._element)||"inside"===b._config.autoClose&&!d||"outside"===b._config.autoClose&&d)continue;if(b._menu.contains(a.target)&&("keyup"===a.type&&"Tab"===a.key||/input|select|option|textarea|form/i.test(a.target.tagName)))continue;"click"===a.type&&(f.clickEvent=a)}b._completeHide(f)}}static getParentFromElement(a){return n(a)||a.parentNode}static dataApiKeydownHandler(a){if(/input|textarea/i.test(a.target.tagName)?"Space"===a.key||"Escape"!==a.key&&("ArrowDown"!==a.key&&"ArrowUp"!==a.key||a.target.closest(".dropdown-menu")):!au.test(a.key))return;const c=this.classList.contains("show");if(!c&&"Escape"===a.key)return;if(a.preventDefault(),a.stopPropagation(),w(this))return;const e=()=>this.matches('[data-bs-toggle="dropdown"]')?this:b.prev(this,'[data-bs-toggle="dropdown"]')[0];return"Escape"===a.key?(e().focus(),void d.clearMenus()):"ArrowUp"===a.key||"ArrowDown"===a.key?(c||e().click(),void d.getInstance(e())._selectMenuItem(a)):void(c&&"Space"!==a.key||d.clearMenus())}}a.on(document,"keydown.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',d.dataApiKeydownHandler),a.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",d.dataApiKeydownHandler),a.on(document,"click.bs.dropdown.data-api",d.clearMenus),a.on(document,"keyup.bs.dropdown.data-api",d.clearMenus),a.on(document,"click.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',function(a){a.preventDefault(),d.dropdownInterface(this)}),f(d);class O{constructor(){this._element=document.body}getWidth(){const a=document.documentElement.clientWidth;return Math.abs(window.innerWidth-a)}hide(){const a=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"paddingRight",b=>b+a),this._setElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight",b=>b+a),this._setElementAttributes(".sticky-top","marginRight",b=>b-a)}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(b,a,c){const d=this.getWidth();this._applyManipulationCallback(b,b=>{if(b!==this._element&&window.innerWidth>b.clientWidth+d)return;this._saveInitialAttribute(b,a);const e=window.getComputedStyle(b)[a];b.style[a]=c(Number.parseFloat(e))+"px"})}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight"),this._resetElementAttributes(".sticky-top","marginRight")}_saveInitialAttribute(a,b){const d=a.style[b];d&&c.setDataAttribute(a,b,d)}_resetElementAttributes(b,a){this._applyManipulationCallback(b,b=>{const d=c.getDataAttribute(b,a);void 0===d?b.style.removeProperty(a):(c.removeDataAttribute(b,a),b.style[a]=d)})}_applyManipulationCallback(a,c){k(a)?c(a):b.find(a,this._element).forEach(c)}isOverflowing(){return this.getWidth()>0}}const aq={isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},ar={isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"};class ag{constructor(a){this._config=this._getConfig(a),this._isAppended=!1,this._element=null}show(a){this._config.isVisible?(this._append(),this._config.isAnimated&&t(this._getElement()),this._getElement().classList.add("show"),this._emulateAnimation(()=>{q(a)})):q(a)}hide(a){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),q(a)})):q(a)}_getElement(){if(!this._element){const a=document.createElement("div");a.className="modal-backdrop",this._config.isAnimated&&a.classList.add("fade"),this._element=a}return this._element}_getConfig(a){return(a={...aq,..."object"==typeof a?a:{}}).rootElement=v(a.rootElement),h("backdrop",a,ar),a}_append(){this._isAppended||(this._config.rootElement.appendChild(this._getElement()),a.on(this._getElement(),"mousedown.bs.backdrop",()=>{q(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&(a.off(this._element,"mousedown.bs.backdrop"),this._element.remove(),this._isAppended=!1)}_emulateAnimation(a){_(a,this._getElement(),this._config.isAnimated)}}const af={backdrop:!0,keyboard:!0,focus:!0},av={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"};class B extends g{constructor(a,c){super(a),this._config=this._getConfig(c),this._dialog=b.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new O}static get Default(){return af}static get NAME(){return"modal"}toggle(a){return this._isShown?this.hide():this.show(a)}show(b){this._isShown||this._isTransitioning||a.trigger(this._element,"show.bs.modal",{relatedTarget:b}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add("modal-open"),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),a.on(this._element,"click.dismiss.bs.modal",'[data-bs-dismiss="modal"]',a=>this.hide(a)),a.on(this._dialog,"mousedown.dismiss.bs.modal",()=>{a.one(this._element,"mouseup.dismiss.bs.modal",a=>{a.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(b)))}hide(b){if(b&&["A","AREA"].includes(b.target.tagName)&&b.preventDefault(),!this._isShown||this._isTransitioning)return;if(a.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const c=this._isAnimated();c&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),a.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),a.off(this._element,"click.dismiss.bs.modal"),a.off(this._dialog,"mousedown.dismiss.bs.modal"),this._queueCallback(()=>this._hideModal(),this._element,c)}dispose(){[window,this._dialog].forEach(b=>a.off(b,".bs.modal")),this._backdrop.dispose(),super.dispose(),a.off(document,"focusin.bs.modal")}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ag({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_getConfig(a){return a={...af,...c.getDataAttributes(this._element),..."object"==typeof a?a:{}},h("modal",a,av),a}_showElement(e){const c=this._isAnimated(),d=b.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,d&&(d.scrollTop=0),c&&t(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus(),this._queueCallback(()=>{this._config.focus&&this._element.focus(),this._isTransitioning=!1,a.trigger(this._element,"shown.bs.modal",{relatedTarget:e})},this._dialog,c)}_enforceFocus(){a.off(document,"focusin.bs.modal"),a.on(document,"focusin.bs.modal",a=>{document===a.target||this._element===a.target||this._element.contains(a.target)||this._element.focus()})}_setEscapeEvent(){this._isShown?a.on(this._element,"keydown.dismiss.bs.modal",a=>{this._config.keyboard&&"Escape"===a.key?(a.preventDefault(),this.hide()):this._config.keyboard||"Escape"!==a.key||this._triggerBackdropTransition()}):a.off(this._element,"keydown.dismiss.bs.modal")}_setResizeEvent(){this._isShown?a.on(window,"resize.bs.modal",()=>this._adjustDialog()):a.off(window,"resize.bs.modal")}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),this._scrollBar.reset(),a.trigger(this._element,"hidden.bs.modal")})}_showBackdrop(b){a.on(this._element,"click.dismiss.bs.modal",a=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:a.target===a.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())}),this._backdrop.show(b)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(a.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:b,scrollHeight:e,style:c}=this._element,d=e>document.documentElement.clientHeight;!d&&"hidden"===c.overflowY||b.contains("modal-static")||(d||(c.overflowY="hidden"),b.add("modal-static"),this._queueCallback(()=>{b.remove("modal-static"),d||this._queueCallback(()=>{c.overflowY=""},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const a=this._element.scrollHeight>document.documentElement.clientHeight,c=this._scrollBar.getWidth(),b=c>0;(!b&&a&&!e()||b&&!a&&e())&&(this._element.style.paddingLeft=c+"px"),(b&&!a&&!e()||!b&&a&&e())&&(this._element.style.paddingRight=c+"px")}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(a,b){return this.each(function(){const c=B.getOrCreateInstance(this,a);if("string"==typeof a){if(void 0===c[a])throw new TypeError(`No method named "${a}"`);c[a](b)}})}}a.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',function(c){const b=n(this);["A","AREA"].includes(this.tagName)&&c.preventDefault(),a.one(b,"show.bs.modal",c=>{c.defaultPrevented||a.one(b,"hidden.bs.modal",()=>{D(this)&&this.focus()})}),B.getOrCreateInstance(b).toggle(this)}),f(B);const V={backdrop:!0,keyboard:!0,scroll:!1},ay={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"};class s extends g{constructor(a,b){super(a),this._config=this._getConfig(b),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._addEventListeners()}static get NAME(){return"offcanvas"}static get Default(){return V}toggle(a){return this._isShown?this.hide():this.show(a)}show(b){this._isShown||a.trigger(this._element,"show.bs.offcanvas",{relatedTarget:b}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||((new O).hide(),this._enforceFocusOnElement(this._element)),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("show"),this._queueCallback(()=>{a.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:b})},this._element,!0))}hide(){this._isShown&&(a.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(a.off(document,"focusin.bs.offcanvas"),this._element.blur(),this._isShown=!1,this._element.classList.remove("show"),this._backdrop.hide(),this._queueCallback(()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new O).reset(),a.trigger(this._element,"hidden.bs.offcanvas")},this._element,!0)))}dispose(){this._backdrop.dispose(),super.dispose(),a.off(document,"focusin.bs.offcanvas")}_getConfig(a){return a={...V,...c.getDataAttributes(this._element),..."object"==typeof a?a:{}},h("offcanvas",a,ay),a}_initializeBackDrop(){return new ag({isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_enforceFocusOnElement(b){a.off(document,"focusin.bs.offcanvas"),a.on(document,"focusin.bs.offcanvas",a=>{document===a.target||b===a.target||b.contains(a.target)||b.focus()}),b.focus()}_addEventListeners(){a.on(this._element,"click.dismiss.bs.offcanvas",'[data-bs-dismiss="offcanvas"]',()=>this.hide()),a.on(this._element,"keydown.dismiss.bs.offcanvas",a=>{this._config.keyboard&&"Escape"===a.key&&this.hide()})}static jQueryInterface(a){return this.each(function(){const b=s.getOrCreateInstance(this,a);if("string"==typeof a){if(void 0===b[a]||a.startsWith("_")||"constructor"===a)throw new TypeError(`No method named "${a}"`);b[a](this)}})}}a.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',function(e){const c=n(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),w(this))return;a.one(c,"hidden.bs.offcanvas",()=>{D(this)&&this.focus()});const d=b.findOne(".offcanvas.show");d&&d!==c&&s.getInstance(d).hide(),s.getOrCreateInstance(c).toggle(this)}),a.on(window,"load.bs.offcanvas.data-api",()=>b.find(".offcanvas.show").forEach(a=>s.getOrCreateInstance(a).show())),f(s);const aA=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),aB=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,aC=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,aD=(a,c)=>{const b=a.nodeName.toLowerCase();if(c.includes(b))return!aA.has(b)||Boolean(aB.test(a.nodeValue)||aC.test(a.nodeValue));const d=c.filter(a=>a instanceof RegExp);for(let a=0,c=d.length;a<c;a++)if(d[a].test(b))return!0;return!1};function ah(a,b,c){if(!a.length)return a;if(c&&"function"==typeof c)return c(a);const d=(new window.DOMParser).parseFromString(a,"text/html"),f=Object.keys(b),e=[].concat(...d.body.querySelectorAll("*"));for(let c=0,g=e.length;c<g;c++){const a=e[c],d=a.nodeName.toLowerCase();if(!f.includes(d)){a.remove();continue}const h=[].concat(...a.attributes),i=[].concat(b["*"]||[],b[d]||[]);h.forEach(b=>{aD(b,i)||a.removeAttribute(b.nodeName)})}return d.body.innerHTML}const aF=new RegExp("(^|\\s)bs-tooltip\\S+","g"),aG=new Set(["sanitize","allowList","sanitizeFn"]),aH={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},aI={AUTO:"auto",TOP:"top",RIGHT:e()?"left":"right",BOTTOM:"bottom",LEFT:e()?"right":"left"},aJ={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},aK={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"};class u extends g{constructor(a,b){if(void 0===x)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(a),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(b),this.tip=null,this._setListeners()}static get Default(){return aJ}static get NAME(){return"tooltip"}static get Event(){return aK}static get DefaultType(){return aH}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(a){if(this._isEnabled)if(a){const b=this._initializeOnDelegatedTarget(a);b._activeTrigger.click=!b._activeTrigger.click,b._isWithActiveTrigger()?b._enter(null,b):b._leave(null,b)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),a.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.remove(),this._popper&&this._popper.destroy(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const h=a.trigger(this._element,this.constructor.Event.SHOW),d=aa(this._element),j=null===d?this._element.ownerDocument.documentElement.contains(this._element):d.contains(this._element);if(h.defaultPrevented||!j)return;const b=this.getTipElement(),f=ad(this.constructor.NAME);b.setAttribute("id",f),this._element.setAttribute("aria-describedby",f),this.setContent(),this._config.animation&&b.classList.add("fade");const g="function"==typeof this._config.placement?this._config.placement.call(this,b,this._element):this._config.placement,c=this._getAttachment(g);this._addAttachmentClass(c);const{container:i}=this._config;l.set(b,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(i.appendChild(b),a.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=x.createPopper(this._element,b,this._getPopperConfig(c)),b.classList.add("show");const e="function"==typeof this._config.customClass?this._config.customClass():this._config.customClass;e&&b.classList.add(...e.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(b=>{a.on(b,"mouseover",E)});const k=this.tip.classList.contains("fade");this._queueCallback(()=>{const b=this._hoverState;this._hoverState=null,a.trigger(this._element,this.constructor.Event.SHOWN),"out"===b&&this._leave(null,this)},this.tip,k)}hide(){if(!this._popper)return;const b=this.getTipElement();if(a.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;b.classList.remove("show"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(b=>a.off(b,"mouseover",E)),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const c=this.tip.classList.contains("fade");this._queueCallback(()=>{this._isWithActiveTrigger()||("show"!==this._hoverState&&b.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),a.trigger(this._element,this.constructor.Event.HIDDEN),this._popper&&(this._popper.destroy(),this._popper=null))},this.tip,c),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const a=document.createElement("div");return a.innerHTML=this._config.template,this.tip=a.children[0],this.tip}setContent(){const a=this.getTipElement();this.setElementContent(b.findOne(".tooltip-inner",a),this.getTitle()),a.classList.remove("fade","show")}setElementContent(b,a){if(null!==b)return k(a)?(a=v(a),void(this._config.html?a.parentNode!==b&&(b.innerHTML="",b.appendChild(a)):b.textContent=a.textContent)):void(this._config.html?(this._config.sanitize&&(a=ah(a,this._config.allowList,this._config.sanitizeFn)),b.innerHTML=a):b.textContent=a)}getTitle(){let a=this._element.getAttribute("data-bs-original-title");return a||(a="function"==typeof this._config.title?this._config.title.call(this._element):this._config.title),a}updateAttachment(a){return"right"===a?"end":"left"===a?"start":a}_initializeOnDelegatedTarget(b,a){const c=this.constructor.DATA_KEY;return(a=a||l.get(b.delegateTarget,c))||(a=new this.constructor(b.delegateTarget,this._getDelegateConfig()),l.set(b.delegateTarget,c,a)),a}_getOffset(){const{offset:a}=this._config;return"string"==typeof a?a.split(",").map(a=>Number.parseInt(a,10)):"function"==typeof a?b=>a(b,this._element):a}_getPopperConfig(b){const a={placement:b,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:a=>this._handlePopperPlacementChange(a)}],onFirstUpdate:a=>{a.options.placement!==a.placement&&this._handlePopperPlacementChange(a)}};return{...a,..."function"==typeof this._config.popperConfig?this._config.popperConfig(a):this._config.popperConfig}}_addAttachmentClass(a){this.getTipElement().classList.add("bs-tooltip-"+this.updateAttachment(a))}_getAttachment(a){return aI[a.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach(b=>{if("click"===b)a.on(this._element,this.constructor.Event.CLICK,this._config.selector,a=>this.toggle(a));else if("manual"!==b){const c="hover"===b?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,d="hover"===b?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;a.on(this._element,c,this._config.selector,a=>this._enter(a)),a.on(this._element,d,this._config.selector,a=>this._leave(a))}}),this._hideModalHandler=()=>{this._element&&this.hide()},a.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const a=this._element.getAttribute("title"),b=typeof this._element.getAttribute("data-bs-original-title");(a||"string"!==b)&&(this._element.setAttribute("data-bs-original-title",a||""),!a||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",a),this._element.setAttribute("title",""))}_enter(b,a){a=this._initializeOnDelegatedTarget(b,a),b&&(a._activeTrigger["focusin"===b.type?"focus":"hover"]=!0),a.getTipElement().classList.contains("show")||"show"===a._hoverState?a._hoverState="show":(clearTimeout(a._timeout),a._hoverState="show",a._config.delay&&a._config.delay.show?a._timeout=setTimeout(()=>{"show"===a._hoverState&&a.show()},a._config.delay.show):a.show())}_leave(b,a){a=this._initializeOnDelegatedTarget(b,a),b&&(a._activeTrigger["focusout"===b.type?"focus":"hover"]=a._element.contains(b.relatedTarget)),a._isWithActiveTrigger()||(clearTimeout(a._timeout),a._hoverState="out",a._config.delay&&a._config.delay.hide?a._timeout=setTimeout(()=>{"out"===a._hoverState&&a.hide()},a._config.delay.hide):a.hide())}_isWithActiveTrigger(){for(const a in this._activeTrigger)if(this._activeTrigger[a])return!0;return!1}_getConfig(a){const b=c.getDataAttributes(this._element);return Object.keys(b).forEach(a=>{aG.has(a)&&delete b[a]}),(a={...this.constructor.Default,...b,..."object"==typeof a&&a?a:{}}).container=!1===a.container?document.body:v(a.container),"number"==typeof a.delay&&(a.delay={show:a.delay,hide:a.delay}),"number"==typeof a.title&&(a.title=a.title.toString()),"number"==typeof a.content&&(a.content=a.content.toString()),h("tooltip",a,this.constructor.DefaultType),a.sanitize&&(a.template=ah(a.template,a.allowList,a.sanitizeFn)),a}_getDelegateConfig(){const a={};if(this._config)for(const b in this._config)this.constructor.Default[b]!==this._config[b]&&(a[b]=this._config[b]);return a}_cleanTipClass(){const b=this.getTipElement(),a=b.getAttribute("class").match(aF);null!==a&&a.length>0&&a.map(a=>a.trim()).forEach(a=>b.classList.remove(a))}_handlePopperPlacementChange(b){const{state:a}=b;a&&(this.tip=a.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(a.placement)))}static jQueryInterface(a){return this.each(function(){const b=u.getOrCreateInstance(this,a);if("string"==typeof a){if(void 0===b[a])throw new TypeError(`No method named "${a}"`);b[a]()}})}}f(u);const aM=new RegExp("(^|\\s)bs-popover\\S+","g"),aN={...u.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'},aO={...u.DefaultType,content:"(string|element|function)"},aP={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class K extends u{static get Default(){return aN}static get NAME(){return"popover"}static get Event(){return aP}static get DefaultType(){return aO}isWithContent(){return this.getTitle()||this._getContent()}getTipElement(){return this.tip||(this.tip=super.getTipElement(),this.getTitle()||b.findOne(".popover-header",this.tip).remove(),this._getContent()||b.findOne(".popover-body",this.tip).remove()),this.tip}setContent(){const c=this.getTipElement();this.setElementContent(b.findOne(".popover-header",c),this.getTitle());let a=this._getContent();"function"==typeof a&&(a=a.call(this._element)),this.setElementContent(b.findOne(".popover-body",c),a),c.classList.remove("fade","show")}_addAttachmentClass(a){this.getTipElement().classList.add("bs-popover-"+this.updateAttachment(a))}_getContent(){return this._element.getAttribute("data-bs-content")||this._config.content}_cleanTipClass(){const b=this.getTipElement(),a=b.getAttribute("class").match(aM);null!==a&&a.length>0&&a.map(a=>a.trim()).forEach(a=>b.classList.remove(a))}static jQueryInterface(a){return this.each(function(){const b=K.getOrCreateInstance(this,a);if("string"==typeof a){if(void 0===b[a])throw new TypeError(`No method named "${a}"`);b[a]()}})}}f(K);const P={offset:10,method:"auto",target:""},aS={offset:"number",method:"string",target:"(string|element)"};class A extends g{constructor(b,c){super(b),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(c),this._selector=`${this._config.target} .nav-link, ${this._config.target} .list-group-item, ${this._config.target} .dropdown-item`,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,a.on(this._scrollElement,"scroll.bs.scrollspy",()=>this._process()),this.refresh(),this._process()}static get Default(){return P}static get NAME(){return"scrollspy"}refresh(){const d=this._scrollElement===this._scrollElement.window?"offset":"position",a="auto"===this._config.method?d:this._config.method,e="position"===a?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),b.find(this._selector).map(g=>{const d=L(g),f=d?b.findOne(d):null;if(f){const b=f.getBoundingClientRect();if(b.width||b.height)return[c[a](f).top+e,d]}return null}).filter(a=>a).sort((a,b)=>a[0]-b[0]).forEach(a=>{this._offsets.push(a[0]),this._targets.push(a[1])})}dispose(){a.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(a){if("string"!=typeof(a={...P,...c.getDataAttributes(this._element),..."object"==typeof a&&a?a:{}}).target&&k(a.target)){let{id:b}=a.target;b||(b=ad("scrollspy"),a.target.id=b),a.target="#"+b}return h("scrollspy",a,aS),a}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const a=this._getScrollTop()+this._config.offset,b=this._getScrollHeight(),c=this._config.offset+b-this._getOffsetHeight();if(this._scrollHeight!==b&&this.refresh(),a>=c){const a=this._targets[this._targets.length-1];this._activeTarget!==a&&this._activate(a)}else{if(this._activeTarget&&a<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(let b=this._offsets.length;b--;)this._activeTarget!==this._targets[b]&&a>=this._offsets[b]&&(void 0===this._offsets[b+1]||a<this._offsets[b+1])&&this._activate(this._targets[b])}}_activate(d){this._activeTarget=d,this._clear();const e=this._selector.split(",").map(a=>`${a}[data-bs-target="${d}"],${a}[href="${d}"]`),c=b.findOne(e.join(","));c.classList.contains("dropdown-item")?(b.findOne(".dropdown-toggle",c.closest(".dropdown")).classList.add("active"),c.classList.add("active")):(c.classList.add("active"),b.parents(c,".nav, .list-group").forEach(a=>{b.prev(a,".nav-link, .list-group-item").forEach(a=>a.classList.add("active")),b.prev(a,".nav-item").forEach(a=>{b.children(a,".nav-link").forEach(a=>a.classList.add("active"))})})),a.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:d})}_clear(){b.find(this._selector).filter(a=>a.classList.contains("active")).forEach(a=>a.classList.remove("active"))}static jQueryInterface(a){return this.each(function(){const b=A.getOrCreateInstance(this,a);if("string"==typeof a){if(void 0===b[a])throw new TypeError(`No method named "${a}"`);b[a]()}})}}a.on(window,"load.bs.scrollspy.data-api",()=>{b.find('[data-bs-spy="scroll"]').forEach(a=>new A(a))}),f(A);class C extends g{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active"))return;let c;const e=n(this._element),d=this._element.closest(".nav, .list-group");if(d){const a="UL"===d.nodeName||"OL"===d.nodeName?":scope > li > .active":".active";c=b.find(a,d),c=c[c.length-1]}const f=c?a.trigger(c,"hide.bs.tab",{relatedTarget:this._element}):null;if(a.trigger(this._element,"show.bs.tab",{relatedTarget:c}).defaultPrevented||null!==f&&f.defaultPrevented)return;this._activate(this._element,d);const g=()=>{a.trigger(c,"hidden.bs.tab",{relatedTarget:this._element}),a.trigger(this._element,"shown.bs.tab",{relatedTarget:c})};e?this._activate(e,e.parentNode,g):g()}_activate(d,a,e){const c=(!a||"UL"!==a.nodeName&&"OL"!==a.nodeName?b.children(a,".active"):b.find(":scope > li > .active",a))[0],g=e&&c&&c.classList.contains("fade"),f=()=>this._transitionComplete(d,c,e);c&&g?(c.classList.remove("show"),this._queueCallback(f,d,!0)):f()}_transitionComplete(a,d,e){if(d){d.classList.remove("active");const a=b.findOne(":scope > .dropdown-menu .active",d.parentNode);a&&a.classList.remove("active"),"tab"===d.getAttribute("role")&&d.setAttribute("aria-selected",!1)}a.classList.add("active"),"tab"===a.getAttribute("role")&&a.setAttribute("aria-selected",!0),t(a),a.classList.contains("fade")&&a.classList.add("show");let c=a.parentNode;if(c&&"LI"===c.nodeName&&(c=c.parentNode),c&&c.classList.contains("dropdown-menu")){const c=a.closest(".dropdown");c&&b.find(".dropdown-toggle",c).forEach(a=>a.classList.add("active")),a.setAttribute("aria-expanded",!0)}e&&e()}static jQueryInterface(a){return this.each(function(){const b=C.getOrCreateInstance(this);if("string"==typeof a){if(void 0===b[a])throw new TypeError(`No method named "${a}"`);b[a]()}})}}a.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',function(a){["A","AREA"].includes(this.tagName)&&a.preventDefault(),w(this)||C.getOrCreateInstance(this).show()}),f(C);const aV={animation:"boolean",autohide:"boolean",delay:"number"},ae={animation:!0,autohide:!0,delay:5e3};class I extends g{constructor(a,b){super(a),this._config=this._getConfig(b),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return aV}static get Default(){return ae}static get NAME(){return"toast"}show(){a.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),t(this._element),this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),this._element.classList.add("show"),a.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this._element.classList.contains("show")&&(a.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.remove("show"),this._queueCallback(()=>{this._element.classList.add("hide"),a.trigger(this._element,"hidden.bs.toast")},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),super.dispose()}_getConfig(a){return a={...ae,...c.getDataAttributes(this._element),..."object"==typeof a&&a?a:{}},h("toast",a,this.constructor.DefaultType),a}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(b,a){switch(b.type){case"mouseover":case"mouseout":this._hasMouseInteraction=a;break;case"focusin":case"focusout":this._hasKeyboardInteraction=a}if(a)return void this._clearTimeout();const c=b.relatedTarget;this._element===c||this._element.contains(c)||this._maybeScheduleHide()}_setListeners(){a.on(this._element,"click.dismiss.bs.toast",'[data-bs-dismiss="toast"]',()=>this.hide()),a.on(this._element,"mouseover.bs.toast",a=>this._onInteraction(a,!0)),a.on(this._element,"mouseout.bs.toast",a=>this._onInteraction(a,!1)),a.on(this._element,"focusin.bs.toast",a=>this._onInteraction(a,!0)),a.on(this._element,"focusout.bs.toast",a=>this._onInteraction(a,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(a){return this.each(function(){const b=I.getOrCreateInstance(this,a);if("string"==typeof a){if(void 0===b[a])throw new TypeError(`No method named "${a}"`);b[a](this)}})}}return f(I),{Alert:y,Button:F,Carousel:j,Collapse:i,Dropdown:d,Modal:B,Offcanvas:s,Popover:K,ScrollSpy:A,Tab:C,Toast:I,Tooltip:u}}),e=this,t=function(){"use strict";var N,_,A,Z,a,X,n,C,g,V,U,T,S,R,O,r,u,q,s,K,I,ac,l,o,y,z,H,p,J,F,D,k;function G(a){return(G="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a})(a)}function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function ad(d,c){for(var b=0,a;b<c.length;b++)a=c[b],a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(d,a.key,a)}function b(a,b,c){return b&&ad(a.prototype,b),c&&ad(a,c),a}function t(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function L(b,d){var c=Object.keys(b),a;return Object.getOwnPropertySymbols&&(a=Object.getOwnPropertySymbols(b),d&&(a=a.filter(function(a){return Object.getOwnPropertyDescriptor(b,a).enumerable})),c.push.apply(c,a)),c}function M(c){for(var b=1,a;b<arguments.length;b++)a=null!=arguments[b]?arguments[b]:{},b%2?L(Object(a),!0).forEach(function(b){t(c,b,a[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(c,Object.getOwnPropertyDescriptors(a)):L(Object(a)).forEach(function(b){Object.defineProperty(c,b,Object.getOwnPropertyDescriptor(a,b))});return c}function j(b,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");b.prototype=Object.create(a&&a.prototype,{constructor:{value:b,writable:!0,configurable:!0}}),a&&P(b,a)}function v(a){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(a){return a.__proto__||Object.getPrototypeOf(a)})(a)}function P(a,b){return(P=Object.setPrototypeOf||function(a,b){return a.__proto__=b,a})(a,b)}function ak(b,a){return!a||"object"!=typeof a&&"function"!=typeof a?function(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}(b):a}function h(a){var b=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(a){return!1}}();return function(){var c,d=v(a),e;return b?(e=v(this).constructor,c=Reflect.construct(d,arguments,e)):c=d.apply(this,arguments),ak(this,c)}}function i(a){return function(a){if(Array.isArray(a))return w(a)}(a)||function(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}(a)||function(a,c){if(a){if("string"==typeof a)return w(a,c);var b=Object.prototype.toString.call(a).slice(8,-1);return"Object"===b&&a.constructor&&(b=a.constructor.name),"Map"===b||"Set"===b?Array.from(a):"Arguments"===b||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(b)?w(a,c):void 0}}(a)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(c,a){(null==a||a>c.length)&&(a=c.length);for(var b=0,d=new Array(a);b<a;b++)d[b]=c[b];return d}function f(a){return Array.isArray?Array.isArray(a):"[object Array]"===$(a)}function e(a){return"string"==typeof a}function W(a){return"number"==typeof a}function ai(a){return!0===a||!1===a||function(a){return Y(a)&&null!==a}(a)&&"[object Boolean]"==$(a)}function Y(a){return"object"===G(a)}function d(a){return null!=a}function B(a){return!a.trim().length}function $(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":Object.prototype.toString.call(a)}N=function(a){return"Invalid value for key ".concat(a)},_=function(a){return"Pattern length exceeds max of ".concat(a,".")},A=Object.prototype.hasOwnProperty,Z=function(){function a(e){var d=this,b;c(this,a),this._keys=[],this._keyMap={},b=0,e.forEach(function(c){var a=aa(c);b+=a.weight,d._keys.push(a),d._keyMap[a.id]=a,b+=a.weight}),this._keys.forEach(function(a){a.weight/=b})}return b(a,[{key:"get",value:function(a){return this._keyMap[a]}},{key:"keys",value:function(){return this._keys}},{key:"toJSON",value:function(){return JSON.stringify(this._keys)}}]),a}();function aa(a){var c=null,d=null,g=null,h=1,b;if(e(a)||f(a))g=a,c=ab(a),d=x(a);else{if(!A.call(a,"name"))throw new Error(function(a){return"Missing ".concat(a," property in key")}("name"));if(b=a.name,g=b,A.call(a,"weight")&&(h=a.weight)<=0)throw new Error(function(a){return"Property 'weight' in key '".concat(a,"' must be a positive integer")}(b));c=ab(b),d=x(b)}return{path:c,id:d,weight:h,src:g}}function ab(a){return f(a)?a:a.split(".")}function x(a){return f(a)?a.join("."):a}a=M({},{isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:function(a,b){return a.score===b.score?a.idx<b.idx?-1:1:a.score<b.score?-1:1}},{},{includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},{},{location:0,threshold:.6,distance:100},{},{useExtendedSearch:!1,getFn:function(g,b){var a=[],c=!1;return function k(j,g,h){var b,i,l;if(d(j))if(g[h]){if(b=j[g[h]],!d(b))return;if(h===g.length-1&&(e(b)||W(b)||ai(b)))a.push(function(a){return null==a?"":function(a){if("string"==typeof a)return a;var b=a+"";return"0"==b&&1/a==-1/0?"-0":b}(a)}(b));else if(f(b)){c=!0;for(i=0,l=b.length;i<l;i+=1)k(b[i],g,h+1)}else g.length&&k(b,g,h+1)}else a.push(j)}(g,e(b)?b.split("."):b,0),c?a:a[0]},ignoreLocation:!1,ignoreFieldNorm:!1}),X=/[^ ]+/g;function af(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3,a=new Map,b=Math.pow(10,c);return{get:function(f){var c=f.match(X).length,e,d;return a.has(c)?a.get(c):(e=1/Math.sqrt(c),d=parseFloat(Math.round(e*b)/b),a.set(c,d),d)},clear:function(){a.clear()}}}n=function(){function g(){var d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},b=d.getFn,e=void 0===b?a.getFn:b;c(this,g),this.norm=af(3),this.getFn=e,this.isCreated=!1,this.setIndexRecords()}return b(g,[{key:"setSources",value:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=a}},{key:"setIndexRecords",value:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=a}},{key:"setKeys",value:function(){var b=this,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=a,this._keysMap={},a.forEach(function(a,c){b._keysMap[a.id]=c})}},{key:"create",value:function(){var a=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,e(this.docs[0])?this.docs.forEach(function(b,c){a._addString(b,c)}):this.docs.forEach(function(b,c){a._addObject(b,c)}),this.norm.clear())}},{key:"add",value:function(a){var b=this.size();e(a)?this._addString(a,b):this._addObject(a,b)}},{key:"removeAt",value:function(b){this.records.splice(b,1);for(var a=b,c=this.size();a<c;a+=1)this.records[a].i-=1}},{key:"getValueForItemAtKeyId",value:function(a,b){return a[this._keysMap[b]]}},{key:"size",value:function(){return this.records.length}},{key:"_addString",value:function(a,b){if(d(a)&&!B(a)){var c={v:a,i:b,n:this.norm.get(a)};this.records.push(c)}}},{key:"_addObject",value:function(c,g){var a=this,b={i:g,$:{}};this.keys.forEach(function(j,h){var g=a.getFn(c,j.path),i;d(g)&&(f(g)?!function(){for(var k=[],i=[{nestedArrIndex:-1,value:g}],j,l,c,m;i.length;)j=i.pop(),l=j.nestedArrIndex,c=j.value,d(c)&&(e(c)&&!B(c)?(m={v:c,i:l,n:a.norm.get(c)},k.push(m)):f(c)&&c.forEach(function(a,b){i.push({nestedArrIndex:b,value:a})}));b.$[h]=k}():B(g)||(i={v:g,n:a.norm.get(g)},b.$[h]=i))}),this.records.push(b)}},{key:"toJSON",value:function(){return{keys:this.keys,records:this.records}}}]),g}();function ae(d,e){var f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=f.getFn,g=void 0===c?a.getFn:c,b=new n({getFn:g});return b.setKeys(d.map(aa)),b.setSources(e),b.create(),b}function m(o){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f=b.errors,n=void 0===f?0:f,g=b.currentLocation,l=void 0===g?0:g,i=b.expectedLocation,k=void 0===i?0:i,j=b.distance,e=void 0===j?a.distance:j,h=b.ignoreLocation,m=void 0===h?a.ignoreLocation:h,c=n/o.length,d;return m?c:(d=Math.abs(k-l),e?c+d/e:d?1:c)}function ao(){for(var d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.minMatchCharLength,f=[],b=-1,g=-1,c=0,i=d.length,e;c<i;c+=1)e=d[c],e&&-1===b?b=c:e||-1===b||((g=c-1)-b+1>=h&&f.push([b,g]),b=-1);return d[c-1]&&c-b>=h&&f.push([b,c-1]),f}function ah(d){for(var b={},a=0,e=d.length,c;a<e;a+=1)c=d.charAt(a),b[c]=(b[c]||0)|1<<e-a-1;return b}C=function(){function d(t){var A=this,b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=b.location,z=void 0===n?a.location:n,l=b.threshold,y=void 0===l?a.threshold:l,k=b.distance,x=void 0===k?a.distance:k,m=b.includeMatches,w=void 0===m?a.includeMatches:m,o=b.findAllMatches,B=void 0===o?a.findAllMatches:o,q=b.minMatchCharLength,u=void 0===q?a.minMatchCharLength:q,s=b.isCaseSensitive,j=void 0===s?a.isCaseSensitive:s,r=b.ignoreLocation,v=void 0===r?a.ignoreLocation:r,g,f,e,i,p,h;if(c(this,d),this.options={location:z,threshold:y,distance:x,includeMatches:w,findAllMatches:B,minMatchCharLength:u,isCaseSensitive:j,ignoreLocation:v},this.pattern=j?t:t.toLowerCase(),this.chunks=[],this.pattern.length)if(g=function(a,b){A.chunks.push({pattern:a,alphabet:ah(a),startIndex:b})},f=this.pattern.length,f>32){for(e=0,i=f%32,p=f-i;e<p;)g(this.pattern.substr(e,32),e),e+=32;i&&(h=f-32,g(this.pattern.substr(h),h))}else g(this.pattern,0)}return b(d,[{key:"searchIn",value:function(c){var q=this.options,s=q.isCaseSensitive,g=q.includeMatches,h,b,p,k,r,l,n,o,e,f,d,j;return s||(c=c.toLowerCase()),this.pattern===c?(h={isMatch:!0,score:0},g&&(h.indices=[[0,c.length-1]]),h):(b=this.options,p=b.location,k=b.distance,r=b.threshold,l=b.findAllMatches,n=b.minMatchCharLength,o=b.ignoreLocation,e=[],f=0,d=!1,this.chunks.forEach(function(b){var v=b.pattern,s=b.alphabet,t=b.startIndex,h=function(A,f,U){var g=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},J=g.location,S=void 0===J?a.location:J,O=g.distance,t=void 0===O?a.distance:O,N=g.threshold,R=void 0===N?a.threshold:N,Q=g.findAllMatches,T=void 0===Q?a.findAllMatches:Q,F=g.minMatchCharLength,H=void 0===F?a.minMatchCharLength:F,I=g.includeMatches,M=void 0===I?a.includeMatches:I,P=g.ignoreLocation,z=void 0===P?a.ignoreLocation:P,q,h,l,b,j,k,n,y,K,u,p,v,s,E,e,r,d,L,B,w,i,c,o,D,G,x,C;if(f.length>32)throw new Error(_(32));for(q,h=f.length,l=A.length,b=Math.max(0,Math.min(S,l)),j=R,k=b,n=H>1||M,y=n?Array(l):[];(q=A.indexOf(f,k))>-1;)if(K=m(f,{currentLocation:q,expectedLocation:b,distance:t,ignoreLocation:z}),j=Math.min(K,j),k=q+h,n)for(u=0;u<h;)y[q+u]=1,u+=1;k=-1;for(p=[],v=1,s=h+l,E=1<<h-1,e=0;e<h;e+=1){for(r=0,d=s;r<d;)L=m(f,{errors:e,currentLocation:b+d,expectedLocation:b,distance:t,ignoreLocation:z}),L<=j?r=d:s=d,d=Math.floor((s-r)/2+r);s=d,B=Math.max(1,b-d+1),w=T?l:Math.min(b+d,l)+h,i=Array(w+2),i[w+1]=(1<<e)-1;for(c=w;c>=B;c-=1)if(o=c-1,D=U[A.charAt(o)],n&&(y[o]=+!!D),i[c]=(i[c+1]<<1|1)&D,e&&(i[c]|=(p[c+1]|p[c])<<1|1|p[c+1]),i[c]&E&&(v=m(f,{errors:e,currentLocation:o,expectedLocation:b,distance:t,ignoreLocation:z}))<=j){if(j=v,(k=o)<=b)break;B=Math.max(1,2*b-k)}if(G=m(f,{errors:e+1,currentLocation:b,expectedLocation:b,distance:t,ignoreLocation:z}),G>j)break;p=i}return x={isMatch:k>=0,score:Math.max(.001,v)},n&&(C=ao(y,H),C.length?M&&(x.indices=C):x.isMatch=!1),x}(c,v,s,{location:p+t,distance:k,threshold:r,findAllMatches:l,minMatchCharLength:n,includeMatches:g,ignoreLocation:o}),q=h.isMatch,u=h.score,j=h.indices;q&&(d=!0),f+=u,q&&j&&(e=[].concat(i(e),i(j)))}),j={isMatch:d,score:d?f/this.chunks.length:1},d&&g&&(j.indices=e),j)}}]),d}(),g=function(){function a(b){c(this,a),this.pattern=b}return b(a,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(a){return Q(a,this.multiRegex)}},{key:"isSingleMatch",value:function(a){return Q(a,this.singleRegex)}}]),a}();function Q(b,c){var a=b.match(c);return a?a[1]:null}V=function(d){j(a,d);var e=h(a);function a(b){return c(this,a),e.call(this,b)}return b(a,[{key:"search",value:function(b){var a=b===this.pattern;return{isMatch:a,score:a?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),a}(g),U=function(d){j(a,d);var e=h(a);function a(b){return c(this,a),e.call(this,b)}return b(a,[{key:"search",value:function(a){var b=-1===a.indexOf(this.pattern);return{isMatch:b,score:b?0:1,indices:[0,a.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),a}(g),T=function(d){j(a,d);var e=h(a);function a(b){return c(this,a),e.call(this,b)}return b(a,[{key:"search",value:function(b){var a=b.startsWith(this.pattern);return{isMatch:a,score:a?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),a}(g),S=function(d){j(a,d);var e=h(a);function a(b){return c(this,a),e.call(this,b)}return b(a,[{key:"search",value:function(a){var b=!a.startsWith(this.pattern);return{isMatch:b,score:b?0:1,indices:[0,a.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),a}(g),R=function(d){j(a,d);var e=h(a);function a(b){return c(this,a),e.call(this,b)}return b(a,[{key:"search",value:function(a){var b=a.endsWith(this.pattern);return{isMatch:b,score:b?0:1,indices:[a.length-this.pattern.length,a.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),a}(g),O=function(d){j(a,d);var e=h(a);function a(b){return c(this,a),e.call(this,b)}return b(a,[{key:"search",value:function(a){var b=!a.endsWith(this.pattern);return{isMatch:b,score:b?0:1,indices:[0,a.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),a}(g),r=function(e){j(d,e);var f=h(d);function d(o){var g,b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},h=b.location,v=void 0===h?a.location:h,j=b.threshold,t=void 0===j?a.threshold:j,l=b.distance,r=void 0===l?a.distance:l,n=b.includeMatches,p=void 0===n?a.includeMatches:n,e=b.findAllMatches,q=void 0===e?a.findAllMatches:e,m=b.minMatchCharLength,s=void 0===m?a.minMatchCharLength:m,k=b.isCaseSensitive,u=void 0===k?a.isCaseSensitive:k,i=b.ignoreLocation,w=void 0===i?a.ignoreLocation:i;return c(this,d),(g=f.call(this,o))._bitapSearch=new C(o,{location:v,threshold:t,distance:r,includeMatches:p,findAllMatches:q,minMatchCharLength:s,isCaseSensitive:u,ignoreLocation:w}),g}return b(d,[{key:"search",value:function(a){return this._bitapSearch.searchIn(a)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),d}(g),u=function(d){j(a,d);var e=h(a);function a(b){return c(this,a),e.call(this,b)}return b(a,[{key:"search",value:function(e){for(var a,b=0,c=[],f=this.pattern.length,d;(a=e.indexOf(this.pattern,b))>-1;)b=a+f,c.push([a,b-1]);return d=!!c.length,{isMatch:d,score:d?0:1,indices:c}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),a}(g),q=[V,u,T,S,O,R,U,r],s=q.length,K=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/;function aj(b){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b.split("|").map(function(l){for(var k=l.trim().split(K).filter(function(a){return a&&!!a.trim()}),d=[],e=0,m=k.length,g,c,b,h,i,f,j;e<m;e+=1){for(g=k[e],c=!1,b=-1;!c&&++b<s;)h=q[b],i=h.isMultiMatch(g),i&&(d.push(new h(i,a)),c=!0);if(!c)for(b=-1;++b<s;)if(f=q[b],j=f.isSingleMatch(g),j){d.push(new f(j,a));break}}return d})}I=new Set([r.type,u.type]),ac=function(){function d(m){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f=b.isCaseSensitive,g=void 0===f?a.isCaseSensitive:f,h=b.includeMatches,t=void 0===h?a.includeMatches:h,j=b.minMatchCharLength,r=void 0===j?a.minMatchCharLength:j,l=b.ignoreLocation,o=void 0===l?a.ignoreLocation:l,n=b.findAllMatches,p=void 0===n?a.findAllMatches:n,e=b.location,q=void 0===e?a.location:e,k=b.threshold,s=void 0===k?a.threshold:k,i=b.distance,u=void 0===i?a.distance:i;c(this,d),this.query=null,this.options={isCaseSensitive:g,includeMatches:t,minMatchCharLength:r,findAllMatches:p,ignoreLocation:o,location:q,threshold:s,distance:u},this.pattern=g?m:m.toLowerCase(),this.query=aj(this.pattern,this.options)}return b(d,[{key:"searchIn",value:function(e){var k=this.query,h,m,b,a,c,d,r,n,f,p,j,g,q,l,s,t,o;if(!k)return{isMatch:!1,score:1};h=this.options,m=h.includeMatches,e=h.isCaseSensitive?e:e.toLowerCase();for(b=0,a=[],c=0,d=0,r=k.length;d<r;d+=1){n=k[d],a.length=0,b=0;for(f=0,p=n.length;f<p;f+=1){if(j=n[f],g=j.search(e),q=g.isMatch,l=g.indices,s=g.score,!q){c=0,b=0,a.length=0;break}b+=1,c+=s,m&&(t=j.constructor.type,I.has(t)?a=[].concat(i(a),i(l)):a.push(l))}if(b)return o={isMatch:!0,score:c/b},m&&(o.indices=a),o}return{isMatch:!1,score:1}}}],[{key:"condition",value:function(b,a){return a.useExtendedSearch}}]),d}(),l=[];function E(a,b){for(var c=0,e=l.length,d;c<e;c+=1)if(d=l[c],d.condition(a,b))return new d(a,b);return new C(a,b)}o="$and",y="$or",z="$path",H="$val",p=function(a){return!(!a[o]&&!a[y])},J=function(a){return!!a[z]},F=function(a){return!f(a)&&Y(a)&&!p(a)},D=function(a){return t({},o,Object.keys(a).map(function(b){return t({},b,a[b])}))};function al(c,d){var b=d.ignoreFieldNorm,e=void 0===b?a.ignoreFieldNorm:b;c.forEach(function(a){var b=1;a.matches.forEach(function(a){var c=a.key,g=a.norm,d=a.score,f=c?c.weight:null;b*=Math.pow(0===d&&f?Number.EPSILON:d,(f||1)*(e?1:g))}),a.score=b})}function am(c,a){var b=c.matches;a.matches=[],d(b)&&b.forEach(function(b){if(d(b.indices)&&b.indices.length){var c={indices:b.indices,value:b.value};b.key&&(c.key=b.key.src),b.idx>-1&&(c.refIndex=b.idx),a.matches.push(c)}})}function an(a,b){b.score=a.score}function ag(f,i){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},d=c.includeMatches,g=void 0===d?a.includeMatches:d,e=c.includeScore,h=void 0===e?a.includeScore:e,b=[];return g&&b.push(am),h&&b.push(an),f.map(function(a){var c=a.idx,d={item:i[c],refIndex:c};return b.length&&b.forEach(function(b){b(a,d)}),d})}return k=function(){function g(b){var d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments.length>2?arguments[2]:void 0;c(this,g),this.options=M({},a,{},d),this.options.useExtendedSearch,this._keyStore=new Z(this.options.keys),this.setCollection(b,e)}return b(g,[{key:"setCollection",value:function(b,a){if(this._docs=b,a&&!(a instanceof n))throw new Error("Incorrect 'index' type");this._myIndex=a||ae(this.options.keys,this._docs,{getFn:this.options.getFn})}},{key:"add",value:function(a){d(a)&&(this._docs.push(a),this._myIndex.add(a))}},{key:"remove",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},c=[],a=0,d=this._docs.length,b;a<d;a+=1)b=this._docs[a],e(b,a)&&(this.removeAt(a),a-=1,d-=1,c.push(b));return c}},{key:"removeAt",value:function(a){this._docs.splice(a,1),this._myIndex.removeAt(a)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(c){var g=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f=g.limit,d=void 0===f?-1:f,a=this.options,h=a.includeMatches,i=a.includeScore,j=a.shouldSort,k=a.sortFn,l=a.ignoreFieldNorm,b=e(c)?e(this._docs[0])?this._searchStringList(c):this._searchObjectList(c):this._searchLogical(c);return al(b,{ignoreFieldNorm:l}),j&&b.sort(k),W(d)&&d>-1&&(b=b.slice(0,d)),ag(b,this._docs,{includeMatches:h,includeScore:i})}},{key:"_searchStringList",value:function(b){var c=E(b,this.options),e=this._myIndex.records,a=[];return e.forEach(function(f){var b=f.v,j=f.i,k=f.n,e,g,h,i;d(b)&&(e=c.searchIn(b),g=e.isMatch,h=e.score,i=e.indices,g&&a.push({item:b,idx:j,matches:[{score:h,value:b,norm:k,indices:i}]}))}),a}},{key:"_searchLogical",value:function(g){var b=this,h=function(a,c){var d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},b=d.auto,g=void 0===b||b,h=function l(a){var b=Object.keys(a),j=J(a),d,h,i,k;if(!j&&b.length>1&&!p(a))return l(D(a));if(F(a)){if(d=j?a[z]:b[0],h=j?a[H]:a[d],!e(h))throw new Error(N(d));return i={keyId:x(d),pattern:h},g&&(i.searcher=E(h,c)),i}return k={children:[],operator:b[0]},b.forEach(function(c){var b=a[c];f(b)&&b.forEach(function(a){k.children.push(l(a))})}),k};return p(a)||(a=D(a)),h(a)}(g,this.options),j=this._myIndex.records,a={},c=[];return j.forEach(function(j){var f=j.$,e=j.i,g;d(f)&&(g=function r(a,d,l){var k,p,h,c,f,n,m,e,g,q,j;if(!a.children)return k=a.keyId,p=a.searcher,h=b._findMatches({key:b._keyStore.get(k),value:b._myIndex.getValueForItemAtKeyId(d,k),searcher:p}),h&&h.length?[{idx:l,item:d,matches:h}]:[];switch(a.operator){case o:for(c=[],f=0,n=a.children.length;f<n;f+=1){if(m=r(a.children[f],d,l),!m.length)return[];c.push.apply(c,i(m))}return c;case y:for(e=[],g=0,q=a.children.length;g<q;g+=1)if(j=r(a.children[g],d,l),j.length){e.push.apply(e,i(j));break}return e}}(h,f,e),g.length&&(a[e]||(a[e]={idx:e,item:f,matches:[]},c.push(a[e])),g.forEach(function(c){var b,d=c.matches;(b=a[e].matches).push.apply(b,i(d))})))}),c}},{key:"_searchObjectList",value:function(h){var c=this,e=E(h,this.options),b=this._myIndex,f=b.keys,g=b.records,a=[];return g.forEach(function(h){var g=h.$,j=h.i,b;d(g)&&(b=[],f.forEach(function(a,d){b.push.apply(b,i(c._findMatches({key:a,value:g[d],searcher:e})))}),b.length&&a.push({idx:j,item:g,matches:b}))}),a}},{key:"_findMatches",value:function(e){var j=e.key,a=e.value,h=e.searcher,c,g,i,b,k,l,m;return d(a)?(c=[],f(a)?a.forEach(function(b){var e=b.v,k=b.i,l=b.n,a,f,g,i;d(e)&&(a=h.searchIn(e),f=a.isMatch,g=a.score,i=a.indices,f&&c.push({score:g,key:j,value:e,idx:k,norm:l,indices:i}))}):(g=a.v,i=a.n,b=h.searchIn(g),k=b.isMatch,l=b.score,m=b.indices,k&&c.push({score:l,key:j,value:g,norm:i,indices:m})),c):[]}}]),g}(),k.version="6.4.6",k.createIndex=ae,k.parseIndex=function(d){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=e.getFn,f=void 0===c?a.getFn:c,g=d.keys,h=d.records,b=new n({getFn:f});return b.setKeys(g),b.setIndexRecords(h),b},k.config=a,function(){l.push.apply(l,arguments)}(ac),k},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Fuse=t(),!function(b,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],a):b.Mark=a(b.jQuery)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},d=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},e=function(){function a(d,c){for(var b=0,a;b<c.length;b++)a=c[b],a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(d,a.key,a)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),g=Object.assign||function(d){for(var c=1,a,b;c<arguments.length;c++){a=arguments[c];for(b in a)Object.prototype.hasOwnProperty.call(a,b)&&(d[b]=a[b])}return d},c=function(){function a(b){var c=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],f=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;d(this,a),this.ctx=b,this.iframes=c,this.exclude=e,this.iframesTimeout=f}return e(a,[{key:"getContexts",value:function(){var a=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(b){var c=a.filter(function(a){return a.contains(b)}).length>0;-1!==a.indexOf(b)||c||a.push(b)}),a}},{key:"getIframeContents",value:function(c,d){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},a=void 0,b;try{if(b=c.contentWindow,a=b.document,!b||!a)throw new Error("iframe inaccessible")}catch(a){e()}a&&d(a)}},{key:"isIframeBlank",value:function(a){var b=a.getAttribute("src").trim();return"about:blank"===a.contentWindow.location.href&&"about:blank"!==b&&b}},{key:"observeIframeLoad",value:function(a,g,b){var c=this,d=!1,e=null,f=function f(){if(!d){d=!0,clearTimeout(e);try{c.isIframeBlank(a)||(a.removeEventListener("load",f),c.getIframeContents(a,g,b))}catch(a){b()}}};a.addEventListener("load",f),e=setTimeout(f,this.iframesTimeout)}},{key:"onIframeReady",value:function(a,c,b){try{"complete"===a.contentWindow.document.readyState?this.isIframeBlank(a)?this.observeIframeLoad(a,c,b):this.getIframeContents(a,c,b):this.observeIframeLoad(a,c,b)}catch(a){b()}}},{key:"waitForIframes",value:function(c,a){var d=this,b=0;this.forEachIframe(c,function(){return!0},function(c){b++,d.waitForIframes(c.querySelector("html"),function(){--b||a()})},function(b){b||a()})}},{key:"forEachIframe",value:function(h,i,j){var f=this,g=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},c=h.querySelectorAll("iframe"),d=c.length,e=0,b;c=Array.prototype.slice.call(c),b=function(){--d<=0&&g(e)},d||b(),c.forEach(function(c){a.matches(c,f.exclude)?b():f.onIframeReady(c,function(a){i(c)&&(e++,j(a)),b()},b)})}},{key:"createIterator",value:function(a,b,c){return document.createNodeIterator(a,b,c,!1)}},{key:"createInstanceOnIframe",value:function(b){return new a(b.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(c,a,b){if(c.compareDocumentPosition(b)&Node.DOCUMENT_POSITION_PRECEDING){if(null===a)return!0;if(a.compareDocumentPosition(b)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(a){var b=a.previousNode();return{prevNode:b,node:null===b?a.nextNode():a.nextNode()&&a.nextNode()}}},{key:"checkIframeFilter",value:function(e,f,b,c){var a=!1,d=!1;return c.forEach(function(c,e){c.val===b&&(a=e,d=c.handled)}),this.compareNodeIframe(e,f,b)?(!1!==a||d?!1===a||d||(c[a].handled=!0):c.push({val:b,handled:!0}),!0):(!1===a&&c.push({val:b,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(b,c,d,e){var a=this;b.forEach(function(b){b.handled||a.getIframeContents(b.val,function(b){a.createInstanceOnIframe(b).forEachNode(c,d,e)})})}},{key:"iterateThroughNodes",value:function(a,g,h,b,l){for(var d,e=this,k=this.createIterator(g,a,b),i=[],f=[],c=void 0,j=void 0;void 0,d=e.getIteratorNode(k),j=d.prevNode,c=d.node;)this.iframes&&this.forEachIframe(g,function(a){return e.checkIframeFilter(c,j,a,i)},function(c){e.createInstanceOnIframe(c).forEachNode(a,function(a){return f.push(a)},b)}),f.push(c);f.forEach(function(a){h(a)}),this.iframes&&this.handleOpenIframes(i,a,h,b),l()}},{key:"forEachNode",value:function(g,e,f){var a=this,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},d=this.getContexts(),b=d.length;b||c(),d.forEach(function(d){var h=function(){a.iterateThroughNodes(g,d,e,f,function(){--b<=0&&c()})};a.iframes?a.waitForIframes(d,h):h()})}}],[{key:"matches",value:function(a,b){var e="string"==typeof b?[b]:b,d=a.matches||a.matchesSelector||a.msMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.webkitMatchesSelector,c;return!!d&&(c=!1,e.every(function(b){return!d.call(a,b)||(c=!0,!1)}),c)}}]),a}(),b=function(){function a(c){d(this,a),this.ctx=c,this.ie=!1;var b=window.navigator.userAgentData;(b.indexOf("MSIE")>-1||b.indexOf("Trident")>-1)&&(this.ie=!0)}return e(a,[{key:"log",value:function(c){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",a=this.opt.log;this.opt.debug&&"object"===(void 0===a?"undefined":f(a))&&"function"==typeof a[b]&&a[b]("mark.js: "+c)}},{key:"escapeStr",value:function(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(a){return"disabled"!==this.opt.wildcards&&(a=this.setupWildcardsRegExp(a)),a=this.escapeStr(a),Object.keys(this.opt.synonyms).length&&(a=this.createSynonymsRegExp(a)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(a=this.setupIgnoreJoinersRegExp(a)),this.opt.diacritics&&(a=this.createDiacriticsRegExp(a)),a=this.createMergedBlanksRegExp(a),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(a=this.createJoinersRegExp(a)),"disabled"!==this.opt.wildcards&&(a=this.createWildcardsRegExp(a)),a=this.createAccuracyRegExp(a)}},{key:"createSynonymsRegExp",value:function(e){var f=this.opt.synonyms,h=this.opt.caseSensitive?"":"i",g=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"",a,d,b,c;for(a in f)f.hasOwnProperty(a)&&(d=f[a],b="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a),c="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(d):this.escapeStr(d),""!==b&&""!==c&&(e=e.replace(new RegExp("("+this.escapeStr(b)+"|"+this.escapeStr(c)+")","gm"+h),g+"("+this.processSynomyms(b)+"|"+this.processSynomyms(c)+")"+g)));return e}},{key:"processSynomyms",value:function(a){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(a=this.setupIgnoreJoinersRegExp(a)),a}},{key:"setupWildcardsRegExp",value:function(a){return(a=a.replace(/(?:\\)*\?/g,function(a){return"\\"===a.charAt(0)?"?":""})).replace(/(?:\\)*\*/g,function(a){return"\\"===a.charAt(0)?"*":""})}},{key:"createWildcardsRegExp",value:function(b){var a="withSpaces"===this.opt.wildcards;return b.replace(/\u0001/g,a?"[\\S\\s]?":"\\S?").replace(/\u0002/g,a?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(a){return a.replace(/[^(|)\\]/g,function(a,c,d){var b=d.charAt(c+1);return/[(|)\\]/.test(b)||""===b?a:a+"\0"})}},{key:"createJoinersRegExp",value:function(c){var a=[],b=this.opt.ignorePunctuation;return Array.isArray(b)&&b.length&&a.push(this.escapeStr(b.join(""))),this.opt.ignoreJoiners&&a.push("\\u00ad\\u200b\\u200c\\u200d"),a.length?c.split(/\u0000+/).join("["+a.join("")+"]*"):c}},{key:"createDiacriticsRegExp",value:function(a){var c=this.opt.caseSensitive?"":"i",d=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],b=[];return a.split("").forEach(function(e){d.every(function(d){if(-1!==d.indexOf(e)){if(b.indexOf(d)>-1)return!1;a=a.replace(new RegExp("["+d+"]","gm"+c),"["+d+"]"),b.push(d)}return!0})}),a}},{key:"createMergedBlanksRegExp",value:function(a){return a.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(c){var d=this,b=this.opt.accuracy,e="string"==typeof b?b:b.value,a="";switch(("string"==typeof b?[]:b.limiters).forEach(function(b){a+="|"+d.escapeStr(b)}),e){case"partially":default:return"()("+c+")";case"complementary":return"()([^"+(a="\\s"+(a||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+c+"[^"+a+"]*)";case"exactly":return"(^|\\s"+a+")("+c+")(?=$|\\s"+a+")"}}},{key:"getSeparatedKeywords",value:function(b){var c=this,a=[];return b.forEach(function(b){c.opt.separateWordSearch?b.split(" ").forEach(function(b){b.trim()&&-1===a.indexOf(b)&&a.push(b)}):b.trim()&&-1===a.indexOf(b)&&a.push(b)}),{keywords:a.sort(function(a,b){return b.length-a.length}),length:a.length}}},{key:"isNumeric",value:function(a){return Number(parseFloat(a))==a}},{key:"checkRanges",value:function(a){var d=this,b,c;return!Array.isArray(a)||"[object Object]"!==Object.prototype.toString.call(a[0])?(this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(a),[]):(b=[],c=0,a.sort(function(a,b){return a.start-b.start}).forEach(function(a){var e=d.callNoMatchOnInvalidRanges(a,c),f=e.start,g=e.end;e.valid&&(a.start=f,a.length=g-f,b.push(a),c=g)}),b)}},{key:"callNoMatchOnInvalidRanges",value:function(a,e){var c=void 0,b=void 0,d=!1;return a&&void 0!==a.start?(b=(c=parseInt(a.start,10))+parseInt(a.length,10),this.isNumeric(a.start)&&this.isNumeric(a.length)&&b-e>0&&b-c>0?d=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(a)),this.opt.noMatch(a))):(this.log("Ignoring invalid range: "+JSON.stringify(a)),this.opt.noMatch(a)),{start:c,end:b,valid:d}}},{key:"checkWhitespaceRanges",value:function(c,h,f){var d=void 0,e=!0,b=f.length,g=h-b,a=parseInt(c.start,10)-g;return(d=(a=a>b?b:a)+parseInt(c.length,10))>b&&(d=b,this.log("End range automatically set to the max value of "+b)),a<0||d-a<0||a>b||d>b?(e=!1,this.log("Invalid range: "+JSON.stringify(c)),this.opt.noMatch(c)):""===f.substring(a,d).replace(/\s+/g,"")&&(e=!1,this.log("Skipping whitespace only range: "+JSON.stringify(c)),this.opt.noMatch(c)),{start:a,end:d,valid:e}}},{key:"getTextNodes",value:function(c){var d=this,a="",b=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(c){b.push({start:a.length,end:(a+=c.textContent).length,node:c})},function(a){return d.matchesExclude(a.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){c({value:a,nodes:b})})}},{key:"matchesExclude",value:function(a){return c.matches(a,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(g,c,d){var e=this.opt.element?this.opt.element:"mark",b=g.splitText(c),f=b.splitText(d-c),a=document.createElement(e);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=b.textContent,b.parentNode.replaceChild(a,b),f}},{key:"wrapRangeInMappedTextNode",value:function(a,c,b,d,e){var f=this;a.nodes.every(function(g,i){var j=a.nodes[i+1],k,h,l,m;if(void 0===j||j.start>c){if(!d(g.node))return!1;if(k=c-g.start,h=(b>g.end?g.end:b)-g.start,l=a.value.substr(0,g.start),m=a.value.substr(h+g.start),g.node=f.wrapRangeInTextNode(g.node,k,h),a.value=l+m,a.nodes.forEach(function(c,b){b>=i&&(a.nodes[b].start>0&&b!==i&&(a.nodes[b].start-=h),a.nodes[b].end-=h)}),b-=h,e(g.node.previousSibling,g.start),!(b>g.end))return!1;c=g.end}return!0})}},{key:"wrapMatches",value:function(c,b,d,e,f){var g=this,a=0===b?0:b+1;this.getTextNodes(function(b){b.nodes.forEach(function(b){var f,h,i;b=b.node;for(f=void 0;null!==(f=c.exec(b.textContent))&&""!==f[a];)if(d(f[a],b)){if(h=f.index,0!==a)for(i=1;i<a;i++)h+=f[i].length;b=g.wrapRangeInTextNode(b,h,h+f[a].length),e(b.previousSibling),c.lastIndex=0}}),f()})}},{key:"wrapMatchesAcrossElements",value:function(c,b,d,e,f){var g=this,a=0===b?0:b+1;this.getTextNodes(function(j){for(var b=void 0,h,i,k;null!==(b=c.exec(j.value))&&""!==b[a];){if(h=b.index,0!==a)for(i=1;i<a;i++)h+=b[i].length;k=h+b[a].length,g.wrapRangeInMappedTextNode(j,h,k,function(c){return d(b[a],c)},function(a,b){c.lastIndex=b,e(a)})}f()})}},{key:"wrapRangeFromIndex",value:function(b,c,d,e){var a=this;this.getTextNodes(function(f){var g=f.value.length;b.forEach(function(b,j){var e=a.checkWhitespaceRanges(b,g,f.value),h=e.start,i=e.end;e.valid&&a.wrapRangeInMappedTextNode(f,h,i,function(a){return c(a,b,f.value.substring(h,i),j)},function(a){d(a,b)})}),e()})}},{key:"unwrapMatches",value:function(a){for(var b=a.parentNode,c=document.createDocumentFragment();a.firstChild;)c.appendChild(a.removeChild(a.firstChild));b.replaceChild(c,a),this.ie?this.normalizeTextNode(b):b.normalize()}},{key:"normalizeTextNode",value:function(a){if(a){if(3===a.nodeType)for(;a.nextSibling&&3===a.nextSibling.nodeType;)a.nodeValue+=a.nextSibling.nodeValue,a.parentNode.removeChild(a.nextSibling);else this.normalizeTextNode(a.firstChild);this.normalizeTextNode(a.nextSibling)}}},{key:"markRegExp",value:function(c,e){var b=this,a,d;this.opt=e,this.log('Searching with expression "'+c+'"'),a=0,d="wrapMatches",this.opt.acrossElements&&(d="wrapMatchesAcrossElements"),this[d](c,this.opt.ignoreGroups,function(c,d){return b.opt.filter(d,c,a)},function(c){a++,b.opt.each(c)},function(){0===a&&b.opt.noMatch(c),b.opt.done(a)})}},{key:"mark",value:function(g,i){var a=this,c,e,f,b,d,h;this.opt=i,c=0,e="wrapMatches",f=this.getSeparatedKeywords("string"==typeof g?[g]:g),b=f.keywords,d=f.length,h=this.opt.caseSensitive?"":"i",this.opt.acrossElements&&(e="wrapMatchesAcrossElements"),0===d?this.opt.done(c):function j(f){var i=new RegExp(a.createRegExp(f),"gm"+h),g=0;a.log('Searching with expression "'+i+'"'),a[e](i,1,function(d,b){return a.opt.filter(b,f,c,g)},function(b){g++,c++,a.opt.each(b)},function(){0===g&&a.opt.noMatch(f),b[d-1]===f?a.opt.done(c):j(b[b.indexOf(f)+1])})}(b[0])}},{key:"markRanges",value:function(d,e){var c=this,b,a;this.opt=e,b=0,a=this.checkRanges(d),a&&a.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(a)),this.wrapRangeFromIndex(a,function(a,b,d,e){return c.opt.filter(a,b,d,e)},function(a,d){b++,c.opt.each(a,d)},function(){c.opt.done(b)})):this.opt.done(b)}},{key:"unmark",value:function(d){var b=this,a;this.opt=d,a=this.opt.element?this.opt.element:"*",a+="[data-markjs]",this.opt.className&&(a+="."+this.opt.className),this.log('Removal selector "'+a+'"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,function(a){b.unwrapMatches(a)},function(d){var e=c.matches(d,a),f=b.matchesExclude(d);return!e||f?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}},{key:"opt",set:function(a){this._opt=g({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},a)},get:function(){return this._opt}},{key:"iterator",get:function(){return new c(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),a}();return a.fn.mark=function(a,c){return new b(this.get()).mark(a,c),this},a.fn.markRegExp=function(a,c){return new b(this.get()).markRegExp(a,c),this},a.fn.markRanges=function(a,c){return new b(this.get()).markRanges(a,c),this},a.fn.unmark=function(a){return new b(this.get()).unmark(a),this},a}),summaryInclude=100,fuseOptions={isCaseSensitive:!1,includeScore:!1,shouldSort:!0,includeMatches:!0,findAllMatches:!1,minMatchCharLength:3,location:0,threshold:.5,distance:50,useExtendedSearch:!1,ignoreLocation:!1,ignoreFieldNorm:!1,keys:[{name:"title",weight:.8},{name:"tags",weight:.5},{name:"categories",weight:.5},{name:"contents",weight:.3}]},searchQuery=param("s"),searchQuery&&($("#search-query").val(searchQuery),executeSearch(searchQuery));function executeSearch(a){$.getJSON(indexURL,function(c){var d=c,e=new Fuse(d,fuseOptions),b=e.search(a);b.length>0?populateResults(b):$("#search-results").append('<div class="text-center"><img class="img-fluid mb-5" src="https://user-images.githubusercontent.com/37659754/129837093-dcf35b93-982a-48d5-a9fd-4035dcefc4e0.png" width="200"><h3>No Search Found</h3></div>')})}function populateResults(a){$.each(a,function(e,a){var b=a.item.contents,c="",d=[],f,g;fuseOptions.tokenize?d.push(searchQuery):$.each(a.matches,function(e,a){a.key==="tags"||a.key==="categories"?d.push(a.value):a.key=="contents"&&(start=a.indices[0][0]-summaryInclude>0?a.indices[0][0]-summaryInclude:0,end=a.indices[0][1]+summaryInclude<b.length?a.indices[0][1]+summaryInclude:b.length,c+=b.substring(start,end),d.push(a.value.substring(a.indices[0][0],a.indices[0][1]-a.indices[0][0]+1)))}),c.length<1&&(c+=b.substring(0,summaryInclude*2)),f=$("#search-result-template").html(),g=render(f,{key:e,title:a.item.title,image:a.item.image,date:a.item.date,link:a.item.permalink,tags:a.item.tags,categories:a.item.categories,snippet:c}),$("#search-results").append(g),$.each(d,function(b,a){$("#summary-"+e).mark(a)})})}function param(a){return decodeURIComponent((location.search.split(a+"=")[1]||"").split("&")[0]).replace(/\+/g," ")}function render(a,d){for(var h=/\$\{\s*isset ([a-zA-Z]*) \s*\}(.*)\$\{\s*end\s*}/g,b=a,c,e,f,g;(c=h.exec(a))!==null;)d[c[1]]?b=b.replace(c[0],c[2]):b=b.replace(c[0],"");a=b;for(e in d)f="\\$\\{\\s*"+e+"\\s*\\}",g=new RegExp(f,"g"),a=a.replace(g,d[e]);return a}if(document.querySelector(".search-desktop").addEventListener("click",function(){setTimeout(function(){document.querySelector(".search-input").focus()},400)}),document.querySelector(".search-mobile").addEventListener("click",function(){setTimeout(function(){document.querySelector(".search-input").focus()},400)}),"undefined"==typeof jQuery)throw new Error("Corner Popup requires jQuery");!function(a){a.fn.cornerpopup=function(b){var d;b=a.extend({active:1,variant:1,slide:0,slideTop:0,timeOut:0,delay:0,closeBtn:1,shadow:1,link1:"https://wp.pl, _self",link2:"#, _self",popupImg:"img/img-1.png",cookieImg:"img/cookie.png",messageImg:"img/icon-3.png",header:"Corner Popup",text1:'This website uses cookies to ensure you get the best experience on our website. <a href="http://www.allaboutcookies.org" target="_blank" class="cookie-more">More information.</a>',text2:"This is just a sample text. Feel free to change it to your own using proper parameter.",button1:"more",button2:"Got it",button3:"OK",content:"Your own html here.",loadContent:"no",width:"390px",font:"'Open Sans', 'Halvetica', sans-serif",colors:"#543189",bgColor:"#fff",borderColor:"#efefef",textColor:"#181818",iconColor:"#543189",btnColor:"#543189",btnTextColor:"#fff",corners:"0px",padding:0,position:"right",escClose:0,stickToBottom:0,topCorner:0,beforePopup:function(){},afterPopup:function(){},onBtnClick:function(){}},b);function c(){0==b.slide?a(cp).fadeOut(400,function(){a(this).remove(),b.afterPopup.call(this)}):e()}function e(){1==b.slideTop?0==b.topCorner?a(cp).removeClass("slide-top").addClass("slide-top-rev"):a(cp).removeClass("slide-bottom").addClass("slide-bottom-rev"):1==b.slide&&"right"==b.position?a(cp).removeClass("slide-left").addClass("slide-left-rev"):1==b.slide&&"left"==b.position?a(cp).removeClass("slide-right").addClass("slide-right-rev"):1==b.slide&&"center"==b.position&&(0==b.topCorner?a(cp).removeClass("slide-top").addClass("slide-top-rev"):a(cp).removeClass("slide-bottom").addClass("slide-bottom-rev")),cpTemp=a(cp),cpTemp.animation="none",cpTemp.offsetHeight,cpTemp.animation=null,cpTemp.one("webkitAnimationEnd oanimationend msAnimationEnd animationend",function(a){cpTemp.remove(),b.afterPopup.call(this)})}cp="#corner-popup",a(cp).length&&(a(cp).remove(),console.info("Corner Popup already initialized")),0!=b.active&&(a("<div/>",{id:"corner-popup",class:"popup-xs"}).appendTo("body"),"%"==b.width.substr(-1)?(widthPercent=!0,noPercents=b.width.slice(0,-1)):(widthPercent=!1,b.width.match(/^\d+$/)?noUnit=b.width:noUnit=b.width.replace(/\D/g,"")),700<noUnit||1==widthPercent&&50<noPercents?(columnOne="p-sm-2",columnTwo="p-sm-10"):450<noUnit||1==widthPercent&&25<noPercents?(columnOne="p-sm-3",columnTwo="p-sm-9"):1==b.variant?(columnOne="p-sm-6",columnTwo="p-sm-6"):(columnOne="p-sm-4",columnTwo="p-sm-8"),b.link1=b.link1.replace(/\s/g,"").split(","),b.link2=b.link2.replace(/\s/g,"").split(","),b.link1[1]||(b.link1[1]="_self"),b.link2[1]||(b.link2[1]="_self"),2==b.variant?"Yes"!=function(e){for(var c=e+"=",d=document.cookie.split(";"),b=0,a;b<d.length;b++){for(a=d[b];" "==a.charAt(0);)a=a.substring(1,a.length);if(0==a.indexOf(c))return a.substring(c.length,a.length)}return null}("cp-cookies-accepted")?popupContent='<div class="hide-mobile p-col '+columnOne+'""><img src="'+b.cookieImg+'"class="corner-img-cookie responsive"></div><div class="p-col p-xs-12 '+columnTwo+'"><div class="corner-close"></div><div class="corner-container"><p class="corner-text">'+b.text1+'</p><a class="corner-btn-cookie">'+b.button2+"</a></div></div>":a(cp).remove():3==b.variant?popupContent='<div class="hide-mobile p-col '+columnOne+'"><img src="'+b.messageImg+'"class="corner-img-cookie responsive"></div><div class="p-col p-xs-12 '+columnTwo+'"><div class="corner-close"></div><div class="corner-container"><p class="corner-text">'+b.text2+'</p><a href="'+b.link2[0]+'" class="corner-btn-close" target="'+b.link2[1]+'">'+b.button3+"</a></div></div>":4==b.variant?popupContent='<div class="hide-mobile p-col '+columnOne+'"><img src="'+b.messageImg+'"class="corner-img-cookie responsive"></div><div class="p-col p-xs-12 '+columnTwo+'"><div class="corner-close"></div><div class="corner-container-3"><p class="corner-text">'+b.text2+"</p></div></div>":5==b.variant?popupContent='<div class="p-col p-xs-12 p-sm-12"><div class="corner-close"></div><div class="corner-container-1"><p class="corner-text">'+b.text2+"</p></div></div>":6==b.variant?popupContent='<div class="p-col p-xs-12 p-sm-12"><div class="corner-close"></div><div class="corner-container-2"><p class="corner-text">'+b.text2+'</p><a href="'+b.link2[0]+'" class="corner-btn-close" target="'+b.link2[1]+'">'+b.button3+"</a></div></div>":7==b.variant?popupContent='<div class="p-col p-xs-12 p-sm-12"><div class="corner-close"></div><div class="corner-container-1"><p class="corner-head head-center">'+b.header+"</p></div></div>":8==b.variant?popupContent='<div class="p-col p-xs-12 p-sm-12"><div class="corner-close"></div><div class="corner-container-1"><p class="corner-head">'+b.header+'</p><p class="corner-text">'+b.text2+"</p></div></div>":9==b.variant?popupContent='<div class="p-col p-xs-12 p-sm-12"><div class="corner-close"></div><div class="corner-container-2"><p class="corner-head">'+b.header+'</p><p class="corner-text">'+b.text2+'</p><a href="'+b.link2[0]+'" class="corner-btn-close" target="'+b.link2[1]+'">'+b.button3+"</a></div></div>":10==b.variant?popupContent='<div class="p-col p-xs-12 p-sm-12"><div class="corner-close"></div><div class="corner-container-2">'+b.content+"</div></div>":popupContent='<div class="hide-mobile p-col '+columnOne+'"><a href="'+b.link1[0]+'"><img src="'+b.popupImg+'"class="corner-img responsive"></a></div><div class="p-col p-xs-12 '+columnTwo+'"><div class="corner-close"></div><div class="corner-container"><p class="corner-head">'+b.header+'</p><a href="'+b.link1[0]+'" class="corner-btn" target="'+b.link1[1]+'">'+b.button1+"</a></div></div>",function(){b.beforePopup.call(this),0==b.slide?(a(cp).html(popupContent).css("display","flex").hide().fadeIn(800),0!=b.delay&&(a(cp).hide(),setTimeout(function(){a(cp).fadeIn(800)},b.delay))):1==b.slideTop?0==b.topCorner?a(cp).addClass("slide-top"):a(cp).addClass("slide-bottom"):1==b.slide&&"right"==b.position?a(cp).addClass("slide-left"):1==b.slide&&"left"==b.position?a(cp).addClass("slide-right"):1==b.slide&&"center"==b.position&&(0==b.topCorner?a(cp).addClass("slide-top"):a(cp).addClass("slide-bottom")),a(cp).html(popupContent).css("display","flex").show(),0!=b.delay&&(a(cp).hide(),setTimeout(function(){a(cp).show()},b.delay))}(),10==b.variant&&"no"!==b.loadContent&&a(".corner-container-2").load(b.loadContent),0!=b.topCorner?(a(cp).addClass("corner-top"),verticalPosition="top"):(a(cp).removeClass("corner-top"),verticalPosition="bottom"),1!==b.closeBtn&&(a(".corner-close").remove(),768<a(window).width()&&a(cp).css("right","70px"),a(".corner-container").css({bottom:"15px","padding-top":"30px"}),a(".corner-container-1").css({bottom:"0","padding-bottom":"10px","padding-top":"20px"}),a(".corner-container-2").css({bottom:"12px","padding-top":"30px"})),1!==b.shadow&&a(cp).css("box-shadow","none"),"390px"!==b.width&&a(cp).css("width",b.width),window.onresize=function(c){a(window).width()<768?a(cp).css("width","100%"):a(cp).css("width",b.width)},"'Open Sans', 'Halvetica', sans-serif"!==b.font&&a(cp).css("font-family",b.font),"#543189"!==b.colors&&(a(".corner-btn, .corner-btn-cookie, .corner-btn-close").css("background-color",b.colors),a(".corner-head, .cookie-more").css("color",b.colors),a(cp).after("<style>#corner-popup .corner-close:after{background-color:"+b.colors+";}\n#corner-popup .corner-close:before{background-color:"+b.colors+";} </style>")),"#fff"!==b.bgColor&&a(cp).css("background-color",b.bgColor),"#efefef"!==b.borderColor&&a(cp).css("border-color",b.borderColor),"#181818"!==b.textColor&&a(".corner-text, .corner-head, .corner-container").css("color",b.textColor),"#543189"!==b.iconColor&&(a("body").append("<style></style>"),a("style").html("#corner-popup .corner-close:after{background-color:"+b.iconColor+";}\n#corner-popup .corner-close:before{background-color:"+b.iconColor+";")),"#543189"!==b.btnColor&&a(".corner-btn, .corner-btn-close, .corner-btn-cookie").css("background-color",b.btnColor),"#fff"!==b.btnTextColor&&a(".corner-btn, .corner-btn-close, .corner-btn-cookie").css("color",b.btnTextColor),"0px"!==b.corners&&a(cp).css("border-radius",b.corners),0!==b.padding&&(5<=b.variant?a(".corner-container, .corner-container-1, .corner-container-2, .corner-container-3").css({padding:b.padding}):a(".corner-container, .corner-container-1, .corner-container-2, .corner-container-3").css({padding:b.padding,"padding-left":"0px"}),a(".p-col").first().css("padding-left",b.padding)),"right"!==b.position&&("left"==b.position&&768<a(window).width()?a(cp).css({right:"0",left:"60px"}):a(cp).css({right:"0",left:"0",margin:"0 auto"})),0!==b.stickToBottom&&768<a(window).width()&&(a(cp).css(verticalPosition,"0"),"right"==b.position?a(cp).css({right:"0"}):"left"==b.position&&a(cp).css({left:"0"})),0!==b.timeOut&&(d=b.timeOut,setTimeout(function(){0==b.slide?a(cp).fadeOut(400,function(){a(this).remove(),b.afterPopup.call(this)}):e()},d)),a(".corner-close").click(function(){c()}),a(".corner-btn, .corner-btn-close, .corner-btn-cookie").click(function(d){elementClassName=a(this).attr("class"),13<b.onBtnClick.toString().length?(d.preventDefault(),b.onBtnClick.call(this)):"corner-btn-cookie"==elementClassName?(c(),function(c,d,e){var a=new Date,b;a.setTime(a.getTime()+24*e*60*60*1e3),b="; expires="+a.toGMTString(),document.cookie=c+"="+d+b+"; path=/"}("cp-cookies-accepted","Yes",365)):"corner-btn-close"==elementClassName&&"#"==b.link2[0]&&c()}),a(document).keyup(function(a){0==b.escClose||"Escape"!==a.key&&27!=a.keyCode||c()}),a.fn.cornerpopup.popupClose=function(a){setTimeout(c,a)},a.fn.cornerpopup.popupHide=function(b){a(cp).delay(b).fadeOut(400)},a.fn.cornerpopup.popupShow=function(b){a(cp).delay(b).fadeIn(800)})}}(jQuery),jQuery.event.special.touchstart={setup:function(c,a,b){'use strict';this.addEventListener('touchstart',b,{passive:!a.includes('noPreventDefault')})}},jQuery.event.special.touchmove={setup:function(c,a,b){'use strict';this.addEventListener('touchmove',b,{passive:!a.includes('noPreventDefault')})}},$(window).on('load',function(){'use strict';$('.preloader').fadeOut(0)}),$(document).ready(function(){'use strict';$('.toggle-search').on('click',function(){var a=$(this).data('target'),b;a&&(b=$(a),b.toggleClass('open'))}),$('.tab-content').find('.tab-pane').each(function(c,d){var a=$(this).closest('.code-tabs').find('.nav-tabs'),b=$(this).attr('title');a.append('<li class="nav-item"><a class="nav-link" href="#">'+b+'</a></li>')}),$('.code-tabs ul.nav-tabs').each(function(){$(this).find("li:first").addClass('active')}),$('.code-tabs .tab-content').each(function(){$(this).find("div:first").addClass('active')}),$('.nav-tabs a').click(function(c){c.preventDefault();var a=$(this).parent(),d=a.index(),b=$(this).closest('.code-tabs'),e=b.find('.tab-pane').eq(d);b.find('.active').removeClass('active'),a.addClass('active'),e.addClass('active')}),$('.collapse').on('shown.bs.collapse',function(){$(this).parent().find('.fas fa-plus').removeClass('fas fa-plus').addClass('fas fa-minus')}).on('hidden.bs.collapse',function(){$(this).parent().find('.fas fa-minus').removeClass('fas fa-minus').addClass('fas fa-plus')})})</script>
|
||
<script src=https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.2.1/js.cookie.min.js></script>
|
||
<div id=js-cookie-box class="cookie-box cookie-box-hide">
|
||
This site uses cookies to track analytics. By continuing to use this website, you agree to their use.<span id=js-cookie-button class="btn btn-sm btn-outline-primary ms-2">Accept</span>
|
||
</div>
|
||
<script type=application/javascript>(function(c){const a=document.getElementById('js-cookie-box'),b=document.getElementById('js-cookie-button');Cookies.get('cookie-box')||(a.classList.remove('cookie-box-hide'),b.onclick=function(){Cookies.set('cookie-box',!0,{expires:2}),a.classList.add('cookie-box-hide')})})(jQuery)</script>
|
||
<style>.cookie-box{position:fixed;left:0;right:0;bottom:0;text-align:center;z-index:9999;padding:1rem 2rem;background:#474747;transition:all .75s cubic-bezier(.19,1,.22,1);color:#fdfdfd}.cookie-box-hide{display:none}</style>
|
||
<footer class=footer style=background-image:url(/images/footer-bg-shape.svg)>
|
||
<div class=container>
|
||
<div class="row justify-content-center">
|
||
<div class="col-xl-8 text-center">
|
||
<a class="footer-brand mb-4 d-block" href=/>
|
||
<div class=logo-wrapper>
|
||
<a href=/>
|
||
<img loading=eager decoding=async class="img-fluid logo" width=80x height=310 src=/images/logo_hu354e18ffd6bdfee5be8e3f497e7fb612_22876_80x0_resize_q90_h2_box_3.webp alt="Reflectoring - Where the HOW meets the WHY" onerror="this.onerror=null,this.src='/images/logo_hu354e18ffd6bdfee5be8e3f497e7fb612_22876_80x0_resize_box_3.png'">
|
||
</a>
|
||
</div>
|
||
</a>
|
||
<p class="text-light mb-5">Where the HOW meets the WHY.</p>
|
||
<div class="row mb-5">
|
||
<div class="col-md-3 ml-5">
|
||
<div class="footer-widget mb-5">
|
||
<h5 class=footer-title>Content</h5>
|
||
<ul class=footer-links>
|
||
<li><a href=/categories/spring-boot/>Spring Boot</a></li>
|
||
<li><a href=/categories/java/>Java</a></li>
|
||
<li><a href=/categories/node/>Node</a></li>
|
||
<li><a href=/categories/aws/>AWS</a></li>
|
||
<li><a href=/categories/software-craft/>Software Craft</a></li>
|
||
<li><a href=/categories/simplify/>Simplify!</a></li>
|
||
<li><a href=/categories/meta/>Meta</a></li>
|
||
<li><a href=/categories/book-notes/>Book Reviews</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-3 ml-5">
|
||
<div class="footer-widget mb-5">
|
||
<h5 class=footer-title>Products</h5>
|
||
<ul class=footer-links>
|
||
<li><a href=/book>Get Your Hands Dirty on Clean Architecture</a></li>
|
||
<li><a href=/simplify>Simplify! Newsletter</a></li>
|
||
<li><a href="https://stratospheric.dev?utm_source=reflectoring&utm_content=sidebar">Stratospheric</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-3 ml-5">
|
||
<div class="footer-widget mb-5">
|
||
<h5 class=footer-title>Contribute</h5>
|
||
<ul class=footer-links>
|
||
<li><a href=/contribute/become-an-author>Become an Author</a></li>
|
||
<li><a href=/contribute/writing-guide>Writing Guide</a></li>
|
||
<li><a href=/contribute/author-workflow>Author Workflow</a></li>
|
||
<li><a href=/contribute/author-payment>Author Payment</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-3 ml-5">
|
||
<div class="footer-widget mb-5">
|
||
<h5 class=footer-title>Reflectoring</h5>
|
||
<ul class=footer-links>
|
||
<li><a href=/about>About</a></li>
|
||
<li><a href=/feed.xml>Atom Feed</a></li>
|
||
<li><a href=/advertise>Advertise</a></li>
|
||
<li><a href=/book-me>Book me</a></li>
|
||
<li><a href=/privacy>Privacy</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<ul class="list-unstyled social-icons">
|
||
<li class=list-inline-item>
|
||
<a href=https://facebook.com/reflectoring><i class="fab fa-facebook"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://twitter.com/TomHombergs><i class="fab fa-twitter"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://github.com/thombergs/code-examples><i class="fab fa-github"></i></a>
|
||
</li>
|
||
<li class=list-inline-item>
|
||
<a href=https://www.linkedin.com/in/tom-hombergs-74048777><i class="fab fa-linkedin"></i></a>
|
||
</li>
|
||
</ul>
|
||
<p class=content>Built upon <a href=https://statichunt.com/themes/hugo-geeky>Geeky Hugo</a> theme by <a href=https://statichunt.com/>Statichunt</a></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
</body>
|
||
</html> |