CINXE.COM

Smart factory technology Archives - Pharmaceutical Processing World

<!DOCTYPE html> <html lang="en-US"> <head > <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta property="fb:admins" content="1140409510" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta property="fb:admins" content="107031532675062" /> <meta name="msvalidate.01" content="40BA1B879066C83CDFCA374CA4B490C3" /> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <style type="text/css"> .slide-excerpt { width: 100%; } .slide-excerpt { top: 0; } .slide-excerpt { left: 0; } .flexslider { max-width: 737px; max-height: 400px; } .slide-image { max-height: 400px; } </style> <style type="text/css"> @media only screen and (min-device-width : 320px) and (max-device-width : 480px) { .slide-excerpt { display: none !important; } } </style> <!-- This site is optimized with the Yoast SEO plugin v24.0 - https://yoast.com/wordpress/plugins/seo/ --> <title>Smart factory technology Archives - Pharmaceutical Processing World</title> <link rel="canonical" href="https://www.pharmaceuticalprocessingworld.com/category/iot/" /> <link rel="next" href="https://www.pharmaceuticalprocessingworld.com/category/iot/page/2/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Smart factory technology Archives - Pharmaceutical Processing World" /> <meta property="og:url" content="https://www.pharmaceuticalprocessingworld.com/category/iot/" /> <meta property="og:site_name" content="Pharmaceutical Processing World" /> <meta name="twitter:card" content="summary_large_image" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://www.pharmaceuticalprocessingworld.com/category/iot/","url":"https://www.pharmaceuticalprocessingworld.com/category/iot/","name":"Smart factory technology Archives - Pharmaceutical Processing World","isPartOf":{"@id":"https://www.pharmaceuticalprocessingworld.com/#website"},"primaryImageOfPage":{"@id":"https://www.pharmaceuticalprocessingworld.com/category/iot/#primaryimage"},"image":{"@id":"https://www.pharmaceuticalprocessingworld.com/category/iot/#primaryimage"},"thumbnailUrl":"https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/12/CellProthera-Logo-1.png","breadcrumb":{"@id":"https://www.pharmaceuticalprocessingworld.com/category/iot/#breadcrumb"},"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.pharmaceuticalprocessingworld.com/category/iot/#primaryimage","url":"https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/12/CellProthera-Logo-1.png","contentUrl":"https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/12/CellProthera-Logo-1.png","width":770,"height":327,"caption":"CellProthera Logo (1)"},{"@type":"BreadcrumbList","@id":"https://www.pharmaceuticalprocessingworld.com/category/iot/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.pharmaceuticalprocessingworld.com/"},{"@type":"ListItem","position":2,"name":"Smart factory technology"}]},{"@type":"WebSite","@id":"https://www.pharmaceuticalprocessingworld.com/#website","url":"https://www.pharmaceuticalprocessingworld.com/","name":"Pharmaceutical Processing World","description":"The Leading Source for Pharmaceutical &amp; Biopharmaceutical Manufacturing News","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.pharmaceuticalprocessingworld.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel="alternate" type="application/rss+xml" title="Pharmaceutical Processing World &raquo; Feed" href="https://www.pharmaceuticalprocessingworld.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="Pharmaceutical Processing World &raquo; Comments Feed" href="https://www.pharmaceuticalprocessingworld.com/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="Pharmaceutical Processing World &raquo; Smart factory technology Category Feed" href="https://www.pharmaceuticalprocessingworld.com/category/iot/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.pharmaceuticalprocessingworld.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.1"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link rel='stylesheet' id='theme-wtwh-amplifying-css' href='https://www.pharmaceuticalprocessingworld.com/wp-content/themes/ThemeWTWHv2/style.css?ver=1709936319' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.pharmaceuticalprocessingworld.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7.1' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='ea-fonts-css' href='https://fonts.googleapis.com/css?family=Open+Sans%3A300%2C700&#038;ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='ea-style-css' href='https://www.pharmaceuticalprocessingworld.com/wp-content/themes/ThemeWTWHv2/assets/css/main.css?ver=1709936319' type='text/css' media='all' /> <link rel='stylesheet' id='slider_styles-css' href='https://www.pharmaceuticalprocessingworld.com/wp-content/plugins/genesis-responsive-slider/assets/style.css?ver=1.0.1' type='text/css' media='all' /> <script type="text/javascript" src="https://www.pharmaceuticalprocessingworld.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://www.pharmaceuticalprocessingworld.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <link rel="https://api.w.org/" href="https://www.pharmaceuticalprocessingworld.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.pharmaceuticalprocessingworld.com/wp-json/wp/v2/categories/9" /><link rel="pingback" href="https://www.pharmaceuticalprocessingworld.com/xmlrpc.php" /> <!-- Google Tag Manager for Global Container--> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MMC9PJ9');</script> <!-- End Google Tag Manager --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KTD28B3');</script> <!-- End Google Tag Manager --> <link rel="icon" href="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2019/10/cropped-pharmaprocessing-favicon-32x32.png" sizes="32x32" /> <link rel="icon" href="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2019/10/cropped-pharmaprocessing-favicon-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2019/10/cropped-pharmaprocessing-favicon-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2019/10/cropped-pharmaprocessing-favicon-270x270.png" /> <style type="text/css" id="wp-custom-css"> .type-post.entry a { color: #11638a !important; font-weight: 500; } a.button { color: white !important; } /**MD100 Chart fixes**/ #md-chart-container > canvas { width: 125px !important; } #md-current-price { font-size: 38px !important; } .md-margin-text { margin: 5px 5px; } .md-align > .md-margin-text { padding-top: 20px; } #md-chart-container { height: auto !important; width: auto !important; } .md-table { margin-bottom: 0px !important; } @media only screen and (max-width: 500px) { #md-tech-ad { width: 250px !important; } } /*Fix logo size on mobile*/ @media only screen and (max-width: 1150px) { .site-header .title-area { width: 250px !important; } } @media only screen and (max-width: 510px) { .site-header .title-area { width: 175px !important; }} /*overlay text fix*/ .slick-slider.header-slides .header-slide .overlay h4 { text-shadow: 2px 2px 5px black; background: none !important; -webkit-text-stroke-width: 0px !important; -webkit-text-stroke-color: transparent !important; } /*Fix for Categories/home page article display*/ @media only screen and (max-width: 500px) { .content .entry .entry-header, .archive-entry .entry-header { } .entry-content img { text-align: center !important; width: 100% !important; } .archive-entry { display: flex; flex-direction: column-reverse; width: 100% !important; } .archive-entry > .entry-header, .archive-entry .entry-content { width: 100% !important; } } @media only screen and (max-width: 767px) { .archive.category .entry-content p { display: none !important } .blog .entry-content p { display: none !important; } } /*Font size adjustment for post titles*/ .type-post.entry h2 { font-size: 20px; } .type-post.entry h3 { font-size: 20px; } .type-post.entry h1 { font-size: 24px; margin-bottom: 10px !important; } #algolia-powered-by { display:none; } /* Search Page */ body.search .site-inner { padding-left: unset; padding-right: unset; } </style> <script async id="wtwh-uni-gam-ad-manager-lib" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script id="wtwh-uni-gam-ad-units"> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { googletag .defineSlot( '/5272491/lifesci_network/pharma_header', [[728, 90],[300, 250]], 'div-gpt-pharma-header' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [728, 90]) .addSize([768, 0], [728, 90]) .addSize([320, 0], [300, 250]) .addSize([0, 0], [300, 250]) .build() ) .setTargeting( 'articletitle', ['cellprothera-inks-deal-for-gmp-cell-therapy-manufacturing'] ) .setTargeting( 'cat_target', ['51d88f1aa4204fd6ab35e4e12c968d6d,iot,ros'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/lifesci_network/pharma_wallpaper', [1, 1], 'div-gpt-pharma_wallpaper' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [1, 1]) .addSize([768, 0], [1, 1]) .addSize([320, 0], [1, 1]) .addSize([0, 0], [1, 1]) .build() ) .setTargeting( 'articletitle', ['cellprothera-inks-deal-for-gmp-cell-therapy-manufacturing'] ) .setTargeting( 'cat_target', ['51d88f1aa4204fd6ab35e4e12c968d6d,iot,ros'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/lifesci_network/pharma_allstreamflex', [1, 1], 'div-gpt-pharma_allstreamflex' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [1, 1]) .addSize([768, 0], [1, 1]) .addSize([320, 0], [1, 1]) .addSize([0, 0], [1, 1]) .build() ) .setTargeting( 'articletitle', ['cellprothera-inks-deal-for-gmp-cell-therapy-manufacturing'] ) .setTargeting( 'cat_target', ['51d88f1aa4204fd6ab35e4e12c968d6d,iot,ros'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/lifesci_network/pharma_allstreamprelude', [1, 1], 'div-gpt-pharma_allstreamprelude' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [1, 1]) .addSize([768, 0], [1, 1]) .addSize([320, 0], [1, 1]) .addSize([0, 0], [1, 1]) .build() ) .setTargeting( 'articletitle', ['cellprothera-inks-deal-for-gmp-cell-therapy-manufacturing'] ) .setTargeting( 'cat_target', ['51d88f1aa4204fd6ab35e4e12c968d6d,iot,ros'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/lifesci_network/pharma_sidebar1', [[300, 250],[300, 600]], 'div-gpt-pharma_sidebar1' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [[300, 250],[300, 600]]) .addSize([768, 0], [[300, 250],[300, 600]]) .addSize([320, 0], [300, 250]) .addSize([0, 0], [300, 250]) .build() ) .setTargeting( 'articletitle', ['cellprothera-inks-deal-for-gmp-cell-therapy-manufacturing'] ) .setTargeting( 'cat_target', ['51d88f1aa4204fd6ab35e4e12c968d6d,iot,ros'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/lifesci_network/pharma_sidebarbottom', [[300, 250],[300, 600]], 'div-gpt-pharma_sidebarbottom' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [[300, 250],[300, 600]]) .addSize([768, 0], [[300, 250],[300, 600]]) .addSize([320, 0], [300, 250]) .addSize([0, 0], [300, 250]) .build() ) .setTargeting( 'articletitle', ['cellprothera-inks-deal-for-gmp-cell-therapy-manufacturing'] ) .setTargeting( 'cat_target', ['51d88f1aa4204fd6ab35e4e12c968d6d,iot,ros'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/lifesci_network/pharma_largeleader', [[970, 90],[970, 250]], 'jumbo-banner-ad-container' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [[970, 90],[970, 250]]) .addSize([768, 0], [[970, 90],[970, 250]]) .addSize([320, 0], [0, 0]) .addSize([0, 0], [0, 0]) .build() ) .setTargeting( 'articletitle', ['cellprothera-inks-deal-for-gmp-cell-therapy-manufacturing'] ) .setTargeting( 'cat_target', ['51d88f1aa4204fd6ab35e4e12c968d6d,iot,ros'] ) .addService( googletag.pubads() ); googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.enableServices(); }); </script> <script id="wtwh-uni-gam-content-hash-variables"> var contentHash = "51d88f1aa4204fd6ab35e4e12c968d6d"; var cat_target = "51d88f1aa4204fd6ab35e4e12c968d6d,iot,ros"; </script> </head> <body class="archive category category-iot category-9 content-sidebar genesis-breadcrumbs-hidden"><div class="site-container"><header class="site-header"><div class="wrap"><div class="title-area"><p class="site-title"><a href="https://www.pharmaceuticalprocessingworld.com/">Pharmaceutical Processing World</a></p></div><div class="widget-area header-widget-area"><section id="custom_html-2" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><div id='div-gpt-pharma-header'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-pharma-header'); }); </script> </div></div></div></section> </div><div class="mobile-toggles"><a href="#" class="search-toggle"><i class="icon-search"></i></a><a href="#" class="mobile-menu-toggle"><i class="icon-menu"></i></a></div></div></header><nav class="nav-primary" aria-label="Main"><div class="wrap"><ul id="menu-main-menu" class="menu genesis-nav-menu menu-primary"><li id="menu-item-8544" class="home menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/"><span >Home</span></a></li> <li id="menu-item-8490" class="menu-item menu-item-has-children"><a href="https://www.pharmaceuticalprocessingworld.com/category/regulatory/"><span >Regulatory</span></a> <ul class="sub-menu"> <li id="menu-item-8495" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/recalls/"><span >Recalls</span></a></li> </ul> </li> <li id="menu-item-8497" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/pharmaceutical-processing/"><span >Pharmaceutical Processing</span></a></li> <li id="menu-item-8491" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/facility/"><span >Facility</span></a></li> <li id="menu-item-8492" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/supply-chain/"><span >Supply Chain</span></a></li> <li id="menu-item-8494" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/equipment/"><span >Equipment and Materials</span></a></li> <li id="menu-item-8496" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/contract-manufacturing/"><span >Contract Manufacturing</span></a></li> <li class="menu-item search"><a href="#" class="search-toggle"><i class="icon-search"></i></a></li></ul></div></nav> <div style="padding-top:10px;text-align:center"><div id='jumbo-banner-ad-container' style='min-width: 970px; min-height: 90px;'></div></div> <div class="archive-intro"><div class="wrap"><h1 class="archive-title"><span>Smart factory technology</span></h1></div></div><div class="site-inner"><div class="wrap"><div class="content-sidebar-wrap"><main class="content"><article class="type-post entry has-post-thumbnail" aria-label="CellProthera inks deal for GMP cell therapy manufacturing"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.pharmaceuticalprocessingworld.com/author/swhooley/" class="entry-author-link" rel="author"><span class="entry-author-name">Sean Whooley</span></a></span> | <time class="entry-time">December 13, 2024</time></p><h2 class="entry-title"><a class="entry-title-link" rel="bookmark" href="https://www.pharmaceuticalprocessingworld.com/cellprothera-inks-deal-for-gmp-cell-therapy-manufacturing/">CellProthera inks deal for GMP cell therapy manufacturing</a></h2> </header><div class="entry-content"><a class="entry-image-link" href="https://www.pharmaceuticalprocessingworld.com/cellprothera-inks-deal-for-gmp-cell-therapy-manufacturing/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/12/CellProthera-Logo-1-268x170.png" class="alignleft post-image entry-image wp-image-16544" alt="CellProthera Logo (1)" decoding="async" /></a><p>CellProthera announced a deal with Shonan Kamakura General Hospital (SKGH) to transfer technology to enable cell therapy manufacturing for clinical trials. The memorandum of understanding allows for GMP manufacturing of CD34+ endothelial progenitor cells (EPCs) for autologous therapy clinical trials. Takayuki Asahara of SKGH intends to adopt CellProthera&#8217;s StemXpand platform for clinical trials starting next&hellip;</p> </div><footer class="entry-footer"></footer></article><article class="type-post entry has-post-thumbnail" aria-label="Eli Lilly to invest $3B in Wisconsin manufacturing plant expansion"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.pharmaceuticalprocessingworld.com/author/swhooley/" class="entry-author-link" rel="author"><span class="entry-author-name">Sean Whooley</span></a></span> | <time class="entry-time">December 6, 2024</time></p><h2 class="entry-title"><a class="entry-title-link" rel="bookmark" href="https://www.pharmaceuticalprocessingworld.com/eli-lilly-3b-wisconsin-plant-expansion/">Eli Lilly to invest $3B in Wisconsin manufacturing plant expansion</a></h2> </header><div class="entry-content"><a class="entry-image-link" href="https://www.pharmaceuticalprocessingworld.com/eli-lilly-3b-wisconsin-plant-expansion/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/12/Eli-Lilly-Kenosha-Wisconsin-expansion-rendering-1-268x170.jpg" class="alignleft post-image entry-image wp-image-16536" alt="Eli Lilly Kenosha Wisconsin expansion rendering (1)" decoding="async" loading="lazy" /></a><p>Eli Lilly (NYSE:LLY) announced that it plans to invest $3 billion in the expansion of its manufacturing facility in Kenosha County, Wisconsin. In April, Indianapolis-based Eli Lilly acquired the plant in Pleasant Prairie, Wisconsin, from sterile manufacturer Nexus. The company expects its investment to extend its global parenteral (injectable) product manufacturing network. It aims to&hellip;</p> </div><footer class="entry-footer"></footer></article><article class="type-post entry has-post-thumbnail" aria-label="GBI Biomanufacturing expands capabilities with automated aseptic fill-finish"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.pharmaceuticalprocessingworld.com/author/swhooley/" class="entry-author-link" rel="author"><span class="entry-author-name">Sean Whooley</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a class="entry-title-link" rel="bookmark" href="https://www.pharmaceuticalprocessingworld.com/gbi-expands-capabilities-automated-fill-finish/">GBI Biomanufacturing expands capabilities with automated aseptic fill-finish</a></h2> </header><div class="entry-content"><a class="entry-image-link" href="https://www.pharmaceuticalprocessingworld.com/gbi-expands-capabilities-automated-fill-finish/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/GBI-Biomanufacturing-Logo-1-268x170.jpg" class="alignleft post-image entry-image wp-image-16509" alt="GBI Biomanufacturing Logo (1)" decoding="async" loading="lazy" /></a><p>GBI Biomanufacturing announced today that it expanded its drug product (DP) services to include automated sterile fill and finish capabilities. Plantation, Florida–based GBI says it can support clients from clinical trials to commercial launch, both for drug products and drug substances. All of this can take place at its Florida plant, delivering advanced and flexible&hellip;</p> </div><footer class="entry-footer"></footer></article><article class="type-post entry has-post-thumbnail" aria-label="How biometric ID is boosting security and efficiency in pharma manufacturing"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.pharmaceuticalprocessingworld.com/author/cnewmarker/" class="entry-author-link" rel="author"><span class="entry-author-name">Chris Newmarker</span></a></span> | <time class="entry-time">November 14, 2024</time></p><h2 class="entry-title"><a class="entry-title-link" rel="bookmark" href="https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/">How biometric ID is boosting security and efficiency in pharma manufacturing</a></h2> </header><div class="entry-content"><a class="entry-image-link" href="https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-Wearable-Identity-Authentication-268x170.jpg" class="alignleft post-image entry-image wp-image-16497" alt="This is an Arista Corp. marketing image showing pharmaceutical workers using Nymi Bands and their biometric ID." decoding="async" loading="lazy" /></a><p>A maker of pharma manufacturing workstations says wearable biometric ID products are solving a security and efficiency challenge. Traditionally, pharmaceutical manufacturers have used a complex patchwork of access points, workstations, and tools, according to Fremont, California–based Arista Corp. Think badges, passwords and more, with the potential for someone other than the intended operator to gain&hellip;</p> </div><footer class="entry-footer"></footer></article><article class="type-post entry has-post-thumbnail" aria-label="Cellular Origins, Fresenius Kabi partner to automate cell, gene therapy manufacturing"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.pharmaceuticalprocessingworld.com/author/swhooley/" class="entry-author-link" rel="author"><span class="entry-author-name">Sean Whooley</span></a></span> | <time class="entry-time">October 16, 2024</time></p><h2 class="entry-title"><a class="entry-title-link" rel="bookmark" href="https://www.pharmaceuticalprocessingworld.com/cellular-origins-fresenius-kabi-cell-therapy/">Cellular Origins, Fresenius Kabi partner to automate cell, gene therapy manufacturing</a></h2> </header><div class="entry-content"><a class="entry-image-link" href="https://www.pharmaceuticalprocessingworld.com/cellular-origins-fresenius-kabi-cell-therapy/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/10/Fresenius-Kabi-Cellular-Origins-development-agreement-268x170.jpg" class="alignleft post-image entry-image wp-image-16472" alt="Fresenius Kabi Cellular Origins development agreement" decoding="async" loading="lazy" /></a><p>Cellular Origins and Fresenius Kabi announced today that they signed a development agreement over cell and gene therapies (CGTs). The agreement leverages both companies&#8217; expertise in CGTs. They aim to digitally and physically integrate Fresenius Kabi&#8217;s suite of cell therapy processing technologies with Cellular Origins&#8217; CGT robotic manufacturing platform, Constellation. With this integration, the companies&hellip;</p> </div><footer class="entry-footer"></footer></article><article class="type-post entry has-post-thumbnail" aria-label="Nipro launches new glass vials powered by Stevanato Group&#8217;s EZ-fill tech"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.pharmaceuticalprocessingworld.com/author/swhooley/" class="entry-author-link" rel="author"><span class="entry-author-name">Sean Whooley</span></a></span> | <time class="entry-time">October 7, 2024</time></p><h2 class="entry-title"><a class="entry-title-link" rel="bookmark" href="https://www.pharmaceuticalprocessingworld.com/nipro-launches-new-glass-vials-stevanato/">Nipro launches new glass vials powered by Stevanato Group&#8217;s EZ-fill tech</a></h2> </header><div class="entry-content"><a class="entry-image-link" href="https://www.pharmaceuticalprocessingworld.com/nipro-launches-new-glass-vials-stevanato/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/10/Nipro-PharmaPackaging-D2F-glass-vials-1-268x170.jpg" class="alignleft post-image entry-image wp-image-16466" alt="Nipro PharmaPackaging D2F glass vials (1)" decoding="async" loading="lazy" /></a><p>Nipro PharmaPackaging announced today that it launched new D2F (direct-to-fill) glass vials powered by Stevanato Group technology. The vials feature Stevanato&#8217;s EZ-fill technology to offer a high-quality, ready-to-use (RTU) solution. Nipro designed the vials to meet the rigorous standards and increasing requirements of the pharmaceutical industry. D2F vials are washed, depyrogenated, packaged in nest and&hellip;</p> </div><footer class="entry-footer"></footer></article><article class="type-post entry has-post-thumbnail" aria-label="PCI Pharma Services makes $365M investment in drug delivery device manufacturing"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.pharmaceuticalprocessingworld.com/author/swhooley/" class="entry-author-link" rel="author"><span class="entry-author-name">Sean Whooley</span></a></span> | <time class="entry-time">September 25, 2024</time></p><h2 class="entry-title"><a class="entry-title-link" rel="bookmark" href="https://www.pharmaceuticalprocessingworld.com/pci-pharma-services-365m-investment-manufacturing/">PCI Pharma Services makes $365M investment in drug delivery device manufacturing</a></h2> </header><div class="entry-content"><a class="entry-image-link" href="https://www.pharmaceuticalprocessingworld.com/pci-pharma-services-365m-investment-manufacturing/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/09/Rockford-IL-Campus-Expansion-PCI-Pharma-Services-1-268x170.jpg" class="alignleft post-image entry-image wp-image-16454" alt="Rockford, IL Campus Expansion - PCI Pharma Services (1)" decoding="async" loading="lazy" /></a><p>PCI Pharma Services announced that it&#8217;s investing more than $365 million in infrastructure to support assembly and packaging efforts. The investment supports the clinical- and commercial-scale final assembly and packaging of drug-device combination products utilizing advanced drug delivery systems, with an emphasis on injectable formats. PCI Pharma plans to put its investment toward new and&hellip;</p> </div><footer class="entry-footer"></footer></article><article class="type-post entry has-post-thumbnail" aria-label="Wheeler Bio licenses antibody production tech from ATUM"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.pharmaceuticalprocessingworld.com/author/swhooley/" class="entry-author-link" rel="author"><span class="entry-author-name">Sean Whooley</span></a></span> | <time class="entry-time">September 24, 2024</time></p><h2 class="entry-title"><a class="entry-title-link" rel="bookmark" href="https://www.pharmaceuticalprocessingworld.com/wheeler-bio-licenses-antibody-production-atum/">Wheeler Bio licenses antibody production tech from ATUM</a></h2> </header><div class="entry-content"><a class="entry-image-link" href="https://www.pharmaceuticalprocessingworld.com/wheeler-bio-licenses-antibody-production-atum/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/09/Wheeler-Bio-Portable-CMC-platform-1-268x170.jpg" class="alignleft post-image entry-image wp-image-16449" alt="Wheeler Bio Portable CMC platform (1)" decoding="async" loading="lazy" /></a><p>Wheeler Bio announced today that it expanded its capabilities through the licensing of ATUM&#8217;s miFuc platform. ATUM designed miFuc for the expression of recombinant proteins containing afucosylated glycans. The technology supports the development of antibodies with a significant reduction in fucosylation without affecting product titer, cellular growth rates or incurring global glycan liabilities. ATUM&#8217;s proprietary&hellip;</p> </div><footer class="entry-footer"></footer></article><article class="type-post entry has-post-thumbnail" aria-label="Sanofi, Novartis among Time&#8217;s most sustainable companies"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.pharmaceuticalprocessingworld.com/author/cnewmarker/" class="entry-author-link" rel="author"><span class="entry-author-name">Chris Newmarker</span></a></span> | <time class="entry-time">July 2, 2024</time></p><h2 class="entry-title"><a class="entry-title-link" rel="bookmark" href="https://www.pharmaceuticalprocessingworld.com/sanofi-novartis-among-times-most-sustainable-companies/">Sanofi, Novartis among Time&#8217;s most sustainable companies</a></h2> </header><div class="entry-content"><a class="entry-image-link" href="https://www.pharmaceuticalprocessingworld.com/sanofi-novartis-among-times-most-sustainable-companies/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/07/Sustainability-268x170.jpg" class="alignleft post-image entry-image wp-image-16382" alt="This Unsplash image of a tree on a mistly day is meant to represent sustainability which was the focus of the Time most sustainable companies report that Pharmaceutical Processing World is citing for most sustainable pharma companies." decoding="async" loading="lazy" /></a><p>Pharma giants Sanofi and Novartis came in at No. 7 and 17, respectively, in Time magazine&#8217;s &#8220;Most Sustainable Companies of 2024&#8221; rankings. Overall, nearly 40 of the 500 companies on the list fell under the category of Chemicals, Drugs &amp; Biotechnology. Other large pharma companies making it into the top half of the 500 included&hellip;</p> </div><footer class="entry-footer"></footer></article><article class="type-post entry has-post-thumbnail" aria-label="A guide to implementing operational excellence in drug development"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="" class="entry-author-link" rel="author"><span class="entry-author-name">Rich Tree</span></a></span> | <time class="entry-time">January 31, 2024</time></p><h2 class="entry-title"><a class="entry-title-link" rel="bookmark" href="https://www.pharmaceuticalprocessingworld.com/operational-excellence-pharma-rd/">A guide to implementing operational excellence in drug development</a></h2> </header><div class="entry-content"><a class="entry-image-link" href="https://www.pharmaceuticalprocessingworld.com/operational-excellence-pharma-rd/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/01/AdobeStock_512901854-268x170.jpeg" class="alignleft post-image entry-image wp-image-16224" alt="operational excellence" decoding="async" loading="lazy" /></a><p>When it comes to drug development and manufacturing, operational excellence (OpEx) is critical for success at all levels. It can help establish a culture of continuous improvement and innovation while supporting data quality, compliance, customer satisfaction, and more. It can even impact external perceptions of the company and confidence in the strength of the business.&hellip;</p> </div><footer class="entry-footer"></footer></article><div class="archive-pagination pagination"><div class="pagination-next alignright"><a href="https://www.pharmaceuticalprocessingworld.com/category/iot/page/2/" class="button">Next ></a></div></div></main><aside class="sidebar sidebar-primary widget-area" role="complementary" aria-label="Primary Sidebar"><section id="custom_html-11" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center> <div style="display: flex; flex-direction: column; justify-content: center; width: 300px;"> <div align="center"><a href="https://www.pharmaceuticalprocessingworld.com/sign-up-for-the-pharmaceutical-processing-enewsletter/" target="_blank"><img src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2023/12/PharmaceuticalProcessing-300x100-1.jpg" alt=“ppw newsletter”></a></div> <div align="center" style="width: 300px; line-height: 20px; padding-top: 10px;"><span style="font-weight: bold; color: #0c506d; text-align: center; font-size: 20px;">EXPAND YOUR KNOWLEDGE AND STAY CONNECTED</span></div> <div align="center" style="line-height: 16px; padding-top: 5px;"><span style="text-align: center; font-size: 16px;">Get the latest news, technologies, and developments in Pharmaceutical Processing.</span></div> <div align="center" style="padding-top: 10px;"><a href="https://www.pharmaceuticalprocessingworld.com/sign-up-for-the-pharmaceutical-processing-enewsletter/" target="_blank"><button style="background-color: #10638a; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">GET THE ENEWSLETTER</button></a></div> </div> </center></div></div></section> <section id="custom_html-4" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center><div id='div-gpt-pharma_sidebar1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-pharma_sidebar1'); }); </script> </div></center></div></div></section> <section id="custom_html-9" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">DeviceTalks Tuesdays</h4> <div class="textwidget custom-html-widget"><center><a href="https://www.devicetalks.com/devicetalks-tuesdays-agenda/?utm_source=house_pharma&utm_medium=display&utm_campaign=devicetalks" target="_blank"><img src="https://www.medicaldesignandoutsourcing.com/wp-content/uploads/2020/05/DeviceTalks_Tuesdays.jpg" alt="DeviceTalks Tuesdays"></a></center></div></div></section> <section id="custom_html-8" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">MEDTECH 100 INDEX</h4> <div class="textwidget custom-html-widget"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <link href="https://fonts.googleapis.com/css?family=Raleway:700|Open+Sans:400,700" rel="stylesheet" type="text/css"> <style> .margin-text{margin:5px}#content-container div{flex:1}.md-table tbody{border:0!important}.md-table td{border-top:0!important;padding:2px!important;line-height:0!important}#md-tech-ad{width:300px;height:250px;background-color:#fff;border-style:solid;border-width:thin;font-family:Roboto,sans-serif!important}.md-align{text-align:center}.md-margin{margin:10px 5px}.md-margin-text{margin:5px}.md-margin-text a{text-decoration:none}.md-btn{color:#000;cursor:pointer;background-color:#fff;border:2px solid #000;justify-content:center;margin:auto;padding:14px 28px;font-size:16px;display:flex}#md-content-container{align-items:center;display:flex}#md-content-container div{flex:1}#md-current-price{padding-left:12px;font-size:44px;font-weight:700}#md-current-time{color:gray;padding-top:30px;font-size:12px}#md-intraday-chart{width:100%}#md-logo{display:inline}#md-content-container{flex-direction:column;padding-top:15px;display:flex;height:80px!important}#md-current-price{padding-left:0!important}#md-tech-ad{height:auto!important;text-align:center!important}.md-margin{margin:10px 0!important}#md-chart-container{padding-top:5px}#md-chart-container>canvas{height:50px;width:240px!important} /*# sourceMappingURL=index.99d3c376.css.map */ </style> <script type="text/javascript"> const e="undefined"!=typeof window,t=e?document:null,n=e?window:null,r=e?navigator:null;let i,o;function s(e,t){if(null!=t){let n=e.classList;!n.contains(t)&&n.add(t)}}function u(e,t){let n=e.classList;n.contains(t)&&n.remove(t)}function a(e,t,n){e.style[t]=n+"px"}function l(e,n,r,i){let o=t.createElement(e);return null!=n&&s(o,n),null!=r&&r.insertBefore(o,i),o}function c(e,t){return l("div",e,t)}const f=new WeakMap;function d(e,t,n,r,i){let o="translate("+t+"px,"+n+"px)";o!=f.get(e)&&(e.style.transform=o,f.set(e,o),t<0||n<0||t>r||n>i?s(e,"u-off"):u(e,"u-off"))}const h=new WeakMap;function m(e,t,n){let r=t+n;r!=h.get(e)&&(h.set(e,r),e.style.background=t,e.style.borderColor=n)}const y=new WeakMap;function v(e,t,n,r){let i=t+""+n;i!=y.get(e)&&(y.set(e,i),e.style.height=n+"px",e.style.width=t+"px",e.style.marginLeft=r?-t/2+"px":0,e.style.marginTop=r?-n/2+"px":0)}const p={passive:!0},g={...p,capture:!0};function w(e,t,n,r){t.addEventListener(e,n,r?g:p)}function k(e,t,n,r){t.removeEventListener(e,n,r?g:p)}function b(e,t,n,r){let i;n=n||0;let o=(r=r||t.length-1)<=2147483647;for(;r-n>1;)i=o?n+r>>1:Z((n+r)/2),t[i]<e?n=i:r=i;return e-t[n]<=t[r]-e?n:r}function x(e,t,n,r){for(let i=1==r?t:n;i>=t&&i<=n;i+=r)if(null!=e[i])return i;return-1}e&&function e(){let t=devicePixelRatio;i!=t&&(i=t,o&&k("change",o,e),o=matchMedia(`(min-resolution: ${i-.001}dppx) and (max-resolution: ${i+.001}dppx)`),w("change",o,e),n.dispatchEvent(new CustomEvent("dppxchange")))}();const S=[0,0];function T(e,t,n,r){return S[0]=n<0?se(e,-n):e,S[1]=r<0?se(t,-r):t,S}function M(e,t,n,r){let i,o,s,u=U(e),a=10==n?H:R;return e==t&&(-1==u?(e*=n,t/=n):(e/=n,t*=n)),r?(i=Z(a(e)),o=P(a(t)),s=T(W(n,i),W(n,o),i,o),e=s[0],t=s[1]):(i=Z(a(L(e))),o=Z(a(L(t))),s=T(W(n,i),W(n,o),i,o),e=oe(e,s[0]),t=ie(t,s[1])),[e,t]}function O(e,t,n,r){let i=M(e,t,n,r);return 0==e&&(i[0]=0),0==t&&(i[1]=0),i}const D={mode:3,pad:.1},N={pad:0,soft:null,mode:0},E={min:N,max:N};function _(e,t,n,r){return ye(n)?V(e,t,n):(N.pad=n,N.soft=r?0:null,N.mode=r?3:0,V(e,t,E))}function I(e,t){return null==e?t:e}function V(e,t,n){let r=n.min,i=n.max,o=I(r.pad,0),s=I(i.pad,0),u=I(r.hard,-J),a=I(i.hard,J),l=I(r.soft,J),c=I(i.soft,-J),f=I(r.mode,0),d=I(i.mode,0),h=t-e;h<1e-9&&(h=0,0!=e&&0!=t||(h=1e-9,2==f&&l!=J&&(o=0),2==d&&c!=-J&&(s=0)));let m=h||L(t)||1e3,y=H(m),v=W(10,Z(y)),p=se(oe(e-m*(0==h?0==e?.1:1:o),v/10),9),g=e>=l&&(1==f||3==f&&p<=l||2==f&&p>=l)?l:J,w=q(u,p<g&&e>=g?g:Y(g,p)),k=se(ie(t+m*(0==h?0==t?.1:1:s),v/10),9),b=t<=c&&(1==d||3==d&&k>=c||2==d&&k<=c)?c:-J,x=Y(a,k>b&&t<=b?b:q(b,k));return w==x&&0==w&&(x=100),[w,x]}const C=new Intl.NumberFormat(e?r.language:"en-US"),F=e=>C.format(e),z=Math,A=z.PI,L=z.abs,Z=z.floor,j=z.round,P=z.ceil,Y=z.min,q=z.max,W=z.pow,U=z.sign,H=z.log10,R=z.log2,G=(e,t=1)=>z.asinh(e/t),J=1/0;function B(e){return 1+(0|H((e^e>>31)-(e>>31)))}function $(e,t){return j(e/t)*t}function Q(e,t,n){return Y(q(e,t),n)}function K(e){return"function"==typeof e?e:()=>e}const X=e=>e,ee=(e,t)=>t,te=e=>null,ne=e=>!0,re=(e,t)=>e==t;function ie(e,t){return P(e/t)*t}function oe(e,t){return Z(e/t)*t}function se(e,t){return j(e*(t=10**t))/t}const ue=new Map;function ae(e){return((""+e).split(".")[1]||"").length}function le(e,t,n,r){let i=[],o=r.map(ae);for(let s=t;s<n;s++){let t=L(s),n=se(W(e,s),t);for(let e=0;e<r.length;e++){let u=r[e]*n,a=(u>=0&&s>=0?0:t)+(s>=o[e]?0:o[e]),l=se(u,a);i.push(l),ue.set(l,a)}}return i}const ce={},fe=[],de=[null,null],he=Array.isArray;function me(e){return"string"==typeof e}function ye(e){let t=!1;if(null!=e){let n=e.constructor;t=null==n||n==Object}return t}function ve(e){return null!=e&&"object"==typeof e}function pe(e,t=ye){let n;if(he(e)){let r=e.find((e=>null!=e));if(he(r)||t(r)){n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=pe(e[r],t)}else n=e.slice()}else if(t(e)){n={};for(let r in e)n[r]=pe(e[r],t)}else n=e;return n}function ge(e){let t=arguments;for(let n=1;n<t.length;n++){let r=t[n];for(let t in r)ye(e[t])?ge(e[t],pe(r[t])):e[t]=pe(r[t])}return e}function we(e,t,n){for(let r,i=0,o=-1;i<t.length;i++){let s=t[i];if(s>o){for(r=s-1;r>=0&&null==e[r];)e[r--]=null;for(r=s+1;r<n&&null==e[r];)e[o=r++]=null}}}const ke="undefined"==typeof queueMicrotask?e=>Promise.resolve().then(e):queueMicrotask,be=["January","February","March","April","May","June","July","August","September","October","November","December"],xe=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function Se(e){return e.slice(0,3)}const Te=xe.map(Se),Me=be.map(Se),Oe={MMMM:be,MMM:Me,WWWW:xe,WWW:Te};function De(e){return(e<10?"0":"")+e}const Ne={YYYY:e=>e.getFullYear(),YY:e=>(e.getFullYear()+"").slice(2),MMMM:(e,t)=>t.MMMM[e.getMonth()],MMM:(e,t)=>t.MMM[e.getMonth()],MM:e=>De(e.getMonth()+1),M:e=>e.getMonth()+1,DD:e=>De(e.getDate()),D:e=>e.getDate(),WWWW:(e,t)=>t.WWWW[e.getDay()],WWW:(e,t)=>t.WWW[e.getDay()],HH:e=>De(e.getHours()),H:e=>e.getHours(),h:e=>{let t=e.getHours();return 0==t?12:t>12?t-12:t},AA:e=>e.getHours()>=12?"PM":"AM",aa:e=>e.getHours()>=12?"pm":"am",a:e=>e.getHours()>=12?"p":"a",mm:e=>De(e.getMinutes()),m:e=>e.getMinutes(),ss:e=>De(e.getSeconds()),s:e=>e.getSeconds(),fff:e=>{return((t=e.getMilliseconds())<10?"00":t<100?"0":"")+t;var t}};function Ee(e,t){t=t||Oe;let n,r=[],i=/\{([a-z]+)\}|[^{]+/gi;for(;n=i.exec(e);)r.push("{"==n[0][0]?Ne[n[1]]:n[0]);return e=>{let n="";for(let i=0;i<r.length;i++)n+="string"==typeof r[i]?r[i]:r[i](e,t);return n}}const _e=(new Intl.DateTimeFormat).resolvedOptions().timeZone;const Ie=e=>e%1==0,Ve=[1,2,2.5,5],Ce=le(10,-16,0,Ve),Fe=le(10,0,16,Ve),ze=Fe.filter(Ie),Ae=Ce.concat(Fe);function Le(e){let t=1e3*e,n=60*t,r=60*n,i=24*r,o=30*i,s=365*i;return[(1==e?le(10,0,3,Ve).filter(Ie):le(10,-3,0,Ve)).concat([t,5*t,10*t,15*t,30*t,n,5*n,10*n,15*n,30*n,r,2*r,3*r,4*r,6*r,8*r,12*r,i,2*i,3*i,4*i,5*i,6*i,7*i,8*i,9*i,10*i,15*i,o,2*o,3*o,4*o,6*o,s,2*s,5*s,10*s,25*s,50*s,100*s]),[[s,"{YYYY}",null,null,null,null,null,null,1],[28*i,"{MMM}","\n{YYYY}",null,null,null,null,null,1],[i,"{M}/{D}","\n{YYYY}",null,null,null,null,null,1],[r,"{h}{aa}","\n{M}/{D}/{YY}",null,"\n{M}/{D}",null,null,null,1],[n,"{h}:{mm}{aa}","\n{M}/{D}/{YY}",null,"\n{M}/{D}",null,null,null,1],[t,":{ss}","\n{M}/{D}/{YY} {h}:{mm}{aa}",null,"\n{M}/{D} {h}:{mm}{aa}",null,"\n{h}:{mm}{aa}",null,1],[e,":{ss}.{fff}","\n{M}/{D}/{YY} {h}:{mm}{aa}",null,"\n{M}/{D} {h}:{mm}{aa}",null,"\n{h}:{mm}{aa}",null,1]],function(t){return(u,a,l,c,f,d)=>{let h=[],m=f>=s,y=f>=o&&f<s,v=t(l),p=se(v*e,3),g=Re(v.getFullYear(),m?0:v.getMonth(),y||m?1:v.getDate()),w=se(g*e,3);if(y||m){let n=y?f/o:0,r=m?f/s:0,i=p==w?p:se(Re(g.getFullYear()+r,g.getMonth()+n,1)*e,3),u=new Date(j(i/e)),a=u.getFullYear(),l=u.getMonth();for(let o=0;i<=c;o++){let s=Re(a+r*o,l+n*o,1),u=s-t(se(s*e,3));i=se((+s+u)*e,3),i<=c&&h.push(i)}}else{let o=f>=i?i:f,s=w+(Z(l)-Z(p))+ie(p-w,o);h.push(s);let m=t(s),y=m.getHours()+m.getMinutes()/n+m.getSeconds()/r,v=f/r,g=d/u.axes[a]._space;for(;s=se(s+f,1==e?0:3),!(s>c);)if(v>1){let e=Z(se(y+v,6))%24,n=t(s).getHours()-e;n>1&&(n=-1),s-=n*r,y=(y+v)%24,se((s-h[h.length-1])/f,3)*g>=.7&&h.push(s)}else h.push(s)}return h}}]}const[Ze,je,Pe]=Le(1),[Ye,qe,We]=Le(.001);function Ue(e,t){return e.map((e=>e.map(((n,r)=>0==r||8==r||null==n?n:t(1==r||0==e[8]?n:e[1]+n)))))}function He(e,t){return(n,r,i,o,s)=>{let u,a,l,c,f,d,h=t.find((e=>s>=e[0]))||t[t.length-1];return r.map((t=>{let n=e(t),r=n.getFullYear(),i=n.getMonth(),o=n.getDate(),s=n.getHours(),m=n.getMinutes(),y=n.getSeconds(),v=r!=u&&h[2]||i!=a&&h[3]||o!=l&&h[4]||s!=c&&h[5]||m!=f&&h[6]||y!=d&&h[7]||h[1];return u=r,a=i,l=o,c=s,f=m,d=y,v(n)}))}}function Re(e,t,n){return new Date(e,t,n)}function Ge(e,t){return t(e)}le(2,-53,53,[1]);function Je(e,t){return(n,r)=>t(e(r))}const Be={show:!0,live:!0,isolate:!1,markers:{show:!0,width:2,stroke:function(e,t){let n=e.series[t];return n.width?n.stroke(e,t):n.points.width?n.points.stroke(e,t):null},fill:function(e,t){return e.series[t].fill(e,t)},dash:"solid"},idx:null,idxs:null,values:[]};const $e=[0,0];function Qe(e,t,n){return e=>{0==e.button&&n(e)}}function Ke(e,t,n){return n}const Xe={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,n){return $e[0]=t,$e[1]=n,$e},points:{show:function(e,t){let n=e.cursor.points,r=c(),i=n.size(e,t);a(r,"width",i),a(r,"height",i);let o=i/-2;a(r,"marginLeft",o),a(r,"marginTop",o);let s=n.width(e,t,i);return s&&a(r,"borderWidth",s),r},size:function(e,t){return wt(e.series[t].points.width,1)},width:0,stroke:function(e,t){let n=e.series[t].points;return n._stroke||n._fill},fill:function(e,t){let n=e.series[t].points;return n._fill||n._stroke}},bind:{mousedown:Qe,mouseup:Qe,click:Qe,dblclick:Qe,mousemove:Ke,mouseleave:Ke,mouseenter:Ke},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,_x:!1,_y:!1},focus:{prox:-1},left:-10,top:-10,idx:null,dataIdx:function(e,t,n){return n},idxs:null},et={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},tt=ge({},et,{filter:ee}),nt=ge({},tt,{size:10}),rt=ge({},et,{show:!1}),it='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',ot="bold "+it,st={show:!0,scale:"x",stroke:"#000",space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:ot,side:2,grid:tt,ticks:nt,border:rt,font:it,rotate:0},ut={show:!0,scale:"x",auto:!1,sorted:1,min:J,max:-J,idxs:[]};function at(e,t,n,r,i){return t.map((e=>null==e?"":F(e)))}function lt(e,t,n,r,i,o,s){let u=[],a=ue.get(i)||0;for(let e=n=s?n:se(ie(n,i),a);e<=r;e=se(e+i,a))u.push(Object.is(e,-0)?0:e);return u}function ct(e,t,n,r,i,o,s){const u=[],a=e.scales[e.axes[t].scale].log,l=Z((10==a?H:R)(n));i=W(a,l),l<0&&(i=se(i,-l));let c=n;do{u.push(c),c=se(c+i,ue.get(i)),c>=i*a&&(i=c)}while(c<=r);return u}function ft(e,t,n,r,i,o,s){let u=e.scales[e.axes[t].scale].asinh,a=r>u?ct(e,t,q(u,n),r,i):[u],l=r>=0&&n<=0?[0]:[];return(n<-u?ct(e,t,q(u,-r),-n,i):[u]).reverse().map((e=>-e)).concat(l,a)}const dt=/./,ht=/[12357]/,mt=/[125]/,yt=/1/;function vt(e,t,n,r,i){let o=e.axes[n],s=o.scale,u=e.scales[s];if(3==u.distr&&2==u.log)return t;let a=e.valToPos,l=o._space,c=a(10,s),f=a(9,s)-c>=l?dt:a(7,s)-c>=l?ht:a(5,s)-c>=l?mt:yt;return t.map((e=>4==u.distr&&0==e||f.test(e)?e:null))}function pt(e,t){return null==t?"":F(t)}const gt={show:!0,scale:"y",stroke:"#000",space:30,gap:5,size:50,labelGap:0,labelSize:30,labelFont:ot,side:3,grid:tt,ticks:nt,border:rt,font:it,rotate:0};function wt(e,t){return se((3+2*(e||1))*t,3)}const kt={scale:null,auto:!0,sorted:0,min:J,max:-J},bt={show:!0,auto:!0,sorted:0,alpha:1,facets:[ge({},kt,{scale:"x"}),ge({},kt,{scale:"y"})]},xt={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:(e,t,n,r,i)=>i,alpha:1,points:{show:function(e,t){let{scale:n,idxs:r}=e.series[0],o=e._data[0],s=e.valToPos(o[r[0]],n,!0),u=e.valToPos(o[r[1]],n,!0),a=L(u-s)/(e.series[t].points.space*i);return r[1]-r[0]<=a},filter:null},values:null,min:J,max:-J,idxs:[],path:null,clip:null};function St(e,t,n,r,i){return n/10}const Tt={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},Mt=ge({},Tt,{time:!1,ori:1}),Ot={};function Dt(e,t){let n=Ot[e];return n||(n={key:e,plots:[],sub(e){n.plots.push(e)},unsub(e){n.plots=n.plots.filter((t=>t!=e))},pub(e,t,r,i,o,s,u){for(let a=0;a<n.plots.length;a++)n.plots[a]!=t&&n.plots[a].pub(e,t,r,i,o,s,u)}},null!=e&&(Ot[e]=n)),n}function Nt(e,t,n){const r=e.series[t],i=e.scales,o=e.bbox,s=2==e.mode?i[r.facets[0].scale]:i[e.series[0].scale];let u=e._data[0],a=e._data[t],l=s,c=2==e.mode?i[r.facets[1].scale]:i[r.scale],f=o.left,d=o.top,h=o.width,m=o.height,y=e.valToPosH,v=e.valToPosV;return 0==l.ori?n(r,u,a,l,c,y,v,f,d,h,m,At,Zt,Pt,qt,Ut):n(r,u,a,l,c,v,y,d,f,m,h,Lt,jt,Yt,Wt,Ht)}function Et(e,t){let n=0,r=0,i=I(e.bands,fe);for(let e=0;e<i.length;e++){let o=i[e];o.series[0]==t?n=o.dir:o.series[1]==t&&(1==o.dir?r|=1:r|=2)}return[n,1==r?-1:2==r?1:3==r?2:0]}function _t(e,t,n,r,i){let o=e.scales[e.series[t].scale];return-1==i?o.min:1==i?o.max:3==o.distr?1==o.dir?o.min:o.max:0}function It(e,t,n,r,i,o){return Nt(e,t,((e,t,s,u,a,l,c,f,d,h,m)=>{let y=e.pxRound;const v=u.dir*(0==u.ori?1:-1),p=0==u.ori?Zt:jt;let g,w;1==v?(g=n,w=r):(g=r,w=n);let k=y(l(t[g],u,h,f)),b=y(c(s[g],a,m,d)),x=y(l(t[w],u,h,f)),S=y(c(1==o?a.max:a.min,a,m,d)),T=new Path2D(i);return p(T,x,S),p(T,k,S),p(T,k,b),T}))}function Vt(e,t,n,r,i,o){let s=null;if(e.length>0){s=new Path2D;const u=0==t?Pt:Yt;let a=n;for(let t=0;t<e.length;t++){let n=e[t];if(n[1]>n[0]){let e=n[0]-a;e>0&&u(s,a,r,e,r+o),a=n[1]}}let l=n+i-a;l>0&&u(s,a,r,l,r+o)}return s}function Ct(e,t,n,r,i,o,s){let u=[];for(let a=1==i?n:r;a>=n&&a<=r;a+=i){if(null===t[a]){let l=a,c=a;if(1==i)for(;++a<=r&&null===t[a];)c=a;else for(;--a>=n&&null===t[a];)c=a;let f=o(e[l]),d=c==l?f:o(e[c]);f=s<=0?o(e[l-i]):f,d=s>=0?o(e[c+i]):d,d>=f&&u.push([f,d])}}return u}function Ft(e){return 0==e?X:1==e?j:t=>$(t,e)}function zt(e){let t=0==e?At:Lt,n=0==e?(e,t,n,r,i,o)=>{e.arcTo(t,n,r,i,o)}:(e,t,n,r,i,o)=>{e.arcTo(n,t,i,r,o)},r=0==e?(e,t,n,r,i)=>{e.rect(t,n,r,i)}:(e,t,n,r,i)=>{e.rect(n,t,i,r)};return(e,i,o,s,u,a=0)=>{0==a?r(e,i,o,s,u):(a=Y(a,s/2,u/2),t(e,i+a,o),n(e,i+s,o,i+s,o+u,a),n(e,i+s,o+u,i,o+u,a),n(e,i,o+u,i,o,a),n(e,i,o,i+s,o,a),e.closePath())}}const At=(e,t,n)=>{e.moveTo(t,n)},Lt=(e,t,n)=>{e.moveTo(n,t)},Zt=(e,t,n)=>{e.lineTo(t,n)},jt=(e,t,n)=>{e.lineTo(n,t)},Pt=zt(0),Yt=zt(1),qt=(e,t,n,r,i,o)=>{e.arc(t,n,r,i,o)},Wt=(e,t,n,r,i,o)=>{e.arc(n,t,r,i,o)},Ut=(e,t,n,r,i,o,s)=>{e.bezierCurveTo(t,n,r,i,o,s)},Ht=(e,t,n,r,i,o,s)=>{e.bezierCurveTo(n,t,i,r,s,o)};function Rt(e){return(e,t,n,r,o)=>Nt(e,t,((t,s,u,a,l,c,f,d,h,m,y)=>{let v,p,{pxRound:g,points:w}=t;0==a.ori?(v=At,p=qt):(v=Lt,p=Wt);const k=se(w.width*i,3);let b=(w.size-w.width)/2*i,x=se(2*b,3),S=new Path2D,T=new Path2D,{left:M,top:O,width:D,height:N}=e.bbox;Pt(T,M-x,O-x,D+2*x,N+2*x);const E=e=>{if(null!=u[e]){let t=g(c(s[e],a,m,d)),n=g(f(u[e],l,y,h));v(S,t+b,n),p(S,t,n,b,0,2*A)}};if(o)o.forEach(E);else for(let e=n;e<=r;e++)E(e);return{stroke:k>0?S:null,fill:S,clip:T,flags:3}}))}function Gt(e){return(t,n,r,i,o,s)=>{r!=i&&(o!=r&&s!=r&&e(t,n,r),o!=i&&s!=i&&e(t,n,i),e(t,n,s))}}const Jt=Gt(Zt),Bt=Gt(jt);function $t(e){const t=I(e?.alignGaps,0);return(e,n,r,i)=>Nt(e,n,((o,s,u,a,l,c,f,d,h,m,y)=>{let v,p,g=o.pxRound,w=e=>g(c(e,a,m,d)),k=e=>g(f(e,l,y,h));0==a.ori?(v=Zt,p=Jt):(v=jt,p=Bt);const b=a.dir*(0==a.ori?1:-1),S={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},T=S.stroke;let M,O,D,N=J,E=-J,_=w(s[1==b?r:i]),I=x(u,r,i,1*b),V=x(u,r,i,-1*b),C=w(s[I]),F=w(s[V]);for(let e=1==b?r:i;e>=r&&e<=i;e+=b){let t=w(s[e]);t==_?null!=u[e]&&(O=k(u[e]),N==J&&(v(T,t,O),M=O),N=Y(O,N),E=q(O,E)):(N!=J&&(p(T,_,N,E,M,O),D=_),null!=u[e]?(O=k(u[e]),v(T,t,O),N=E=M=O):(N=J,E=-J),_=t)}N!=J&&N!=E&&D!=_&&p(T,_,N,E,M,O);let[z,A]=Et(e,n);if(null!=o.fill||0!=z){let t=S.fill=new Path2D(T),r=k(o.fillTo(e,n,o.min,o.max,z));v(t,F,r),v(t,C,r)}if(!o.spanGaps){let l=[];l.push(...Ct(s,u,r,i,b,w,t)),S.gaps=l=o.gaps(e,n,r,i,l),S.clip=Vt(l,a.ori,d,h,m,y)}return 0!=A&&(S.band=2==A?[It(e,n,r,i,T,-1),It(e,n,r,i,T,1)]:It(e,n,r,i,T,A)),S}))}function Qt(e,t,n,r,i,o){const s=e.length;if(s<2)return null;const u=new Path2D;if(n(u,e[0],t[0]),2==s)r(u,e[1],t[1]);else{let n=Array(s),r=Array(s-1),o=Array(s-1),a=Array(s-1);for(let n=0;n<s-1;n++)o[n]=t[n+1]-t[n],a[n]=e[n+1]-e[n],r[n]=o[n]/a[n];n[0]=r[0];for(let e=1;e<s-1;e++)0===r[e]||0===r[e-1]||r[e-1]>0!=r[e]>0?n[e]=0:(n[e]=3*(a[e-1]+a[e])/((2*a[e]+a[e-1])/r[e-1]+(a[e]+2*a[e-1])/r[e]),isFinite(n[e])||(n[e]=0));n[s-1]=r[s-2];for(let r=0;r<s-1;r++)i(u,e[r]+a[r]/3,t[r]+n[r]*a[r]/3,e[r+1]-a[r]/3,t[r+1]-n[r+1]*a[r]/3,e[r+1],t[r+1])}return u}const Kt=new Set;function Xt(){Kt.forEach((e=>{e.syncRect(!0)}))}e&&(w("resize",n,Xt),w("scroll",n,Xt,!0),w("dppxchange",n,(()=>{mn.pxRatio=i})));const en=$t(),tn=Rt();function nn(e,t,n,r){return(r?[e[0],e[1]].concat(e.slice(2)):[e[0]].concat(e.slice(1))).map(((e,r)=>rn(e,r,t,n)))}function rn(e,t,n,r){return ge({},0==t?n:r,e)}function on(e,t,n){return null==t?de:[t,n]}const sn=on;function un(e,t,n){return null==t?de:_(t,n,.1,!0)}function an(e,t,n,r){return null==t?de:M(t,n,e.scales[r].log,!1)}const ln=an;function cn(e,t,n,r){return null==t?de:O(t,n,e.scales[r].log,!1)}const fn=cn;function dn(e){let t,n;return[e=e.replace(/(\d+)px/,((e,r)=>(t=j((n=+r)*i))+"px")),t,n]}function hn(e){e.show&&[e.font,e.labelFont].forEach((e=>{let t=se(e[2]*i,1);e[0]=e[0].replace(/[0-9.]+px/,t+"px"),e[1]=t}))}function mn(e,r,o){const f={mode:I(e.mode,1)},h=f.mode;function y(e,t){return((3==t.distr?H(e>0?e:t.clamp(f,e,t.min,t.max,t.key)):4==t.distr?G(e,t.asinh):e)-t._min)/(t._max-t._min)}function p(e,t,n,r){let i=y(e,t);return r+n*(-1==t.dir?1-i:i)}function g(e,t,n,r){let i=y(e,t);return r+n*(-1==t.dir?i:1-i)}function x(e,t,n,r){return 0==t.ori?p(e,t,n,r):g(e,t,n,r)}f.valToPosH=p,f.valToPosV=g;let S=!1;f.status=0;const T=f.root=c("uplot");if(null!=e.id&&(T.id=e.id),s(T,e.class),e.title){c("u-title",T).textContent=e.title}const N=l("canvas"),E=f.ctx=N.getContext("2d"),V=c("u-wrap",T),C=f.under=c("u-under",V);V.appendChild(N);const F=f.over=c("u-over",V),Z=+I((e=pe(e)).pxAlign,1),U=Ft(Z);(e.plugins||[]).forEach((t=>{t.opts&&(e=t.opts(f,e)||e)}));const R=e.ms||.001,X=f.series=1==h?nn(e.series||[],ut,xt,!1):(oe=e.series||[null],ae=bt,oe.map(((e,t)=>0==t?null:ge({},ae,e))));var oe,ae;const le=f.axes=nn(e.axes||[],st,gt,!0),we=f.scales={},be=f.bands=e.bands||[];be.forEach((e=>{e.fill=K(e.fill||null),e.dir=I(e.dir,-1)}));const xe=2==h?X[1].facets[0].scale:X[0].scale,Se={axes:function(){for(let e=0;e<le.length;e++){let t=le[e];if(!t.show||!t._show)continue;let n,r,o=t.side,s=o%2,u=t.stroke(f,e),a=0==o||3==o?-1:1;if(t.label){let e=t.labelGap*a,l=j((t._lpos+e)*i);Ln(t.labelFont[0],u,"center",2==o?"top":"bottom"),E.save(),1==s?(n=r=0,E.translate(l,j(Zt+Pt/2)),E.rotate((3==o?-A:A)/2)):(n=j(Lt+jt/2),r=l),E.fillText(t.label,n,r),E.restore()}let[l,c]=t._found;if(0==c)continue;let d=we[t.scale],h=0==s?jt:Pt,m=0==s?Lt:Zt,y=j(t.gap*i),v=t._splits,p=2==d.distr?v.map((e=>Vn[e])):v,g=2==d.distr?Vn[v[1]]-Vn[v[0]]:l,w=t.ticks,k=t.border,b=w.show?j(w.size*i):0,S=t._rotate*-A/180,T=U(t._pos*i),M=T+(b+y)*a;r=0==s?M:0,n=1==s?M:0;let O=t.font[0],D=1==t.align?"left":2==t.align?"right":S>0?"left":S<0?"right":0==s?"center":3==o?"right":"left";Ln(O,u,D,S||1==s?"middle":2==o?"top":"bottom");let N=1.5*t.font[1],_=v.map((e=>U(x(e,d,h,m)))),I=t._values;for(let e=0;e<I.length;e++){let t=I[e];if(null!=t){0==s?n=_[e]:r=_[e],t=""+t;let i=-1==t.indexOf("\n")?[t]:t.split(/\n/gm);for(let e=0;e<i.length;e++){let t=i[e];S?(E.save(),E.translate(n,r+e*N),E.rotate(S),E.fillText(t,0,0),E.restore()):E.fillText(t,n,r+e*N)}}}w.show&&Hn(_,w.filter(f,p,e,c,g),s,o,T,b,se(w.width*i,3),w.stroke(f,e),w.dash,w.cap);let V=t.grid;V.show&&Hn(_,V.filter(f,p,e,c,g),s,0==s?2:1,0==s?Zt:Lt,0==s?Pt:jt,se(V.width*i,3),V.stroke(f,e),V.dash,V.cap),k.show&&Hn([T],[1],0==s?1:0,0==s?1:2,1==s?Zt:Lt,1==s?Pt:jt,se(k.width*i,3),k.stroke(f,e),k.dash,k.cap)}Ur("drawAxes")},series:function(){gn>0&&(X.forEach(((e,t)=>{if(t>0&&e.show&&null==e._paths){let n=function(e){let t=Q(wn-1,0,gn-1),n=Q(kn+1,0,gn-1);for(;null==e[t]&&t>0;)t--;for(;null==e[n]&&n<gn-1;)n++;return[t,n]}(r[t]);e._paths=e.paths(f,t,n[0],n[1])}})),X.forEach(((e,t)=>{if(t>0&&e.show){In!=e.alpha&&(E.globalAlpha=In=e.alpha),jn(t,!1),e._paths&&Pn(t,!1);{jn(t,!0);let n=e.points.show(f,t,wn,kn),r=e.points.filter(f,t,n,e._paths?e._paths.gaps:null);(n||r)&&(e.points._paths=e.points.paths(f,t,wn,kn,r),Pn(t,!0))}1!=In&&(E.globalAlpha=In=1),Ur("drawSeries",t)}})))}},Te=(e.drawOrder||["axes","series"]).map((e=>Se[e]));function Me(t){let n=we[t];if(null==n){let r=(e.scales||ce)[t]||ce;if(null!=r.from)Me(r.from),we[t]=ge({},we[r.from],r,{key:t});else{n=we[t]=ge({},t==xe?Tt:Mt,r),n.key=t;let e=n.time,i=n.range,o=he(i);if((t!=xe||2==h&&!e)&&(!o||null!=i[0]&&null!=i[1]||(i={min:null==i[0]?D:{mode:1,hard:i[0],soft:i[0]},max:null==i[1]?D:{mode:1,hard:i[1],soft:i[1]}},o=!1),!o&&ye(i))){let e=i;i=(t,n,r)=>null==n?de:_(n,r,e)}n.range=K(i||(e?sn:t==xe?3==n.distr?ln:4==n.distr?fn:on:3==n.distr?an:4==n.distr?cn:un)),n.auto=K(!o&&n.auto),n.clamp=K(n.clamp||St),n._min=n._max=null}}}Me("x"),Me("y"),1==h&&X.forEach((e=>{Me(e.scale)})),le.forEach((e=>{Me(e.scale)}));for(let t in e.scales)Me(t);const Oe=we[xe],De=Oe.distr;let Ne,_e;0==Oe.ori?(s(T,"u-hz"),Ne=p,_e=g):(s(T,"u-vt"),Ne=g,_e=p);const Ie={};for(let e in we){let t=we[e];null==t.min&&null==t.max||(Ie[e]={min:t.min,max:t.max},t.min=t.max=null)}const Ve=e.tzDate||(e=>new Date(j(e/R))),Ce=e.fmtDate||Ee,Fe=1==R?Pe(Ve):We(Ve),Le=He(Ve,Ue(1==R?je:qe,Ce)),Re=Je(Ve,Ge("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",Ce)),$e=[],Qe=f.legend=ge({},Be,e.legend),Ke=Qe.show,et=Qe.markers;let tt;Qe.idxs=$e,et.width=K(et.width),et.dash=K(et.dash),et.stroke=K(et.stroke),et.fill=K(et.fill);let nt,rt=[],it=[],ot=!1,dt={};if(Qe.live){const e=X[1]?X[1].values:null;ot=null!=e,nt=ot?e(f,1,0):{_:0};for(let e in nt)dt[e]="--"}if(Ke)if(tt=l("table","u-legend",T),ot){let e=l("tr","u-thead",tt);for(var ht in l("th",null,e),nt)l("th","u-label",e).textContent=ht}else s(tt,"u-inline"),Qe.live&&s(tt,"u-live");const mt={show:!0},yt={show:!1};const kt=new Map;function Ot(e,t,n){const r=kt.get(t)||{},i=Jt.bind[e](f,t,n);i&&(w(e,t,r[e]=i),kt.set(t,r))}function Nt(e,t,n){const r=kt.get(t)||{};for(let n in r)null!=e&&n!=e||(k(n,t,r[n]),delete r[n]);null==e&&kt.delete(t)}let Et=0,It=0,Vt=0,Ct=0,zt=0,At=0,Lt=0,Zt=0,jt=0,Pt=0;f.bbox={};let Yt=!1,qt=!1,Wt=!1,Ut=!1,Ht=!1;function Rt(e,t,n){(n||e!=f.width||t!=f.height)&&Gt(e,t),Jn(!1),Wt=!0,qt=!0,Ut=Ht=Jt.left>=0,ar()}function Gt(e,t){f.width=Et=Vt=e,f.height=It=Ct=t,zt=At=0,function(){let e=!1,t=!1,n=!1,r=!1;le.forEach(((i,o)=>{if(i.show&&i._show){let{side:o,_size:s}=i,u=o%2,a=s+(null!=i.label?i.labelSize:0);a>0&&(u?(Vt-=a,3==o?(zt+=a,r=!0):n=!0):(Ct-=a,0==o?(At+=a,e=!0):t=!0))}})),mn[0]=e,mn[1]=n,mn[2]=t,mn[3]=r,Vt-=pn[1]+pn[3],zt+=pn[3],Ct-=pn[2]+pn[0],At+=pn[0]}(),function(){let e=zt+Vt,t=At+Ct,n=zt,r=At;function i(i,o){switch(i){case 1:return e+=o,e-o;case 2:return t+=o,t-o;case 3:return n-=o,n+o;case 0:return r-=o,r+o}}le.forEach(((e,t)=>{if(e.show&&e._show){let t=e.side;e._pos=i(t,e._size),null!=e.label&&(e._lpos=i(t,e.labelSize))}}))}();let n=f.bbox;Lt=n.left=$(zt*i,.5),Zt=n.top=$(At*i,.5),jt=n.width=$(Vt*i,.5),Pt=n.height=$(Ct*i,.5)}f.setSize=function({width:e,height:t}){Rt(e,t)};const Jt=f.cursor=ge({},Xe,{drag:{y:2==h}},e.cursor);{Jt.idxs=$e,Jt._lock=!1;let e=Jt.points;e.show=K(e.show),e.size=K(e.size),e.stroke=K(e.stroke),e.width=K(e.width),e.fill=K(e.fill)}const Bt=f.focus=ge({},e.focus||{alpha:.3},Jt.focus),$t=Bt.prox>=0;let Qt=[null];function Xt(e,t){if(1==h||t>0){let t=1==h&&we[e.scale].time,n=e.value;e.value=t?me(n)?Je(Ve,Ge(n,Ce)):n||Re:n||pt,e.label=e.label||(t?"Time":"Value")}if(t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||en||te,e.fillTo=K(e.fillTo||_t),e.pxAlign=+I(e.pxAlign,Z),e.pxRound=Ft(e.pxAlign),e.stroke=K(e.stroke||null),e.fill=K(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;let t=wt(e.width,1),n=e.points=ge({},{size:t,width:q(1,.2*t),stroke:e.stroke,space:2*t,paths:tn,_stroke:null,_fill:null},e.points);n.show=K(n.show),n.filter=K(n.filter),n.fill=K(n.fill),n.stroke=K(n.stroke),n.paths=K(n.paths),n.pxAlign=e.pxAlign}if(Ke){let n=function(e,t){if(0==t&&(ot||!Qe.live||2==h))return de;let n=[],r=l("tr","u-series",tt,tt.childNodes[t]);s(r,e.class),e.show||s(r,"u-off");let i=l("th",null,r);if(et.show){let e=c("u-marker",i);if(t>0){let n=et.width(f,t);n&&(e.style.border=n+"px "+et.dash(f,t)+" "+et.stroke(f,t)),e.style.background=et.fill(f,t)}}let o=c("u-label",i);for(var u in o.textContent=e.label,t>0&&(et.show||(o.style.color=e.width>0?et.stroke(f,t):et.fill(f,t)),Ot("click",i,(t=>{if(Jt._lock)return;let n=X.indexOf(e);if((t.ctrlKey||t.metaKey)!=Qe.isolate){let e=X.some(((e,t)=>t>0&&t!=n&&e.show));X.forEach(((t,r)=>{r>0&&wr(r,e?r==n?mt:yt:mt,!0,Hr.setSeries)}))}else wr(n,{show:!e.show},!0,Hr.setSeries)})),$t&&Ot("mouseenter",i,(t=>{Jt._lock||wr(X.indexOf(e),Sr,!0,Hr.setSeries)}))),nt){let e=l("td","u-value",r);e.textContent="--",n.push(e)}return[r,n]}(e,t);rt.splice(t,0,n[0]),it.splice(t,0,n[1]),Qe.values.push(null)}if(Jt.show){$e.splice(t,0,null);let n=function(e,t){if(t>0){let n=Jt.points.show(f,t);if(n)return s(n,"u-cursor-pt"),s(n,e.class),d(n,-10,-10,Vt,Ct),F.insertBefore(n,Qt[t]),n}}(e,t);n&&Qt.splice(t,0,n)}Ur("addSeries",t)}f.addSeries=function(e,t){e=rn(e,t=null==t?X.length:t,ut,xt),X.splice(t,0,e),Xt(X[t],t)},f.delSeries=function(e){if(X.splice(e,1),Ke){Qe.values.splice(e,1),it.splice(e,1);let t=rt.splice(e,1)[0];Nt(null,t.firstChild),t.remove()}Jt.show&&($e.splice(e,1),Qt.length>1&&Qt.splice(e,1)[0].remove()),Ur("delSeries",e)};const mn=[!1,!1,!1,!1];function yn(e,t,n,r){let[i,o,s,u]=n,a=t%2,l=0;return 0==a&&(u||o)&&(l=0==t&&!i||2==t&&!s?j(st.size/3):0),1==a&&(i||s)&&(l=1==t&&!o||3==t&&!u?j(gt.size/2):0),l}const vn=f.padding=(e.padding||[yn,yn,yn,yn]).map((e=>K(I(e,yn)))),pn=f._padding=vn.map(((e,t)=>e(f,t,mn,0)));let gn,wn=null,kn=null;const bn=1==h?X[0].idxs:null;let xn,Sn,Tn,Mn,On,Dn,Nn,En,_n,In,Vn=null,Cn=!1;function Fn(e,t){if(r=null==e?[]:pe(e,ve),2==h){gn=0;for(let e=1;e<X.length;e++)gn+=r[e][0].length;f.data=r=e}else if(null==r[0]&&(r[0]=[]),f.data=r.slice(),Vn=r[0],gn=Vn.length,2==De){r[0]=Array(gn);for(let e=0;e<gn;e++)r[0][e]=e}if(f._data=r,Jn(!0),Ur("setData"),!1!==t){let e=Oe;e.auto(f,Cn)?zn():gr(xe,e.min,e.max),Ut=Jt.left>=0,Ht=!0,ar()}}function zn(){let e,t;Cn=!0,1==h&&(gn>0?(wn=bn[0]=0,kn=bn[1]=gn-1,e=r[0][wn],t=r[0][kn],2==De?(e=wn,t=kn):1==gn&&(3==De?[e,t]=M(e,e,Oe.log,!1):4==De?[e,t]=O(e,e,Oe.log,!1):Oe.time?t=e+j(86400/R):[e,t]=_(e,t,.1,!0))):(wn=bn[0]=e=null,kn=bn[1]=t=null)),gr(xe,e,t)}function An(e="#0000",t,n=fe,r="butt",i="#0000",o="round"){e!=xn&&(E.strokeStyle=xn=e),i!=Sn&&(E.fillStyle=Sn=i),t!=Tn&&(E.lineWidth=Tn=t),o!=On&&(E.lineJoin=On=o),r!=Dn&&(E.lineCap=Dn=r),n!=Mn&&E.setLineDash(Mn=n)}function Ln(e,t,n,r){t!=Sn&&(E.fillStyle=Sn=t),e!=Nn&&(E.font=Nn=e),n!=En&&(E.textAlign=En=n),r!=_n&&(E.textBaseline=_n=r)}function Zn(e,t,n,r,i=0){if(r.length>0&&e.auto(f,Cn)&&(null==t||null==t.min)){let t=I(wn,0),o=I(kn,r.length-1),s=null==n.min?3==e.distr?function(e,t,n){let r=J,i=-J;for(let o=t;o<=n;o++)e[o]>0&&(r=Y(r,e[o]),i=q(i,e[o]));return[r==J?1:r,i==-J?10:i]}(r,t,o):function(e,t,n,r){let i=J,o=-J;if(1==r)i=e[t],o=e[n];else if(-1==r)i=e[n],o=e[t];else for(let r=t;r<=n;r++)null!=e[r]&&(i=Y(i,e[r]),o=q(o,e[r]));return[i,o]}(r,t,o,i):[n.min,n.max];e.min=Y(e.min,n.min=s[0]),e.max=q(e.max,n.max=s[1])}}function jn(e,t){let n=t?X[e].points:X[e];n._stroke=n.stroke(f,e),n._fill=n.fill(f,e)}function Pn(e,t){let n=t?X[e].points:X[e],o=n._stroke,s=n._fill,{stroke:u,fill:a,clip:l,flags:c}=n._paths,d=null,h=se(n.width*i,3),m=h%2/2;t&&null==s&&(s=h>0?"#fff":o);let y=1==n.pxAlign;if(y&&E.translate(m,m),!t){let e=Lt,t=Zt,r=jt,o=Pt,s=h*i/2;0==n.min&&(o+=s),0==n.max&&(t-=s,o+=s),d=new Path2D,d.rect(e,t,r,o)}t?Yn(o,h,n.dash,n.cap,s,u,a,c,l):function(e,t,n,i,o,s,u,a,l,c,d){let h=!1;be.forEach(((m,y)=>{if(m.series[0]==e){let e,v=X[m.series[1]],p=r[m.series[1]],g=(v._paths||ce).band;he(g)&&(g=1==m.dir?g[0]:g[1]);let w=null;v.show&&g&&function(e,t,n){for(t=I(t,0),n=I(n,e.length-1);t<=n;){if(null!=e[t])return!0;t++}return!1}(p,wn,kn)?(w=m.fill(f,y)||s,e=v._paths.clip):g=null,Yn(t,n,i,o,w,u,a,l,c,d,e,g),h=!0}})),h||Yn(t,n,i,o,s,u,a,l,c,d)}(e,o,h,n.dash,n.cap,s,u,a,c,d,l),y&&E.translate(-m,-m)}f.setData=Fn;function Yn(e,t,n,r,i,o,s,u,a,l,c,f){An(e,t,n,r,i),(a||l||f)&&(E.save(),a&&E.clip(a),l&&E.clip(l)),f?3==(3&u)?(E.clip(f),c&&E.clip(c),Wn(i,s),qn(e,o,t)):2&u?(Wn(i,s),E.clip(f),qn(e,o,t)):1&u&&(E.save(),E.clip(f),c&&E.clip(c),Wn(i,s),E.restore(),qn(e,o,t)):(Wn(i,s),qn(e,o,t)),(a||l||f)&&E.restore()}function qn(e,t,n){n>0&&(t instanceof Map?t.forEach(((e,t)=>{E.strokeStyle=xn=t,E.stroke(e)})):null!=t&&e&&E.stroke(t))}function Wn(e,t){t instanceof Map?t.forEach(((e,t)=>{E.fillStyle=Sn=t,E.fill(e)})):null!=t&&e&&E.fill(t)}function Un(e,t,n,r){let i,o=le[e];if(r<=0)i=[0,0];else{let s=o._space=o.space(f,e,t,n,r);i=function(e,t,n,r,i){let o=q(B(e),B(t)),s=t-e,u=b(i/r*s,n);do{let e=n[u],t=r*e/s;if(t>=i&&o+(e<5?ue.get(e):0)<=17)return[e,t]}while(++u<n.length);return[0,0]}(t,n,o._incrs=o.incrs(f,e,t,n,r,s),r,s)}return o._found=i}function Hn(e,t,n,r,i,o,s,u,a,l){let c=s%2/2;1==Z&&E.translate(c,c),An(u,s,a,l,u),E.beginPath();let f,d,h,m,y=i+(0==r||3==r?-o:o);0==n?(d=i,m=y):(f=i,h=y);for(let r=0;r<e.length;r++)null!=t[r]&&(0==n?f=h=e[r]:d=m=e[r],E.moveTo(f,d),E.lineTo(h,m));E.stroke(),1==Z&&E.translate(-c,-c)}function Rn(e){let t=!0;return le.forEach(((n,r)=>{if(!n.show)return;let i=we[n.scale];if(null==i.min)return void(n._show&&(t=!1,n._show=!1,Jn(!1)));n._show||(t=!1,n._show=!0,Jn(!1));let o=n.side,s=o%2,{min:u,max:a}=i,[l,c]=Un(r,u,a,0==s?Vt:Ct);if(0==c)return;let d=2==i.distr,h=n._splits=n.splits(f,r,u,a,l,c,d),m=2==i.distr?h.map((e=>Vn[e])):h,y=2==i.distr?Vn[h[1]]-Vn[h[0]]:l,v=n._values=n.values(f,n.filter(f,m,r,c,y),r,c,y);n._rotate=2==o?n.rotate(f,v,r,c):0;let p=n._size;n._size=P(n.size(f,v,r,e)),null!=p&&n._size!=p&&(t=!1)})),t}function Gn(e){let t=!0;return vn.forEach(((n,r)=>{let i=n(f,r,mn,e);i!=pn[r]&&(t=!1),pn[r]=i})),t}function Jn(e){X.forEach(((t,n)=>{n>0&&(t._paths=null,e&&(1==h?(t.min=null,t.max=null):t.facets.forEach((e=>{e.min=null,e.max=null}))))}))}let Bn,$n,Qn,Kn,Xn,er,tr,nr,rr,ir,or,sr,ur=!1;function ar(){ur||(ke(lr),ur=!0)}function lr(){Yt&&(!function(){let e=pe(we,ve);for(let t in e){let n=e[t],r=Ie[t];if(null!=r&&null!=r.min)ge(n,r),t==xe&&Jn(!0);else if(t!=xe||2==h)if(0==gn&&null==n.from){let e=n.range(f,null,null,t);n.min=e[0],n.max=e[1]}else n.min=J,n.max=-J}if(gn>0){X.forEach(((t,n)=>{if(1==h){let i=t.scale,o=e[i],s=Ie[i];if(0==n){let e=o.range(f,o.min,o.max,i);o.min=e[0],o.max=e[1],wn=b(o.min,r[0]),kn=b(o.max,r[0]),r[0][wn]<o.min&&wn++,r[0][kn]>o.max&&kn--,t.min=Vn[wn],t.max=Vn[kn]}else t.show&&t.auto&&Zn(o,s,t,r[n],t.sorted);t.idxs[0]=wn,t.idxs[1]=kn}else if(n>0&&t.show&&t.auto){let[i,o]=t.facets,s=i.scale,u=o.scale,[a,l]=r[n];Zn(e[s],Ie[s],i,a,i.sorted),Zn(e[u],Ie[u],o,l,o.sorted),t.min=o.min,t.max=o.max}}));for(let t in e){let n=e[t],r=Ie[t];if(null==n.from&&(null==r||null==r.min)){let e=n.range(f,n.min==J?null:n.min,n.max==-J?null:n.max,t);n.min=e[0],n.max=e[1]}}}for(let t in e){let n=e[t];if(null!=n.from){let r=e[n.from];if(null==r.min)n.min=n.max=null;else{let e=n.range(f,r.min,r.max,t);n.min=e[0],n.max=e[1]}}}let t={},n=!1;for(let r in e){let i=e[r],o=we[r];if(o.min!=i.min||o.max!=i.max){o.min=i.min,o.max=i.max;let e=o.distr;o._min=3==e?H(o.min):4==e?G(o.min,o.asinh):o.min,o._max=3==e?H(o.max):4==e?G(o.max,o.asinh):o.max,t[r]=n=!0}}if(n){X.forEach(((e,n)=>{2==h?n>0&&t.y&&(e._paths=null):t[e.scale]&&(e._paths=null)}));for(let e in t)Wt=!0,Ur("setScale",e);Jt.show&&(Ut=Ht=Jt.left>=0)}for(let e in Ie)Ie[e]=null}(),Yt=!1),Wt&&(!function(){let e=!1,t=0;for(;!e;){t++;let n=Rn(t),r=Gn(t);e=3==t||n&&r,e||(Gt(f.width,f.height),qt=!0)}}(),Wt=!1),qt&&(a(C,"left",zt),a(C,"top",At),a(C,"width",Vt),a(C,"height",Ct),a(F,"left",zt),a(F,"top",At),a(F,"width",Vt),a(F,"height",Ct),a(V,"width",Et),a(V,"height",It),N.width=j(Et*i),N.height=j(It*i),le.forEach((({_el:e,_show:t,_size:n,_pos:r,side:i})=>{if(null!=e)if(t){let t=i%2==1;a(e,t?"left":"top",r-(3===i||0===i?n:0)),a(e,t?"width":"height",n),a(e,t?"top":"left",t?At:zt),a(e,t?"height":"width",t?Ct:Vt),u(e,"u-off")}else s(e,"u-off")})),xn=Sn=Tn=On=Dn=Nn=En=_n=Mn=null,In=1,Cr(!0),Ur("setSize"),qt=!1),Et>0&&It>0&&(E.clearRect(0,0,N.width,N.height),Ur("drawClear"),Te.forEach((e=>e())),Ur("draw")),Jt.show&&Ut&&(Ir(null,!0,!1),Ut=!1),S||(S=!0,f.status=1,Ur("ready")),Cn=!1,ur=!1}function cr(e,t){let n=we[e];if(null==n.from){if(0==gn){let r=n.range(f,t.min,t.max,e);t.min=r[0],t.max=r[1]}if(t.min>t.max){let e=t.min;t.min=t.max,t.max=e}if(gn>1&&null!=t.min&&null!=t.max&&t.max-t.min<1e-16)return;e==xe&&2==n.distr&&gn>0&&(t.min=b(t.min,r[0]),t.max=b(t.max,r[0]),t.min==t.max&&t.max++),Ie[e]=t,Yt=!0,ar()}}f.redraw=(e,t)=>{Wt=t||!1,!1!==e?gr(xe,Oe.min,Oe.max):ar()},f.setScale=cr;let fr=!1;const dr=Jt.drag;let hr=dr.x,mr=dr.y;Jt.show&&(Jt.x&&(Bn=c("u-cursor-x",F)),Jt.y&&($n=c("u-cursor-y",F)),0==Oe.ori?(Qn=Bn,Kn=$n):(Qn=$n,Kn=Bn),or=Jt.left,sr=Jt.top);const yr=f.select=ge({show:!0,over:!0,left:0,width:0,top:0,height:0},e.select),vr=yr.show?c("u-select",yr.over?F:C):null;function pr(e,t){if(yr.show){for(let t in e)a(vr,t,yr[t]=e[t]);!1!==t&&Ur("setSelect")}}function gr(e,t,n){cr(e,{min:t,max:n})}function wr(e,t,n,r){null!=t.focus&&function(e){if(e!=xr){let t=null==e,n=1!=Bt.alpha;X.forEach(((r,i)=>{let o=t||0==i||i==e;r._focus=t?null:o,n&&function(e,t){X[e].alpha=t,Jt.show&&Qt[e]&&(Qt[e].style.opacity=t);Ke&&rt[e]&&(rt[e].style.opacity=t)}(i,o?1:Bt.alpha)})),xr=e,n&&ar()}}(e),null!=t.show&&X.forEach(((n,r)=>{r>0&&(e==r||null==e)&&(n.show=t.show,function(e,t){let n=X[e],r=Ke?rt[e]:null;n.show?r&&u(r,"u-off"):(r&&s(r,"u-off"),Qt.length>1&&d(Qt[e],-10,-10,Vt,Ct))}(r,t.show),gr(2==h?n.facets[1].scale:n.scale,null,null),ar())})),!1!==n&&Ur("setSeries",e,t),r&&Jr("setSeries",f,e,t)}let kr,br,xr;f.setSelect=pr,f.setSeries=wr,f.addBand=function(e,t){e.fill=K(e.fill||null),e.dir=I(e.dir,-1),t=null==t?be.length:t,be.splice(t,0,e)},f.setBand=function(e,t){ge(be[e],t)},f.delBand=function(e){null==e?be.length=0:be.splice(e,1)};const Sr={focus:!0};function Tr(e,t,n){let r=we[t];n&&(e=e/i-(1==r.ori?At:zt));let o=Vt;1==r.ori&&(o=Ct,e=o-e),-1==r.dir&&(e=o-e);let s=r._min,u=s+(r._max-s)*(e/o),a=r.distr;return 3==a?W(10,u):4==a?((e,t=1)=>z.sinh(e)*t)(u,r.asinh):u}function Mr(e,t){a(vr,"left",yr.left=e),a(vr,"width",yr.width=t)}function Or(e,t){a(vr,"top",yr.top=e),a(vr,"height",yr.height=t)}Ke&&$t&&w("mouseleave",tt,(e=>{Jt._lock||null!=xr&&wr(null,Sr,!0,Hr.setSeries)})),f.valToIdx=e=>b(e,r[0]),f.posToIdx=function(e,t){return b(Tr(e,xe,t),r[0],wn,kn)},f.posToVal=Tr,f.valToPos=(e,t,n)=>0==we[t].ori?p(e,we[t],n?jt:Vt,n?Lt:0):g(e,we[t],n?Pt:Ct,n?Zt:0),f.batch=function(e){e(f),ar()},f.setCursor=(e,t,n)=>{or=e.left,sr=e.top,Ir(null,t,n)};let Dr=0==Oe.ori?Mr:Or,Nr=1==Oe.ori?Mr:Or;function Er(e,t){if(null!=e){let t=e.idx;Qe.idx=t,X.forEach(((e,n)=>{(n>0||!ot)&&_r(n,t)}))}Ke&&Qe.live&&function(){if(Ke&&Qe.live)for(let e=2==h?1:0;e<X.length;e++){if(0==e&&ot)continue;let t=Qe.values[e],n=0;for(let r in t)it[e][n++].firstChild.nodeValue=t[r]}}(),Ht=!1,!1!==t&&Ur("setLegend")}function _r(e,t){let n;if(null==t)n=dt;else{let i=X[e],o=0==e&&2==De?Vn:r[e];n=ot?i.values(f,e,t):{_:i.value(f,o[t],e,t)}}Qe.values[e]=n}function Ir(e,t,n){let i;rr=or,ir=sr,[or,sr]=Jt.move(f,or,sr),Jt.show&&(Qn&&d(Qn,j(or),0,Vt,Ct),Kn&&d(Kn,0,j(sr),Vt,Ct));let o=wn>kn;kr=J;let s=0==Oe.ori?Vt:Ct,u=1==Oe.ori?Vt:Ct;if(or<0||0==gn||o){i=null;for(let e=0;e<X.length;e++)e>0&&Qt.length>1&&d(Qt[e],-10,-10,Vt,Ct);if($t&&wr(null,Sr,!0,null==e&&Hr.setSeries),Qe.live){$e.fill(null),Ht=!0;for(let e=0;e<X.length;e++)Qe.values[e]=dt}}else{let e,t,n;1==h&&(e=0==Oe.ori?or:sr,t=Tr(e,xe),i=b(t,r[0],wn,kn),n=ie(Ne(r[0][i],Oe,s,0),.5));for(let e=2==h?1:0;e<X.length;e++){let o=X[e],a=$e[e],l=1==h?r[e][a]:r[e][1][a],c=Jt.dataIdx(f,e,i,t),y=1==h?r[e][c]:r[e][1][c];Ht=Ht||y!=l||c!=a,$e[e]=c;let p=c==i?n:ie(Ne(1==h?r[0][c]:r[e][0][c],Oe,s,0),.5);if(e>0&&o.show){let t,n,r=null==y?-10:ie(_e(y,1==h?we[o.scale]:we[o.facets[1].scale],u,0),.5);if(r>0&&1==h){let t=L(r-sr);t<=kr&&(kr=t,br=e)}if(0==Oe.ori?(t=p,n=r):(t=r,n=p),Ht&&Qt.length>1){m(Qt[e],Jt.points.fill(f,e),Jt.points.stroke(f,e));let r,i,o,s,u=!0,a=Jt.points.bbox;if(null!=a){u=!1;let t=a(f,e);o=t.left,s=t.top,r=t.width,i=t.height}else o=t,s=n,r=i=Jt.points.size(f,e);v(Qt[e],r,i,u),d(Qt[e],o,s,Vt,Ct)}}if(Qe.live){if(!Ht||0==e&&ot)continue;_r(e,c)}}}if(Jt.idx=i,Jt.left=or,Jt.top=sr,Ht&&(Qe.idx=i,Er()),yr.show&&fr)if(null!=e){let[t,n]=Hr.scales,[r,i]=Hr.match,[o,a]=e.cursor.sync.scales,l=e.cursor.drag;if(hr=l._x,mr=l._y,hr||mr){let l,c,f,d,h,{left:m,top:y,width:v,height:p}=e.select,g=e.scales[t].ori,w=e.posToVal,k=null!=t&&r(t,o),b=null!=n&&i(n,a);k&&hr?(0==g?(l=m,c=v):(l=y,c=p),f=we[t],d=Ne(w(l,o),f,s,0),h=Ne(w(l+c,o),f,s,0),Dr(Y(d,h),L(h-d))):Dr(0,s),b&&mr?(1==g?(l=m,c=v):(l=y,c=p),f=we[n],d=_e(w(l,a),f,u,0),h=_e(w(l+c,a),f,u,0),Nr(Y(d,h),L(h-d))):Nr(0,u)}else Lr()}else{let e=L(rr-Xn),t=L(ir-er);if(1==Oe.ori){let n=e;e=t,t=n}hr=dr.x&&e>=dr.dist,mr=dr.y&&t>=dr.dist;let n,r,i=dr.uni;null!=i?hr&&mr&&(hr=e>=i,mr=t>=i,hr||mr||(t>e?mr=!0:hr=!0)):dr.x&&dr.y&&(hr||mr)&&(hr=mr=!0),hr&&(0==Oe.ori?(n=tr,r=or):(n=nr,r=sr),Dr(Y(n,r),L(r-n)),mr||Nr(0,u)),mr&&(1==Oe.ori?(n=tr,r=or):(n=nr,r=sr),Nr(Y(n,r),L(r-n)),hr||Dr(0,s)),hr||mr||(Dr(0,0),Nr(0,0))}if(dr._x=hr,dr._y=mr,null==e){if(n){if(null!=Rr){let[e,t]=Hr.scales;Hr.values[0]=null!=e?Tr(0==Oe.ori?or:sr,e):null,Hr.values[1]=null!=t?Tr(1==Oe.ori?or:sr,t):null}Jr("mousemove",f,or,sr,Vt,Ct,i)}if($t){let e=n&&Hr.setSeries,t=Bt.prox;null==xr?kr<=t&&wr(br,Sr,!0,e):kr>t?wr(null,Sr,!0,e):br!=xr&&wr(br,Sr,!0,e)}}S&&!1!==t&&Ur("setCursor")}f.setLegend=Er;let Vr=null;function Cr(e){!0===e?Vr=null:(Vr=F.getBoundingClientRect(),Ur("syncRect",Vr))}function Fr(e,t,n,r,i,o,s){Jt._lock||(zr(e,t,n,r,i,o,s,!1,null!=e),null!=e?Ir(null,!0,!0):Ir(t,!0,!1))}function zr(e,t,n,r,i,o,s,u,a){if(null==Vr&&Cr(!1),null!=e)n=e.clientX-Vr.left,r=e.clientY-Vr.top;else{if(n<0||r<0)return or=-10,void(sr=-10);let[e,s]=Hr.scales,u=t.cursor.sync,[a,l]=u.values,[c,f]=u.scales,[d,h]=Hr.match,m=t.axes[0].side%2==1,y=0==Oe.ori?Vt:Ct,v=1==Oe.ori?Vt:Ct,p=m?o:i,g=m?i:o,w=m?r:n,k=m?n:r;if(n=null!=c?d(e,c)?x(a,we[e],y,0):-10:y*(w/p),r=null!=f?h(s,f)?x(l,we[s],v,0):-10:v*(k/g),1==Oe.ori){let e=n;n=r,r=e}}a&&((n<=1||n>=Vt-1)&&(n=$(n,Vt)),(r<=1||r>=Ct-1)&&(r=$(r,Ct))),u?(Xn=n,er=r,[tr,nr]=Jt.move(f,n,r)):(or=n,sr=r)}const Ar={width:0,height:0};function Lr(){pr(Ar,!1)}function Zr(e,n,r,i,o,s,u){fr=!0,hr=mr=dr._x=dr._y=!1,zr(e,n,r,i,o,s,0,!0,!1),null!=e&&(Ot("mouseup",t,jr),Jr("mousedown",f,tr,nr,Vt,Ct,null))}function jr(e,n,r,i,o,s,u){fr=dr._x=dr._y=!1,zr(e,n,r,i,o,s,0,!1,!0);let{left:a,top:l,width:c,height:d}=yr,h=c>0||d>0;if(h&&pr(yr),dr.setScale&&h){let e=a,t=c,n=l,r=d;if(1==Oe.ori&&(e=l,t=d,n=a,r=c),hr&&gr(xe,Tr(e,xe),Tr(e+t,xe)),mr)for(let e in we){let t=we[e];e!=xe&&null==t.from&&t.min!=J&&gr(e,Tr(n+r,e),Tr(n,e))}Lr()}else Jt.lock&&(Jt._lock=!Jt._lock,Jt._lock||Ir(null,!0,!1));null!=e&&(Nt("mouseup",t),Jr("mouseup",f,or,sr,Vt,Ct,null))}function Pr(e,t,n,r,i,o,s){zn(),Lr(),null!=e&&Jr("dblclick",f,or,sr,Vt,Ct,null)}function Yr(){le.forEach(hn),Rt(f.width,f.height,!0)}w("dppxchange",n,Yr);const qr={};qr.mousedown=Zr,qr.mousemove=Fr,qr.mouseup=jr,qr.dblclick=Pr,qr.setSeries=(e,t,n,r)=>{wr(n,r,!0,!1)},Jt.show&&(Ot("mousedown",F,Zr),Ot("mousemove",F,Fr),Ot("mouseenter",F,Cr),Ot("mouseleave",F,(function(e,t,n,r,i,o,s){if(!Jt._lock){let e=fr;if(fr){let e,t,n=!0,r=!0,i=10;0==Oe.ori?(e=hr,t=mr):(e=mr,t=hr),e&&t&&(n=or<=i||or>=Vt-i,r=sr<=i||sr>=Ct-i),e&&n&&(or=or<tr?0:Vt),t&&r&&(sr=sr<nr?0:Ct),Ir(null,!0,!0),fr=!1}or=-10,sr=-10,Ir(null,!0,!0),e&&(fr=e)}})),Ot("dblclick",F,Pr),Kt.add(f),f.syncRect=Cr);const Wr=f.hooks=e.hooks||{};function Ur(e,t,n){e in Wr&&Wr[e].forEach((e=>{e.call(null,f,t,n)}))}(e.plugins||[]).forEach((e=>{for(let t in e.hooks)Wr[t]=(Wr[t]||[]).concat(e.hooks[t])}));const Hr=ge({key:null,setSeries:!1,filters:{pub:ne,sub:ne},scales:[xe,X[1]?X[1].scale:null],match:[re,re],values:[null,null]},Jt.sync);Jt.sync=Hr;const Rr=Hr.key,Gr=Dt(Rr);function Jr(e,t,n,r,i,o,s){Hr.filters.pub(e,t,n,r,i,o,s)&&Gr.pub(e,t,n,r,i,o,s)}function Br(){Ur("init",e,r),Fn(r||e.data,!1),Ie[xe]?cr(xe,Ie[xe]):zn(),Rt(e.width,e.height),Ir(null,!0,!1),pr(yr,!1)}return Gr.sub(f),f.pub=function(e,t,n,r,i,o,s){Hr.filters.sub(e,t,n,r,i,o,s)&&qr[e](null,t,n,r,i,o,s)},f.destroy=function(){Gr.unsub(f),Kt.delete(f),kt.clear(),k("dppxchange",n,Yr),T.remove(),Ur("destroy")},X.forEach(Xt),le.forEach((function(e,t){if(e._show=e.show,e.show){let n=e.side%2,r=we[e.scale];null==r&&(e.scale=n?X[1].scale:xe,r=we[e.scale]);let i=r.time;e.size=K(e.size),e.space=K(e.space),e.rotate=K(e.rotate),e.incrs=K(e.incrs||(2==r.distr?ze:i?1==R?Ze:Ye:Ae)),e.splits=K(e.splits||(i&&1==r.distr?Fe:3==r.distr?ct:4==r.distr?ft:lt)),e.stroke=K(e.stroke),e.grid.stroke=K(e.grid.stroke),e.ticks.stroke=K(e.ticks.stroke),e.border.stroke=K(e.border.stroke);let o=e.values;e.values=he(o)&&!he(o[0])?K(o):i?he(o)?He(Ve,Ue(o,Ce)):me(o)?function(e,t){let n=Ee(t);return(t,r,i,o,s)=>r.map((t=>n(e(t))))}(Ve,o):o||Le:o||at,e.filter=K(e.filter||(r.distr>=3?vt:ee)),e.font=dn(e.font),e.labelFont=dn(e.labelFont),e._size=e.size(f,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(mn[t]=!0,e._el=c("u-axis",V))}})),o?o instanceof HTMLElement?(o.appendChild(T),Br()):o(f,Br):Br(),f}mn.assign=ge,mn.fmtNum=F,mn.rangeNum=_,mn.rangeLog=M,mn.rangeAsinh=O,mn.orient=Nt,mn.pxRatio=i,mn.join=function(e,t){let n=new Set;for(let t=0;t<e.length;t++){let r=e[t][0],i=r.length;for(let e=0;e<i;e++)n.add(r[e])}let r=[Array.from(n).sort(((e,t)=>e-t))],i=r[0].length,o=new Map;for(let e=0;e<i;e++)o.set(r[0][e],e);for(let n=0;n<e.length;n++){let s=e[n],u=s[0];for(let e=1;e<s.length;e++){let a=s[e],l=Array(i).fill(void 0),c=t?t[n][e]:1,f=[];for(let e=0;e<a.length;e++){let t=a[e],n=o.get(u[e]);null===t?0!=c&&(l[n]=t,2==c&&f.push(n)):l[n]=t}we(l,f,i),r.push(l)}}return r},mn.fmtDate=Ee,mn.tzDate=function(e,t){let n;return"UTC"==t||"Etc/UTC"==t?n=new Date(+e+6e4*e.getTimezoneOffset()):t==_e?n=e:(n=new Date(e.toLocaleString("en-US",{timeZone:t})),n.setMilliseconds(e.getMilliseconds())),n},mn.sync=Dt;{mn.addGap=function(e,t,n){let r=e[e.length-1];r&&r[0]==t?r[1]=n:e.push([t,n])},mn.clipGaps=Vt;let e=mn.paths={points:Rt};e.linear=$t,e.stepped=function(e){const t=I(e.align,1),n=I(e.ascDesc,!1),r=I(e.alignGaps,0);return(e,o,s,u)=>Nt(e,o,((a,l,c,f,d,h,m,y,v,p,g)=>{let w=a.pxRound,k=e=>w(h(e,f,p,y)),b=e=>w(m(e,d,g,v)),S=0==f.ori?Zt:jt;const T={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},M=T.stroke,O=f.dir*(0==f.ori?1:-1);s=x(c,s,u,1),u=x(c,s,u,-1);let D=b(c[1==O?s:u]),N=k(l[1==O?s:u]),E=N;S(M,N,D);for(let e=1==O?s:u;e>=s&&e<=u;e+=O){let n=c[e];if(null==n)continue;let r=k(l[e]),i=b(n);1==t?S(M,r,D):S(M,E,i),S(M,r,i),D=i,E=r}let[_,I]=Et(e,o);if(null!=a.fill||0!=_){let t=T.fill=new Path2D(M),n=b(a.fillTo(e,o,a.min,a.max,_));S(t,E,n),S(t,N,n)}if(!a.spanGaps){let d=[];d.push(...Ct(l,c,s,u,O,k,r));let h=a.width*i/2,m=n||1==t?h:-h,w=n||-1==t?-h:h;d.forEach((e=>{e[0]+=m,e[1]+=w})),T.gaps=d=a.gaps(e,o,s,u,d),T.clip=Vt(d,f.ori,y,v,p,g)}return 0!=I&&(T.band=2==I?[It(e,o,s,u,M,-1),It(e,o,s,u,M,1)]:It(e,o,s,u,M,I)),T}))},e.bars=function(e){const t=I((e=e||ce).size,[.6,J,1]),n=e.align||0,r=(e.gap||0)*i,o=I(e.radius,0),s=1-t[0],u=I(t[1],J)*i,a=I(t[2],1)*i,l=I(e.disp,ce),c=I(e.each,(e=>{})),{fill:f,stroke:d}=l;return(e,t,h,m)=>Nt(e,t,((y,v,p,g,w,k,b,x,S,T,M)=>{let O=y.pxRound;const D=g.dir*(0==g.ori?1:-1),N=w.dir*(1==w.ori?1:-1);let E,_,V=0==g.ori?Pt:Yt,C=0==g.ori?c:(e,t,n,r,i,o,s)=>{c(e,t,n,i,r,s,o)},[F,z]=Et(e,t),A=3==w.distr?1==F?w.max:w.min:0,j=b(A,w,M,S),P=O(y.width*i),W=!1,U=null,H=null,R=null,G=null;null==f||0!=P&&null==d||(W=!0,U=f.values(e,t,h,m),H=new Map,new Set(U).forEach((e=>{null!=e&&H.set(e,new Path2D)})),P>0&&(R=d.values(e,t,h,m),G=new Map,new Set(R).forEach((e=>{null!=e&&G.set(e,new Path2D)}))));let{x0:J,size:B}=l;if(null!=J&&null!=B){v=J.values(e,t,h,m),2==J.unit&&(v=v.map((t=>e.posToVal(x+t*T,g.key,!0))));let n=B.values(e,t,h,m);_=2==B.unit?n[0]*T:k(n[0],g,T,x)-k(0,g,T,x),_=O(_-P),E=1==D?-P/2:_+P/2}else{let e=T;if(v.length>1){let t=null;for(let n=0,r=1/0;n<v.length;n++)if(void 0!==p[n]){if(null!=t){let i=L(v[n]-v[t]);i<r&&(r=i,e=L(k(v[n],g,T,x)-k(v[t],g,T,x)))}t=n}}_=O(Y(u,q(a,e-e*s))-P-r),E=(0==n?_/2:n==D?0:_)-n*D*r/2}const $={stroke:null,fill:null,clip:null,band:null,gaps:null,flags:3};let Q;0!=z&&($.band=new Path2D,Q=O(b(1==z?w.max:w.min,w,M,S)));const K=W?null:new Path2D,X=$.band;let{y0:ee,y1:te}=l,ne=null;null!=ee&&null!=te&&(p=te.values(e,t,h,m),ne=ee.values(e,t,h,m));for(let n=1==D?h:m;n>=h&&n<=m;n+=D){let r=p[n],i=k(2!=g.distr||null!=l?v[n]:n,g,T,x),s=b(I(r,A),w,M,S);null!=ne&&null!=r&&(j=b(ne[n],w,M,S));let u=O(i-E),a=O(q(s,j)),c=O(Y(s,j)),f=a-c,d=o*_;null!=r&&(W?(P>0&&null!=R[n]&&V(G.get(R[n]),u,c+Z(P/2),_,q(0,f-P),d),null!=U[n]&&V(H.get(U[n]),u,c+Z(P/2),_,q(0,f-P),d)):V(K,u,c+Z(P/2),_,q(0,f-P),d),C(e,t,n,u-P/2,c,_+P,f)),0!=z&&(N*z==1?(a=c,c=Q):(c=a,a=Q),f=a-c,V(X,u-P/2,c,_+P,q(0,f),0))}return P>0&&($.stroke=W?G:K),$.fill=W?H:K,$}))},e.spline=function(e){return function(e,t){const n=I(t?.alignGaps,0);return(t,r,i,o)=>Nt(t,r,((s,u,a,l,c,f,d,h,m,y,v)=>{let p,g,w,k=s.pxRound,b=e=>k(f(e,l,y,h)),S=e=>k(d(e,c,v,m));0==l.ori?(p=At,w=Zt,g=Ut):(p=Lt,w=jt,g=Ht);const T=l.dir*(0==l.ori?1:-1);i=x(a,i,o,1),o=x(a,i,o,-1);let M=b(u[1==T?i:o]),O=M,D=[],N=[];for(let e=1==T?i:o;e>=i&&e<=o;e+=T)if(null!=a[e]){let t=b(u[e]);D.push(O=t),N.push(S(a[e]))}const E={stroke:e(D,N,p,w,g,k),fill:null,clip:null,band:null,gaps:null,flags:1},_=E.stroke;let[I,V]=Et(t,r);if(null!=s.fill||0!=I){let e=E.fill=new Path2D(_),n=S(s.fillTo(t,r,s.min,s.max,I));w(e,O,n),w(e,M,n)}if(!s.spanGaps){let e=[];e.push(...Ct(u,a,i,o,T,b,n)),E.gaps=e=s.gaps(t,r,i,o,e),E.clip=Vt(e,l.ori,h,m,y,v)}return 0!=V&&(E.band=2==V?[It(t,r,i,o,_,-1),It(t,r,i,o,_,1)]:It(t,r,i,o,_,V)),E}))}(Qt,e)}}var yn={};function vn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function pn(e,t,n){return t&&vn(e.prototype,t),n&&vn(e,n),e}function gn(){return gn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},gn.apply(this,arguments)}function wn(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,bn(e,t)}function kn(e){return(kn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function bn(e,t){return(bn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xn(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function Sn(e,t,n){return(Sn=xn()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&bn(i,n.prototype),i}).apply(null,arguments)}function Tn(e){var t="function"==typeof Map?new Map:void 0;return Tn=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return Sn(e,arguments,kn(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),bn(r,e)},Tn(e)}function Mn(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}function On(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Dn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return On(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?On(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}Object.defineProperty(yn,"__esModule",{value:!0});var Nn=function(e){function t(){return e.apply(this,arguments)||this}return wn(t,e),t}(Tn(Error)),En=function(e){function t(t){return e.call(this,"Invalid DateTime: "+t.toMessage())||this}return wn(t,e),t}(Nn),_n=function(e){function t(t){return e.call(this,"Invalid Interval: "+t.toMessage())||this}return wn(t,e),t}(Nn),In=function(e){function t(t){return e.call(this,"Invalid Duration: "+t.toMessage())||this}return wn(t,e),t}(Nn),Vn=function(e){function t(){return e.apply(this,arguments)||this}return wn(t,e),t}(Nn),Cn=function(e){function t(t){return e.call(this,"Invalid unit "+t)||this}return wn(t,e),t}(Nn),Fn=function(e){function t(){return e.apply(this,arguments)||this}return wn(t,e),t}(Nn),zn=function(e){function t(){return e.call(this,"Zone is an abstract class")||this}return wn(t,e),t}(Nn),An={year:"numeric",month:"numeric",day:"numeric"},Ln={year:"numeric",month:"short",day:"numeric"},Zn={year:"numeric",month:"short",day:"numeric",weekday:"short"},jn={year:"numeric",month:"long",day:"numeric"},Pn={year:"numeric",month:"long",day:"numeric",weekday:"long"},Yn={hour:"numeric",minute:"numeric"},qn={hour:"numeric",minute:"numeric",second:"numeric"},Wn={hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},Un={hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"long"},Hn={hour:"numeric",minute:"numeric",hourCycle:"h23"},Rn={hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23"},Gn={hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23",timeZoneName:"short"},Jn={hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23",timeZoneName:"long"},Bn={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"},$n={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},Qn={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric"},Kn={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},Xn={year:"numeric",month:"short",day:"numeric",weekday:"short",hour:"numeric",minute:"numeric"},er={year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric",timeZoneName:"short"},tr={year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},nr={year:"numeric",month:"long",day:"numeric",weekday:"long",hour:"numeric",minute:"numeric",timeZoneName:"long"},rr={year:"numeric",month:"long",day:"numeric",weekday:"long",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"long"};function ir(e){return void 0===e}function or(e){return"number"==typeof e}function sr(e){return"number"==typeof e&&e%1==0}function ur(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(e){return!1}}function ar(e,t,n){if(0!==e.length)return e.reduce((function(e,r){var i=[t(r),r];return e&&n(e[0],i[0])===e[0]?e:i}),null)[1]}function lr(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function cr(e,t,n){return sr(e)&&e>=t&&e<=n}function fr(e,t){return void 0===t&&(t=2),e<0?"-"+(""+-e).padStart(t,"0"):(""+e).padStart(t,"0")}function dr(e){return ir(e)||null===e||""===e?void 0:parseInt(e,10)}function hr(e){return ir(e)||null===e||""===e?void 0:parseFloat(e)}function mr(e){if(!ir(e)&&null!==e&&""!==e){var t=1e3*parseFloat("0."+e);return Math.floor(t)}}function yr(e,t,n){void 0===n&&(n=!1);var r=Math.pow(10,t);return(n?Math.trunc:Math.round)(e*r)/r}function vr(e){return e%4==0&&(e%100!=0||e%400==0)}function pr(e){return vr(e)?366:365}function gr(e,t){var n,r,i=(n=t-1)-(r=12)*Math.floor(n/r)+1;return 2===i?vr(e+(t-i)/12)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][i-1]}function wr(e){var t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&e.year>=0&&(t=new Date(t)).setUTCFullYear(t.getUTCFullYear()-1900),+t}function kr(e){var t=(e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400))%7,n=e-1,r=(n+Math.floor(n/4)-Math.floor(n/100)+Math.floor(n/400))%7;return 4===t||3===r?53:52}function br(e){return e>99?e:e>60?1900+e:2e3+e}function xr(e,t,n,r){void 0===r&&(r=null);var i=new Date(e),o={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};r&&(o.timeZone=r);var s=gn({timeZoneName:t},o),u=new Intl.DateTimeFormat(n,s).formatToParts(i).find((function(e){return"timezonename"===e.type.toLowerCase()}));return u?u.value:null}function Sr(e,t){var n=parseInt(e,10);Number.isNaN(n)&&(n=0);var r=parseInt(t,10)||0;return 60*n+(n<0||Object.is(n,-0)?-r:r)}function Tr(e){var t=Number(e);if("boolean"==typeof e||""===e||Number.isNaN(t))throw new Fn("Invalid unit value "+e);return t}function Mr(e,t){var n={};for(var r in e)if(lr(e,r)){var i=e[r];if(null==i)continue;n[t(r)]=Tr(i)}return n}function Or(e,t){var n=Math.trunc(Math.abs(e/60)),r=Math.trunc(Math.abs(e%60)),i=e>=0?"+":"-";switch(t){case"short":return""+i+fr(n,2)+":"+fr(r,2);case"narrow":return""+i+n+(r>0?":"+r:"");case"techie":return""+i+fr(n,2)+fr(r,2);default:throw new RangeError("Value format "+t+" is out of range for property format")}}function Dr(e){return function(e,t){return t.reduce((function(t,n){return t[n]=e[n],t}),{})}(e,["hour","minute","second","millisecond"])}var Nr=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/,Er=["January","February","March","April","May","June","July","August","September","October","November","December"],_r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Ir=["J","F","M","A","M","J","J","A","S","O","N","D"];function Vr(e){switch(e){case"narrow":return[].concat(Ir);case"short":return[].concat(_r);case"long":return[].concat(Er);case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var Cr=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Fr=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],zr=["M","T","W","T","F","S","S"];function Ar(e){switch(e){case"narrow":return[].concat(zr);case"short":return[].concat(Fr);case"long":return[].concat(Cr);case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var Lr=["AM","PM"],Zr=["Before Christ","Anno Domini"],jr=["BC","AD"],Pr=["B","A"];function Yr(e){switch(e){case"narrow":return[].concat(Pr);case"short":return[].concat(jr);case"long":return[].concat(Zr);default:return null}}function qr(e,t){for(var n,r="",i=Dn(e);!(n=i()).done;){var o=n.value;o.literal?r+=o.val:r+=t(o.val)}return r}var Wr={D:An,DD:Ln,DDD:jn,DDDD:Pn,t:Yn,tt:qn,ttt:Wn,tttt:Un,T:Hn,TT:Rn,TTT:Gn,TTTT:Jn,f:Bn,ff:Qn,fff:er,ffff:nr,F:$n,FF:Kn,FFF:tr,FFFF:rr},Ur=function(){function e(e,t){this.opts=t,this.loc=e,this.systemLoc=null}e.create=function(t,n){return void 0===n&&(n={}),new e(t,n)},e.parseFormat=function(e){for(var t=null,n="",r=!1,i=[],o=0;o<e.length;o++){var s=e.charAt(o);"'"===s?(n.length>0&&i.push({literal:r,val:n}),t=null,n="",r=!r):r||s===t?n+=s:(n.length>0&&i.push({literal:!1,val:n}),n=s,t=s)}return n.length>0&&i.push({literal:r,val:n}),i},e.macroTokenToFormatOpts=function(e){return Wr[e]};var t=e.prototype;return t.formatWithSystemDefault=function(e,t){return null===this.systemLoc&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,gn({},this.opts,t)).format()},t.formatDateTime=function(e,t){return void 0===t&&(t={}),this.loc.dtFormatter(e,gn({},this.opts,t)).format()},t.formatDateTimeParts=function(e,t){return void 0===t&&(t={}),this.loc.dtFormatter(e,gn({},this.opts,t)).formatToParts()},t.resolvedOptions=function(e,t){return void 0===t&&(t={}),this.loc.dtFormatter(e,gn({},this.opts,t)).resolvedOptions()},t.num=function(e,t){if(void 0===t&&(t=0),this.opts.forceSimple)return fr(e,t);var n=gn({},this.opts);return t>0&&(n.padTo=t),this.loc.numberFormatter(n).format(e)},t.formatDateTimeFromString=function(t,n){var r=this,i="en"===this.loc.listingMode(),o=this.loc.outputCalendar&&"gregory"!==this.loc.outputCalendar,s=function(e,n){return r.loc.extract(t,e,n)},u=function(e){return t.isOffsetFixed&&0===t.offset&&e.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,e.format):""},a=function(){return i?function(e){return Lr[e.hour<12?0:1]}(t):s({hour:"numeric",hourCycle:"h12"},"dayperiod")},l=function(e,n){return i?function(e,t){return Vr(t)[e.month-1]}(t,e):s(n?{month:e}:{month:e,day:"numeric"},"month")},c=function(e,n){return i?function(e,t){return Ar(t)[e.weekday-1]}(t,e):s(n?{weekday:e}:{weekday:e,month:"long",day:"numeric"},"weekday")},f=function(e){return i?function(e,t){return Yr(t)[e.year<0?0:1]}(t,e):s({era:e},"era")};return qr(e.parseFormat(n),(function(n){switch(n){case"S":return r.num(t.millisecond);case"u":case"SSS":return r.num(t.millisecond,3);case"s":return r.num(t.second);case"ss":return r.num(t.second,2);case"uu":return r.num(Math.floor(t.millisecond/10),2);case"uuu":return r.num(Math.floor(t.millisecond/100));case"m":return r.num(t.minute);case"mm":return r.num(t.minute,2);case"h":return r.num(t.hour%12==0?12:t.hour%12);case"hh":return r.num(t.hour%12==0?12:t.hour%12,2);case"H":return r.num(t.hour);case"HH":return r.num(t.hour,2);case"Z":return u({format:"narrow",allowZ:r.opts.allowZ});case"ZZ":return u({format:"short",allowZ:r.opts.allowZ});case"ZZZ":return u({format:"techie",allowZ:r.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:r.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:r.loc.locale});case"z":return t.zoneName;case"a":return a();case"d":return o?s({day:"numeric"},"day"):r.num(t.day);case"dd":return o?s({day:"2-digit"},"day"):r.num(t.day,2);case"c":case"E":return r.num(t.weekday);case"ccc":return c("short",!0);case"cccc":return c("long",!0);case"ccccc":return c("narrow",!0);case"EEE":return c("short",!1);case"EEEE":return c("long",!1);case"EEEEE":return c("narrow",!1);case"L":return o?s({month:"numeric",day:"numeric"},"month"):r.num(t.month);case"LL":return o?s({month:"2-digit",day:"numeric"},"month"):r.num(t.month,2);case"LLL":return l("short",!0);case"LLLL":return l("long",!0);case"LLLLL":return l("narrow",!0);case"M":return o?s({month:"numeric"},"month"):r.num(t.month);case"MM":return o?s({month:"2-digit"},"month"):r.num(t.month,2);case"MMM":return l("short",!1);case"MMMM":return l("long",!1);case"MMMMM":return l("narrow",!1);case"y":return o?s({year:"numeric"},"year"):r.num(t.year);case"yy":return o?s({year:"2-digit"},"year"):r.num(t.year.toString().slice(-2),2);case"yyyy":return o?s({year:"numeric"},"year"):r.num(t.year,4);case"yyyyyy":return o?s({year:"numeric"},"year"):r.num(t.year,6);case"G":return f("short");case"GG":return f("long");case"GGGGG":return f("narrow");case"kk":return r.num(t.weekYear.toString().slice(-2),2);case"kkkk":return r.num(t.weekYear,4);case"W":return r.num(t.weekNumber);case"WW":return r.num(t.weekNumber,2);case"o":return r.num(t.ordinal);case"ooo":return r.num(t.ordinal,3);case"q":return r.num(t.quarter);case"qq":return r.num(t.quarter,2);case"X":return r.num(Math.floor(t.ts/1e3));case"x":return r.num(t.ts);default:return function(n){var i=e.macroTokenToFormatOpts(n);return i?r.formatWithSystemDefault(t,i):n}(n)}}))},t.formatDurationFromString=function(t,n){var r,i=this,o=function(e){switch(e[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},s=e.parseFormat(n),u=s.reduce((function(e,t){var n=t.literal,r=t.val;return n?e:e.concat(r)}),[]),a=t.shiftTo.apply(t,u.map(o).filter((function(e){return e})));return qr(s,(r=a,function(e){var t=o(e);return t?i.num(r.get(t),e.length):e}))},e}(),Hr=function(){function e(e,t){this.reason=e,this.explanation=t}return e.prototype.toMessage=function(){return this.explanation?this.reason+": "+this.explanation:this.reason},e}(),Rr=function(){function e(){}var t=e.prototype;return t.offsetName=function(e,t){throw new zn},t.formatOffset=function(e,t){throw new zn},t.offset=function(e){throw new zn},t.equals=function(e){throw new zn},pn(e,[{key:"type",get:function(){throw new zn}},{key:"name",get:function(){throw new zn}},{key:"ianaName",get:function(){return this.name}},{key:"isUniversal",get:function(){throw new zn}},{key:"isValid",get:function(){throw new zn}}]),e}(),Gr=null,Jr=function(e){function t(){return e.apply(this,arguments)||this}wn(t,e);var n=t.prototype;return n.offsetName=function(e,t){return xr(e,t.format,t.locale)},n.formatOffset=function(e,t){return Or(this.offset(e),t)},n.offset=function(e){return-new Date(e).getTimezoneOffset()},n.equals=function(e){return"system"===e.type},pn(t,[{key:"type",get:function(){return"system"}},{key:"name",get:function(){return(new Intl.DateTimeFormat).resolvedOptions().timeZone}},{key:"isUniversal",get:function(){return!1}},{key:"isValid",get:function(){return!0}}],[{key:"instance",get:function(){return null===Gr&&(Gr=new t),Gr}}]),t}(Rr),Br={};var $r={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};var Qr={},Kr=function(e){function t(n){var r;return(r=e.call(this)||this).zoneName=n,r.valid=t.isValidZone(n),r}wn(t,e),t.create=function(e){return Qr[e]||(Qr[e]=new t(e)),Qr[e]},t.resetCache=function(){Qr={},Br={}},t.isValidSpecifier=function(e){return this.isValidZone(e)},t.isValidZone=function(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch(e){return!1}};var n=t.prototype;return n.offsetName=function(e,t){return xr(e,t.format,t.locale,this.name)},n.formatOffset=function(e,t){return Or(this.offset(e),t)},n.offset=function(e){var t=new Date(e);if(isNaN(t))return NaN;var n,r=(n=this.name,Br[n]||(Br[n]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),Br[n]),i=r.formatToParts?function(e,t){for(var n=e.formatToParts(t),r=[],i=0;i<n.length;i++){var o=n[i],s=o.type,u=o.value,a=$r[s];"era"===s?r[a]=u:ir(a)||(r[a]=parseInt(u,10))}return r}(r,t):function(e,t){var n=e.format(t).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(n),i=r[1],o=r[2];return[r[3],i,o,r[4],r[5],r[6],r[7]]}(r,t),o=i[0],s=i[1],u=i[2],a=i[3],l=i[4],c=i[5],f=i[6];"BC"===a&&(o=1-Math.abs(o));var d=+t,h=d%1e3;return(wr({year:o,month:s,day:u,hour:24===l?0:l,minute:c,second:f,millisecond:0})-(d-=h>=0?h:1e3+h))/6e4},n.equals=function(e){return"iana"===e.type&&e.name===this.name},pn(t,[{key:"type",get:function(){return"iana"}},{key:"name",get:function(){return this.zoneName}},{key:"isUniversal",get:function(){return!1}},{key:"isValid",get:function(){return this.valid}}]),t}(Rr),Xr=null,ei=function(e){function t(t){var n;return(n=e.call(this)||this).fixed=t,n}wn(t,e),t.instance=function(e){return 0===e?t.utcInstance:new t(e)},t.parseSpecifier=function(e){if(e){var n=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(n)return new t(Sr(n[1],n[2]))}return null};var n=t.prototype;return n.offsetName=function(){return this.name},n.formatOffset=function(e,t){return Or(this.fixed,t)},n.offset=function(){return this.fixed},n.equals=function(e){return"fixed"===e.type&&e.fixed===this.fixed},pn(t,[{key:"type",get:function(){return"fixed"}},{key:"name",get:function(){return 0===this.fixed?"UTC":"UTC"+Or(this.fixed,"narrow")}},{key:"ianaName",get:function(){return 0===this.fixed?"Etc/UTC":"Etc/GMT"+Or(-this.fixed,"narrow")}},{key:"isUniversal",get:function(){return!0}},{key:"isValid",get:function(){return!0}}],[{key:"utcInstance",get:function(){return null===Xr&&(Xr=new t(0)),Xr}}]),t}(Rr),ti=function(e){function t(t){var n;return(n=e.call(this)||this).zoneName=t,n}wn(t,e);var n=t.prototype;return n.offsetName=function(){return null},n.formatOffset=function(){return""},n.offset=function(){return NaN},n.equals=function(){return!1},pn(t,[{key:"type",get:function(){return"invalid"}},{key:"name",get:function(){return this.zoneName}},{key:"isUniversal",get:function(){return!1}},{key:"isValid",get:function(){return!1}}]),t}(Rr);function ni(e,t){if(ir(e)||null===e)return t;if(e instanceof Rr)return e;if("string"==typeof e){var n=e.toLowerCase();return"local"===n||"system"===n?t:"utc"===n||"gmt"===n?ei.utcInstance:ei.parseSpecifier(n)||Kr.create(e)}return or(e)?ei.instance(e):"object"==typeof e&&e.offset&&"number"==typeof e.offset?e:new ti(e)}var ri,ii=function(){return Date.now()},oi="system",si=null,ui=null,ai=null,li=function(){function e(){}return e.resetCaches=function(){xi.resetCache(),Kr.resetCache()},pn(e,null,[{key:"now",get:function(){return ii},set:function(e){ii=e}},{key:"defaultZone",get:function(){return ni(oi,Jr.instance)},set:function(e){oi=e}},{key:"defaultLocale",get:function(){return si},set:function(e){si=e}},{key:"defaultNumberingSystem",get:function(){return ui},set:function(e){ui=e}},{key:"defaultOutputCalendar",get:function(){return ai},set:function(e){ai=e}},{key:"throwOnInvalid",get:function(){return ri},set:function(e){ri=e}}]),e}(),ci=["base"],fi=["padTo","floor"],di={};var hi={};function mi(e,t){void 0===t&&(t={});var n=JSON.stringify([e,t]),r=hi[n];return r||(r=new Intl.DateTimeFormat(e,t),hi[n]=r),r}var yi={};var vi={};var pi=null;function gi(e,t,n,r,i){var o=e.listingMode(n);return"error"===o?null:"en"===o?r(t):i(t)}var wi=function(){function e(e,t,n){this.padTo=n.padTo||0,this.floor=n.floor||!1,n.padTo,n.floor;var r=Mn(n,fi);if(!t||Object.keys(r).length>0){var i=gn({useGrouping:!1},n);n.padTo>0&&(i.minimumIntegerDigits=n.padTo),this.inf=function(e,t){void 0===t&&(t={});var n=JSON.stringify([e,t]),r=yi[n];return r||(r=new Intl.NumberFormat(e,t),yi[n]=r),r}(e,i)}}return e.prototype.format=function(e){if(this.inf){var t=this.floor?Math.floor(e):e;return this.inf.format(t)}return fr(this.floor?Math.floor(e):yr(e,3),this.padTo)},e}(),ki=function(){function e(e,t,n){var r;if(this.opts=n,e.zone.isUniversal){var i=e.offset/60*-1,o=i>=0?"Etc/GMT+"+i:"Etc/GMT"+i;0!==e.offset&&Kr.create(o).valid?(r=o,this.dt=e):(r="UTC",n.timeZoneName?this.dt=e:this.dt=0===e.offset?e:ps.fromMillis(e.ts+6e4*e.offset))}else"system"===e.zone.type?this.dt=e:(this.dt=e,r=e.zone.name);var s=gn({},this.opts);r&&(s.timeZone=r),this.dtf=mi(t,s)}var t=e.prototype;return t.format=function(){return this.dtf.format(this.dt.toJSDate())},t.formatToParts=function(){return this.dtf.formatToParts(this.dt.toJSDate())},t.resolvedOptions=function(){return this.dtf.resolvedOptions()},e}(),bi=function(){function e(e,t,n){this.opts=gn({style:"long"},n),!t&&ur()&&(this.rtf=function(e,t){void 0===t&&(t={});var n=t;n.base;var r=Mn(n,ci),i=JSON.stringify([e,r]),o=vi[i];return o||(o=new Intl.RelativeTimeFormat(e,t),vi[i]=o),o}(e,n))}var t=e.prototype;return t.format=function(e,t){return this.rtf?this.rtf.format(e,t):function(e,t,n,r){void 0===n&&(n="always"),void 0===r&&(r=!1);var i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},o=-1===["hours","minutes","seconds"].indexOf(e);if("auto"===n&&o){var s="days"===e;switch(t){case 1:return s?"tomorrow":"next "+i[e][0];case-1:return s?"yesterday":"last "+i[e][0];case 0:return s?"today":"this "+i[e][0]}}var u=Object.is(t,-0)||t<0,a=Math.abs(t),l=1===a,c=i[e],f=r?l?c[1]:c[2]||c[1]:l?i[e][0]:e;return u?a+" "+f+" ago":"in "+a+" "+f}(t,e,this.opts.numeric,"long"!==this.opts.style)},t.formatToParts=function(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]},e}(),xi=function(){function e(e,t,n,r){var i=function(e){var t=e.indexOf("-u-");if(-1===t)return[e];var n,r=e.substring(0,t);try{n=mi(e).resolvedOptions()}catch(e){n=mi(r).resolvedOptions()}var i=n;return[r,i.numberingSystem,i.calendar]}(e),o=i[0],s=i[1],u=i[2];this.locale=o,this.numberingSystem=t||s||null,this.outputCalendar=n||u||null,this.intl=function(e,t,n){return n||t?(e+="-u",n&&(e+="-ca-"+n),t&&(e+="-nu-"+t),e):e}(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=r,this.fastNumbersCached=null}e.fromOpts=function(t){return e.create(t.locale,t.numberingSystem,t.outputCalendar,t.defaultToEN)},e.create=function(t,n,r,i){void 0===i&&(i=!1);var o=t||li.defaultLocale;return new e(o||(i?"en-US":pi||(pi=(new Intl.DateTimeFormat).resolvedOptions().locale)),n||li.defaultNumberingSystem,r||li.defaultOutputCalendar,o)},e.resetCache=function(){pi=null,hi={},yi={},vi={}},e.fromObject=function(t){var n=void 0===t?{}:t,r=n.locale,i=n.numberingSystem,o=n.outputCalendar;return e.create(r,i,o)};var t=e.prototype;return t.listingMode=function(){var e=this.isEnglish(),t=!(null!==this.numberingSystem&&"latn"!==this.numberingSystem||null!==this.outputCalendar&&"gregory"!==this.outputCalendar);return e&&t?"en":"intl"},t.clone=function(t){return t&&0!==Object.getOwnPropertyNames(t).length?e.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,t.defaultToEN||!1):this},t.redefaultToEN=function(e){return void 0===e&&(e={}),this.clone(gn({},e,{defaultToEN:!0}))},t.redefaultToSystem=function(e){return void 0===e&&(e={}),this.clone(gn({},e,{defaultToEN:!1}))},t.months=function(e,t,n){var r=this;return void 0===t&&(t=!1),void 0===n&&(n=!0),gi(this,e,n,Vr,(function(){var n=t?{month:e,day:"numeric"}:{month:e},i=t?"format":"standalone";return r.monthsCache[i][e]||(r.monthsCache[i][e]=function(e){for(var t=[],n=1;n<=12;n++){var r=ps.utc(2016,n,1);t.push(e(r))}return t}((function(e){return r.extract(e,n,"month")}))),r.monthsCache[i][e]}))},t.weekdays=function(e,t,n){var r=this;return void 0===t&&(t=!1),void 0===n&&(n=!0),gi(this,e,n,Ar,(function(){var n=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},i=t?"format":"standalone";return r.weekdaysCache[i][e]||(r.weekdaysCache[i][e]=function(e){for(var t=[],n=1;n<=7;n++){var r=ps.utc(2016,11,13+n);t.push(e(r))}return t}((function(e){return r.extract(e,n,"weekday")}))),r.weekdaysCache[i][e]}))},t.meridiems=function(e){var t=this;return void 0===e&&(e=!0),gi(this,void 0,e,(function(){return Lr}),(function(){if(!t.meridiemCache){var e={hour:"numeric",hourCycle:"h12"};t.meridiemCache=[ps.utc(2016,11,13,9),ps.utc(2016,11,13,19)].map((function(n){return t.extract(n,e,"dayperiod")}))}return t.meridiemCache}))},t.eras=function(e,t){var n=this;return void 0===t&&(t=!0),gi(this,e,t,Yr,(function(){var t={era:e};return n.eraCache[e]||(n.eraCache[e]=[ps.utc(-40,1,1),ps.utc(2017,1,1)].map((function(e){return n.extract(e,t,"era")}))),n.eraCache[e]}))},t.extract=function(e,t,n){var r=this.dtFormatter(e,t).formatToParts().find((function(e){return e.type.toLowerCase()===n}));return r?r.value:null},t.numberFormatter=function(e){return void 0===e&&(e={}),new wi(this.intl,e.forceSimple||this.fastNumbers,e)},t.dtFormatter=function(e,t){return void 0===t&&(t={}),new ki(e,this.intl,t)},t.relFormatter=function(e){return void 0===e&&(e={}),new bi(this.intl,this.isEnglish(),e)},t.listFormatter=function(e){return void 0===e&&(e={}),function(e,t){void 0===t&&(t={});var n=JSON.stringify([e,t]),r=di[n];return r||(r=new Intl.ListFormat(e,t),di[n]=r),r}(this.intl,e)},t.isEnglish=function(){return"en"===this.locale||"en-us"===this.locale.toLowerCase()||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")},t.equals=function(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar},pn(e,[{key:"fastNumbers",get:function(){var e;return null==this.fastNumbersCached&&(this.fastNumbersCached=(!(e=this).numberingSystem||"latn"===e.numberingSystem)&&("latn"===e.numberingSystem||!e.locale||e.locale.startsWith("en")||"latn"===new Intl.DateTimeFormat(e.intl).resolvedOptions().numberingSystem)),this.fastNumbersCached}}]),e}();function Si(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.reduce((function(e,t){return e+t.source}),"");return RegExp("^"+r+"$")}function Ti(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduce((function(t,n){var r=t[0],i=t[1],o=t[2],s=n(e,o),u=s[0],a=s[1],l=s[2];return[gn({},r,u),a||i,l]}),[{},null,1]).slice(0,2)}}function Mi(e){if(null==e)return[null,null];for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var i=0,o=n;i<o.length;i++){var s=o[i],u=s[0],a=s[1],l=u.exec(e);if(l)return a(l)}return[null,null]}function Oi(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e,n){var r,i={};for(r=0;r<t.length;r++)i[t[r]]=dr(e[n+r]);return[i,null,n+r]}}var Di=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,Ni=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,Ei=RegExp(""+Ni.source+("(?:"+Di.source+"?(?:\\[("+Nr.source+")\\])?)?")),_i=RegExp("(?:T"+Ei.source+")?"),Ii=Oi("weekYear","weekNumber","weekDay"),Vi=Oi("year","ordinal"),Ci=RegExp(Ni.source+" ?(?:"+Di.source+"|("+Nr.source+"))?"),Fi=RegExp("(?: "+Ci.source+")?");function zi(e,t,n){var r=e[t];return ir(r)?n:dr(r)}function Ai(e,t){return[{hours:zi(e,t,0),minutes:zi(e,t+1,0),seconds:zi(e,t+2,0),milliseconds:mr(e[t+3])},null,t+4]}function Li(e,t){var n=!e[t]&&!e[t+1],r=Sr(e[t+1],e[t+2]);return[{},n?null:ei.instance(r),t+3]}function Zi(e,t){return[{},e[t]?Kr.create(e[t]):null,t+1]}var ji=RegExp("^T?"+Ni.source+"$"),Pi=/^-?P(?:(?:(-?\d{1,9}(?:\.\d{1,9})?)Y)?(?:(-?\d{1,9}(?:\.\d{1,9})?)M)?(?:(-?\d{1,9}(?:\.\d{1,9})?)W)?(?:(-?\d{1,9}(?:\.\d{1,9})?)D)?(?:T(?:(-?\d{1,9}(?:\.\d{1,9})?)H)?(?:(-?\d{1,9}(?:\.\d{1,9})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,9}))?S)?)?)$/;function Yi(e){var t=e[0],n=e[1],r=e[2],i=e[3],o=e[4],s=e[5],u=e[6],a=e[7],l=e[8],c="-"===t[0],f=a&&"-"===a[0],d=function(e,t){return void 0===t&&(t=!1),void 0!==e&&(t||e&&c)?-e:e};return[{years:d(hr(n)),months:d(hr(r)),weeks:d(hr(i)),days:d(hr(o)),hours:d(hr(s)),minutes:d(hr(u)),seconds:d(hr(a),"-0"===a),milliseconds:d(mr(l),f)}]}var qi={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Wi(e,t,n,r,i,o,s){var u={year:2===t.length?br(dr(t)):dr(t),month:_r.indexOf(n)+1,day:dr(r),hour:dr(i),minute:dr(o)};return s&&(u.second=dr(s)),e&&(u.weekday=e.length>3?Cr.indexOf(e)+1:Fr.indexOf(e)+1),u}var Ui=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function Hi(e){var t,n=e[1],r=e[2],i=e[3],o=e[4],s=e[5],u=e[6],a=e[7],l=e[8],c=e[9],f=e[10],d=e[11],h=Wi(n,o,i,r,s,u,a);return t=l?qi[l]:c?0:Sr(f,d),[h,new ei(t)]}var Ri=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,Gi=/^(Monday|Tuesday|Wedsday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,Ji=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Bi(e){var t=e[1],n=e[2],r=e[3];return[Wi(t,e[4],r,n,e[5],e[6],e[7]),ei.utcInstance]}function $i(e){var t=e[1],n=e[2],r=e[3],i=e[4],o=e[5],s=e[6];return[Wi(t,e[7],n,r,i,o,s),ei.utcInstance]}var Qi=Si(/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,_i),Ki=Si(/(\d{4})-?W(\d\d)(?:-?(\d))?/,_i),Xi=Si(/(\d{4})-?(\d{3})/,_i),eo=Si(Ei),to=Ti((function(e,t){return[{year:zi(e,t),month:zi(e,t+1,1),day:zi(e,t+2,1)},null,t+3]}),Ai,Li,Zi),no=Ti(Ii,Ai,Li,Zi),ro=Ti(Vi,Ai,Li,Zi),io=Ti(Ai,Li,Zi);var oo=Ti(Ai);var so=Si(/(\d{4})-(\d\d)-(\d\d)/,Fi),uo=Si(Ci),ao=Ti(Ai,Li,Zi);var lo={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:6048e5},days:{hours:24,minutes:1440,seconds:86400,milliseconds:864e5},hours:{minutes:60,seconds:3600,milliseconds:36e5},minutes:{seconds:60,milliseconds:6e4},seconds:{milliseconds:1e3}},co=gn({years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536e3,milliseconds:31536e6},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:78624e5},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592e3,milliseconds:2592e6}},lo),fo=gn({years:{quarters:4,months:12,weeks:52.1775,days:365.2425,hours:8765.82,minutes:525949.2,seconds:31556952,milliseconds:31556952e3},quarters:{months:3,weeks:13.044375,days:91.310625,hours:2191.455,minutes:131487.3,seconds:7889238,milliseconds:7889238e3},months:{weeks:30.436875/7,days:30.436875,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3}},lo),ho=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],mo=ho.slice(0).reverse();function yo(e,t,n){void 0===n&&(n=!1);var r={values:n?t.values:gn({},e.values,t.values||{}),loc:e.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||e.conversionAccuracy};return new po(r)}function vo(e,t,n,r,i){var o,s=e[i][n],u=t[n]/s,a=!(Math.sign(u)===Math.sign(r[i]))&&0!==r[i]&&Math.abs(u)<=1?(o=u)<0?Math.floor(o):Math.ceil(o):Math.trunc(u);r[i]+=a,t[n]-=a*s}var po=function(){function e(e){var t="longterm"===e.conversionAccuracy||!1;this.values=e.values,this.loc=e.loc||xi.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=t?fo:co,this.isLuxonDuration=!0}e.fromMillis=function(t,n){return e.fromObject({milliseconds:t},n)},e.fromObject=function(t,n){if(void 0===n&&(n={}),null==t||"object"!=typeof t)throw new Fn("Duration.fromObject: argument expected to be an object, got "+(null===t?"null":typeof t));return new e({values:Mr(t,e.normalizeUnit),loc:xi.fromObject(n),conversionAccuracy:n.conversionAccuracy})},e.fromDurationLike=function(t){if(or(t))return e.fromMillis(t);if(e.isDuration(t))return t;if("object"==typeof t)return e.fromObject(t);throw new Fn("Unknown duration argument "+t+" of type "+typeof t)},e.fromISO=function(t,n){var r=Mi(t,[Pi,Yi])[0];return r?e.fromObject(r,n):e.invalid("unparsable",'the input "'+t+"\" can't be parsed as ISO 8601")},e.fromISOTime=function(t,n){var r=Mi(t,[ji,oo])[0];return r?e.fromObject(r,n):e.invalid("unparsable",'the input "'+t+"\" can't be parsed as ISO 8601")},e.invalid=function(t,n){if(void 0===n&&(n=null),!t)throw new Fn("need to specify a reason the Duration is invalid");var r=t instanceof Hr?t:new Hr(t,n);if(li.throwOnInvalid)throw new In(r);return new e({invalid:r})},e.normalizeUnit=function(e){var t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e?e.toLowerCase():e];if(!t)throw new Cn(e);return t},e.isDuration=function(e){return e&&e.isLuxonDuration||!1};var t=e.prototype;return t.toFormat=function(e,t){void 0===t&&(t={});var n=gn({},t,{floor:!1!==t.round&&!1!==t.floor});return this.isValid?Ur.create(this.loc,n).formatDurationFromString(this,e):"Invalid Duration"},t.toHuman=function(e){var t=this;void 0===e&&(e={});var n=ho.map((function(n){var r=t.values[n];return ir(r)?null:t.loc.numberFormatter(gn({style:"unit",unitDisplay:"long"},e,{unit:n.slice(0,-1)})).format(r)})).filter((function(e){return e}));return this.loc.listFormatter(gn({type:"conjunction",style:e.listStyle||"narrow"},e)).format(n)},t.toObject=function(){return this.isValid?gn({},this.values):{}},t.toISO=function(){if(!this.isValid)return null;var e="P";return 0!==this.years&&(e+=this.years+"Y"),0===this.months&&0===this.quarters||(e+=this.months+3*this.quarters+"M"),0!==this.weeks&&(e+=this.weeks+"W"),0!==this.days&&(e+=this.days+"D"),0===this.hours&&0===this.minutes&&0===this.seconds&&0===this.milliseconds||(e+="T"),0!==this.hours&&(e+=this.hours+"H"),0!==this.minutes&&(e+=this.minutes+"M"),0===this.seconds&&0===this.milliseconds||(e+=yr(this.seconds+this.milliseconds/1e3,3)+"S"),"P"===e&&(e+="T0S"),e},t.toISOTime=function(e){if(void 0===e&&(e={}),!this.isValid)return null;var t=this.toMillis();if(t<0||t>=864e5)return null;e=gn({suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended"},e);var n=this.shiftTo("hours","minutes","seconds","milliseconds"),r="basic"===e.format?"hhmm":"hh:mm";e.suppressSeconds&&0===n.seconds&&0===n.milliseconds||(r+="basic"===e.format?"ss":":ss",e.suppressMilliseconds&&0===n.milliseconds||(r+=".SSS"));var i=n.toFormat(r);return e.includePrefix&&(i="T"+i),i},t.toJSON=function(){return this.toISO()},t.toString=function(){return this.toISO()},t.toMillis=function(){return this.as("milliseconds")},t.valueOf=function(){return this.toMillis()},t.plus=function(t){if(!this.isValid)return this;for(var n,r=e.fromDurationLike(t),i={},o=Dn(ho);!(n=o()).done;){var s=n.value;(lr(r.values,s)||lr(this.values,s))&&(i[s]=r.get(s)+this.get(s))}return yo(this,{values:i},!0)},t.minus=function(t){if(!this.isValid)return this;var n=e.fromDurationLike(t);return this.plus(n.negate())},t.mapUnits=function(e){if(!this.isValid)return this;for(var t={},n=0,r=Object.keys(this.values);n<r.length;n++){var i=r[n];t[i]=Tr(e(this.values[i],i))}return yo(this,{values:t},!0)},t.get=function(t){return this[e.normalizeUnit(t)]},t.set=function(t){return this.isValid?yo(this,{values:gn({},this.values,Mr(t,e.normalizeUnit))}):this},t.reconfigure=function(e){var t=void 0===e?{}:e,n=t.locale,r=t.numberingSystem,i=t.conversionAccuracy,o={loc:this.loc.clone({locale:n,numberingSystem:r})};return i&&(o.conversionAccuracy=i),yo(this,o)},t.as=function(e){return this.isValid?this.shiftTo(e).get(e):NaN},t.normalize=function(){if(!this.isValid)return this;var e=this.toObject();return function(e,t){mo.reduce((function(n,r){return ir(t[r])?n:(n&&vo(e,t,n,t,r),r)}),null)}(this.matrix,e),yo(this,{values:e},!0)},t.shiftTo=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!this.isValid)return this;if(0===n.length)return this;n=n.map((function(t){return e.normalizeUnit(t)}));for(var i,o,s={},u={},a=this.toObject(),l=Dn(ho);!(o=l()).done;){var c=o.value;if(n.indexOf(c)>=0){i=c;var f=0;for(var d in u)f+=this.matrix[d][c]*u[d],u[d]=0;or(a[c])&&(f+=a[c]);var h=Math.trunc(f);for(var m in s[c]=h,u[c]=(1e3*f-1e3*h)/1e3,a)ho.indexOf(m)>ho.indexOf(c)&&vo(this.matrix,a,m,s,c)}else or(a[c])&&(u[c]=a[c])}for(var y in u)0!==u[y]&&(s[i]+=y===i?u[y]:u[y]/this.matrix[i][y]);return yo(this,{values:s},!0).normalize()},t.negate=function(){if(!this.isValid)return this;for(var e={},t=0,n=Object.keys(this.values);t<n.length;t++){var r=n[t];e[r]=0===this.values[r]?0:-this.values[r]}return yo(this,{values:e},!0)},t.equals=function(e){if(!this.isValid||!e.isValid)return!1;if(!this.loc.equals(e.loc))return!1;for(var t,n=Dn(ho);!(t=n()).done;){var r=t.value;if(i=this.values[r],o=e.values[r],!(void 0===i||0===i?void 0===o||0===o:i===o))return!1}var i,o;return!0},pn(e,[{key:"locale",get:function(){return this.isValid?this.loc.locale:null}},{key:"numberingSystem",get:function(){return this.isValid?this.loc.numberingSystem:null}},{key:"years",get:function(){return this.isValid?this.values.years||0:NaN}},{key:"quarters",get:function(){return this.isValid?this.values.quarters||0:NaN}},{key:"months",get:function(){return this.isValid?this.values.months||0:NaN}},{key:"weeks",get:function(){return this.isValid?this.values.weeks||0:NaN}},{key:"days",get:function(){return this.isValid?this.values.days||0:NaN}},{key:"hours",get:function(){return this.isValid?this.values.hours||0:NaN}},{key:"minutes",get:function(){return this.isValid?this.values.minutes||0:NaN}},{key:"seconds",get:function(){return this.isValid?this.values.seconds||0:NaN}},{key:"milliseconds",get:function(){return this.isValid?this.values.milliseconds||0:NaN}},{key:"isValid",get:function(){return null===this.invalid}},{key:"invalidReason",get:function(){return this.invalid?this.invalid.reason:null}},{key:"invalidExplanation",get:function(){return this.invalid?this.invalid.explanation:null}}]),e}();var go=function(){function e(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}e.invalid=function(t,n){if(void 0===n&&(n=null),!t)throw new Fn("need to specify a reason the Interval is invalid");var r=t instanceof Hr?t:new Hr(t,n);if(li.throwOnInvalid)throw new _n(r);return new e({invalid:r})},e.fromDateTimes=function(t,n){var r=gs(t),i=gs(n),o=function(e,t){return e&&e.isValid?t&&t.isValid?t<e?go.invalid("end before start","The end of an interval must be after its start, but you had start="+e.toISO()+" and end="+t.toISO()):null:go.invalid("missing or invalid end"):go.invalid("missing or invalid start")}(r,i);return null==o?new e({start:r,end:i}):o},e.after=function(t,n){var r=po.fromDurationLike(n),i=gs(t);return e.fromDateTimes(i,i.plus(r))},e.before=function(t,n){var r=po.fromDurationLike(n),i=gs(t);return e.fromDateTimes(i.minus(r),i)},e.fromISO=function(t,n){var r=(t||"").split("/",2),i=r[0],o=r[1];if(i&&o){var s,u,a,l;try{u=(s=ps.fromISO(i,n)).isValid}catch(e){u=!1}try{l=(a=ps.fromISO(o,n)).isValid}catch(e){l=!1}if(u&&l)return e.fromDateTimes(s,a);if(u){var c=po.fromISO(o,n);if(c.isValid)return e.after(s,c)}else if(l){var f=po.fromISO(i,n);if(f.isValid)return e.before(a,f)}}return e.invalid("unparsable",'the input "'+t+"\" can't be parsed as ISO 8601")},e.isInterval=function(e){return e&&e.isLuxonInterval||!1};var t=e.prototype;return t.length=function(e){return void 0===e&&(e="milliseconds"),this.isValid?this.toDuration.apply(this,[e]).get(e):NaN},t.count=function(e){if(void 0===e&&(e="milliseconds"),!this.isValid)return NaN;var t=this.start.startOf(e),n=this.end.startOf(e);return Math.floor(n.diff(t,e).get(e))+1},t.hasSame=function(e){return!!this.isValid&&(this.isEmpty()||this.e.minus(1).hasSame(this.s,e))},t.isEmpty=function(){return this.s.valueOf()===this.e.valueOf()},t.isAfter=function(e){return!!this.isValid&&this.s>e},t.isBefore=function(e){return!!this.isValid&&this.e<=e},t.contains=function(e){return!!this.isValid&&(this.s<=e&&this.e>e)},t.set=function(t){var n=void 0===t?{}:t,r=n.start,i=n.end;return this.isValid?e.fromDateTimes(r||this.s,i||this.e):this},t.splitAt=function(){var t=this;if(!this.isValid)return[];for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];for(var o=r.map(gs).filter((function(e){return t.contains(e)})).sort(),s=[],u=this.s,a=0;u<this.e;){var l=o[a]||this.e,c=+l>+this.e?this.e:l;s.push(e.fromDateTimes(u,c)),u=c,a+=1}return s},t.splitBy=function(t){var n=po.fromDurationLike(t);if(!this.isValid||!n.isValid||0===n.as("milliseconds"))return[];for(var r,i=this.s,o=1,s=[];i<this.e;){var u=this.start.plus(n.mapUnits((function(e){return e*o})));r=+u>+this.e?this.e:u,s.push(e.fromDateTimes(i,r)),i=r,o+=1}return s},t.divideEqually=function(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]},t.overlaps=function(e){return this.e>e.s&&this.s<e.e},t.abutsStart=function(e){return!!this.isValid&&+this.e==+e.s},t.abutsEnd=function(e){return!!this.isValid&&+e.e==+this.s},t.engulfs=function(e){return!!this.isValid&&(this.s<=e.s&&this.e>=e.e)},t.equals=function(e){return!(!this.isValid||!e.isValid)&&(this.s.equals(e.s)&&this.e.equals(e.e))},t.intersection=function(t){if(!this.isValid)return this;var n=this.s>t.s?this.s:t.s,r=this.e<t.e?this.e:t.e;return n>=r?null:e.fromDateTimes(n,r)},t.union=function(t){if(!this.isValid)return this;var n=this.s<t.s?this.s:t.s,r=this.e>t.e?this.e:t.e;return e.fromDateTimes(n,r)},e.merge=function(e){var t=e.sort((function(e,t){return e.s-t.s})).reduce((function(e,t){var n=e[0],r=e[1];return r?r.overlaps(t)||r.abutsStart(t)?[n,r.union(t)]:[n.concat([r]),t]:[n,t]}),[[],null]),n=t[0],r=t[1];return r&&n.push(r),n},e.xor=function(t){for(var n,r,i=null,o=0,s=[],u=t.map((function(e){return[{time:e.s,type:"s"},{time:e.e,type:"e"}]})),a=Dn((n=Array.prototype).concat.apply(n,u).sort((function(e,t){return e.time-t.time})));!(r=a()).done;){var l=r.value;1===(o+="s"===l.type?1:-1)?i=l.time:(i&&+i!=+l.time&&s.push(e.fromDateTimes(i,l.time)),i=null)}return e.merge(s)},t.difference=function(){for(var t=this,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return e.xor([this].concat(r)).map((function(e){return t.intersection(e)})).filter((function(e){return e&&!e.isEmpty()}))},t.toString=function(){return this.isValid?"["+this.s.toISO()+" – "+this.e.toISO()+")":"Invalid Interval"},t.toISO=function(e){return this.isValid?this.s.toISO(e)+"/"+this.e.toISO(e):"Invalid Interval"},t.toISODate=function(){return this.isValid?this.s.toISODate()+"/"+this.e.toISODate():"Invalid Interval"},t.toISOTime=function(e){return this.isValid?this.s.toISOTime(e)+"/"+this.e.toISOTime(e):"Invalid Interval"},t.toFormat=function(e,t){var n=(void 0===t?{}:t).separator,r=void 0===n?" – ":n;return this.isValid?""+this.s.toFormat(e)+r+this.e.toFormat(e):"Invalid Interval"},t.toDuration=function(e,t){return this.isValid?this.e.diff(this.s,e,t):po.invalid(this.invalidReason)},t.mapEndpoints=function(t){return e.fromDateTimes(t(this.s),t(this.e))},pn(e,[{key:"start",get:function(){return this.isValid?this.s:null}},{key:"end",get:function(){return this.isValid?this.e:null}},{key:"isValid",get:function(){return null===this.invalidReason}},{key:"invalidReason",get:function(){return this.invalid?this.invalid.reason:null}},{key:"invalidExplanation",get:function(){return this.invalid?this.invalid.explanation:null}}]),e}(),wo=function(){function e(){}return e.hasDST=function(e){void 0===e&&(e=li.defaultZone);var t=ps.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset},e.isValidIANAZone=function(e){return Kr.isValidZone(e)},e.normalizeZone=function(e){return ni(e,li.defaultZone)},e.months=function(e,t){void 0===e&&(e="long");var n=void 0===t?{}:t,r=n.locale,i=void 0===r?null:r,o=n.numberingSystem,s=void 0===o?null:o,u=n.locObj,a=void 0===u?null:u,l=n.outputCalendar,c=void 0===l?"gregory":l;return(a||xi.create(i,s,c)).months(e)},e.monthsFormat=function(e,t){void 0===e&&(e="long");var n=void 0===t?{}:t,r=n.locale,i=void 0===r?null:r,o=n.numberingSystem,s=void 0===o?null:o,u=n.locObj,a=void 0===u?null:u,l=n.outputCalendar,c=void 0===l?"gregory":l;return(a||xi.create(i,s,c)).months(e,!0)},e.weekdays=function(e,t){void 0===e&&(e="long");var n=void 0===t?{}:t,r=n.locale,i=void 0===r?null:r,o=n.numberingSystem,s=void 0===o?null:o,u=n.locObj;return((void 0===u?null:u)||xi.create(i,s,null)).weekdays(e)},e.weekdaysFormat=function(e,t){void 0===e&&(e="long");var n=void 0===t?{}:t,r=n.locale,i=void 0===r?null:r,o=n.numberingSystem,s=void 0===o?null:o,u=n.locObj;return((void 0===u?null:u)||xi.create(i,s,null)).weekdays(e,!0)},e.meridiems=function(e){var t=(void 0===e?{}:e).locale,n=void 0===t?null:t;return xi.create(n).meridiems()},e.eras=function(e,t){void 0===e&&(e="short");var n=(void 0===t?{}:t).locale,r=void 0===n?null:n;return xi.create(r,null,"gregory").eras(e)},e.features=function(){return{relative:ur()}},e}();function ko(e,t){var n=function(e){return e.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf()},r=n(t)-n(e);return Math.floor(po.fromMillis(r).as("days"))}function bo(e,t,n,r){var i=function(e,t,n){for(var r,i,o={},s=0,u=[["years",function(e,t){return t.year-e.year}],["quarters",function(e,t){return t.quarter-e.quarter}],["months",function(e,t){return t.month-e.month+12*(t.year-e.year)}],["weeks",function(e,t){var n=ko(e,t);return(n-n%7)/7}],["days",ko]];s<u.length;s++){var a=u[s],l=a[0],c=a[1];if(n.indexOf(l)>=0){var f;r=l;var d,h=c(e,t);(i=e.plus(((f={})[l]=h,f)))>t?(e=e.plus(((d={})[l]=h-1,d)),h-=1):e=i,o[l]=h}}return[e,o,i,r]}(e,t,n),o=i[0],s=i[1],u=i[2],a=i[3],l=t-o,c=n.filter((function(e){return["hours","minutes","seconds","milliseconds"].indexOf(e)>=0}));if(0===c.length){var f;if(u<t)u=o.plus(((f={})[a]=1,f));u!==o&&(s[a]=(s[a]||0)+l/(u-o))}var d,h=po.fromObject(s,r);return c.length>0?(d=po.fromMillis(l,r)).shiftTo.apply(d,c).plus(h):h}var xo={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},So={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},To=xo.hanidec.replace(/[\[|\]]/g,"").split("");function Mo(e,t){var n=e.numberingSystem;return void 0===t&&(t=""),new RegExp(""+xo[n||"latn"]+t)}function Oo(e,t){return void 0===t&&(t=function(e){return e}),{regex:e,deser:function(e){var n=e[0];return t(function(e){var t=parseInt(e,10);if(isNaN(t)){t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(-1!==e[n].search(xo.hanidec))t+=To.indexOf(e[n]);else for(var i in So){var o=So[i],s=o[0],u=o[1];r>=s&&r<=u&&(t+=r-s)}}return parseInt(t,10)}return t}(n))}}}var Do="[ "+String.fromCharCode(160)+"]",No=new RegExp(Do,"g");function Eo(e){return e.replace(/\./g,"\\.?").replace(No,Do)}function _o(e){return e.replace(/\./g,"").replace(No," ").toLowerCase()}function Io(e,t){return null===e?null:{regex:RegExp(e.map(Eo).join("|")),deser:function(n){var r=n[0];return e.findIndex((function(e){return _o(r)===_o(e)}))+t}}}function Vo(e,t){return{regex:e,deser:function(e){return Sr(e[1],e[2])},groups:t}}function Co(e){return{regex:e,deser:function(e){return e[0]}}}var Fo={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour:{numeric:"h","2-digit":"hh"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"}};var zo=null;function Ao(e,t){if(e.literal)return e;var n=Ur.macroTokenToFormatOpts(e.val);if(!n)return e;var r=Ur.create(t,n).formatDateTimeParts((zo||(zo=ps.fromMillis(1555555555555)),zo)).map((function(e){return function(e,t,n){var r=e.type,i=e.value;if("literal"===r)return{literal:!0,val:i};var o=n[r],s=Fo[r];return"object"==typeof s&&(s=s[o]),s?{literal:!1,val:s}:void 0}(e,0,n)}));return r.includes(void 0)?e:r}function Lo(e,t,n){var r=function(e,t){var n;return(n=Array.prototype).concat.apply(n,e.map((function(e){return Ao(e,t)})))}(Ur.parseFormat(n),e),i=r.map((function(t){return n=t,i=Mo(r=e),o=Mo(r,"{2}"),s=Mo(r,"{3}"),u=Mo(r,"{4}"),a=Mo(r,"{6}"),l=Mo(r,"{1,2}"),c=Mo(r,"{1,3}"),f=Mo(r,"{1,6}"),d=Mo(r,"{1,9}"),h=Mo(r,"{2,4}"),m=Mo(r,"{4,6}"),y=function(e){return{regex:RegExp((t=e.val,t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"))),deser:function(e){return e[0]},literal:!0};var t},v=function(e){if(n.literal)return y(e);switch(e.val){case"G":return Io(r.eras("short",!1),0);case"GG":return Io(r.eras("long",!1),0);case"y":return Oo(f);case"yy":case"kk":return Oo(h,br);case"yyyy":case"kkkk":return Oo(u);case"yyyyy":return Oo(m);case"yyyyyy":return Oo(a);case"M":case"L":case"d":case"H":case"h":case"m":case"q":case"s":case"W":return Oo(l);case"MM":case"LL":case"dd":case"HH":case"hh":case"mm":case"qq":case"ss":case"WW":return Oo(o);case"MMM":return Io(r.months("short",!0,!1),1);case"MMMM":return Io(r.months("long",!0,!1),1);case"LLL":return Io(r.months("short",!1,!1),1);case"LLLL":return Io(r.months("long",!1,!1),1);case"o":case"S":return Oo(c);case"ooo":case"SSS":return Oo(s);case"u":return Co(d);case"uu":return Co(l);case"uuu":case"E":case"c":return Oo(i);case"a":return Io(r.meridiems(),0);case"EEE":return Io(r.weekdays("short",!1,!1),1);case"EEEE":return Io(r.weekdays("long",!1,!1),1);case"ccc":return Io(r.weekdays("short",!0,!1),1);case"cccc":return Io(r.weekdays("long",!0,!1),1);case"Z":case"ZZ":return Vo(new RegExp("([+-]"+l.source+")(?::("+o.source+"))?"),2);case"ZZZ":return Vo(new RegExp("([+-]"+l.source+")("+o.source+")?"),2);case"z":return Co(/[a-z_+-/]{1,256}?/i);default:return y(e)}}(n)||{invalidReason:"missing Intl.DateTimeFormat.formatToParts support"},v.token=n,v;var n,r,i,o,s,u,a,l,c,f,d,h,m,y,v})),o=i.find((function(e){return e.invalidReason}));if(o)return{input:t,tokens:r,invalidReason:o.invalidReason};var s=function(e){return["^"+e.map((function(e){return e.regex})).reduce((function(e,t){return e+"("+t.source+")"}),"")+"$",e]}(i),u=s[0],a=s[1],l=RegExp(u,"i"),c=function(e,t,n){var r=e.match(t);if(r){var i={},o=1;for(var s in n)if(lr(n,s)){var u=n[s],a=u.groups?u.groups+1:1;!u.literal&&u.token&&(i[u.token.val[0]]=u.deser(r.slice(o,o+a))),o+=a}return[r,i]}return[r,{}]}(t,l,a),f=c[0],d=c[1],h=d?function(e){var t,n=null;return ir(e.z)||(n=Kr.create(e.z)),ir(e.Z)||(n||(n=new ei(e.Z)),t=e.Z),ir(e.q)||(e.M=3*(e.q-1)+1),ir(e.h)||(e.h<12&&1===e.a?e.h+=12:12===e.h&&0===e.a&&(e.h=0)),0===e.G&&e.y&&(e.y=-e.y),ir(e.u)||(e.S=mr(e.u)),[Object.keys(e).reduce((function(t,n){var r=function(e){switch(e){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}}(n);return r&&(t[r]=e[n]),t}),{}),n,t]}(d):[null,null,void 0],m=h[0],y=h[1],v=h[2];if(lr(d,"a")&&lr(d,"H"))throw new Vn("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:r,regex:l,rawMatches:f,matches:d,result:m,zone:y,specificOffset:v}}var Zo=[0,31,59,90,120,151,181,212,243,273,304,334],jo=[0,31,60,91,121,152,182,213,244,274,305,335];function Po(e,t){return new Hr("unit out of range","you specified "+t+" (of type "+typeof t+") as a "+e+", which is invalid")}function Yo(e,t,n){var r=new Date(Date.UTC(e,t-1,n));e<100&&e>=0&&r.setUTCFullYear(r.getUTCFullYear()-1900);var i=r.getUTCDay();return 0===i?7:i}function qo(e,t,n){return n+(vr(e)?jo:Zo)[t-1]}function Wo(e,t){var n=vr(e)?jo:Zo,r=n.findIndex((function(e){return e<t}));return{month:r+1,day:t-n[r]}}function Uo(e){var t,n=e.year,r=e.month,i=e.day,o=qo(n,r,i),s=Yo(n,r,i),u=Math.floor((o-s+10)/7);return u<1?u=kr(t=n-1):u>kr(n)?(t=n+1,u=1):t=n,gn({weekYear:t,weekNumber:u,weekday:s},Dr(e))}function Ho(e){var t,n=e.weekYear,r=e.weekNumber,i=e.weekday,o=Yo(n,1,4),s=pr(n),u=7*r+i-o-3;u<1?u+=pr(t=n-1):u>s?(t=n+1,u-=pr(n)):t=n;var a=Wo(t,u);return gn({year:t,month:a.month,day:a.day},Dr(e))}function Ro(e){var t=e.year;return gn({year:t,ordinal:qo(t,e.month,e.day)},Dr(e))}function Go(e){var t=e.year,n=Wo(t,e.ordinal);return gn({year:t,month:n.month,day:n.day},Dr(e))}function Jo(e){var t=sr(e.year),n=cr(e.month,1,12),r=cr(e.day,1,gr(e.year,e.month));return t?n?!r&&Po("day",e.day):Po("month",e.month):Po("year",e.year)}function Bo(e){var t=e.hour,n=e.minute,r=e.second,i=e.millisecond,o=cr(t,0,23)||24===t&&0===n&&0===r&&0===i,s=cr(n,0,59),u=cr(r,0,59),a=cr(i,0,999);return o?s?u?!a&&Po("millisecond",i):Po("second",r):Po("minute",n):Po("hour",t)}function $o(e){return new Hr("unsupported zone",'the zone "'+e.name+'" is not supported')}function Qo(e){return null===e.weekData&&(e.weekData=Uo(e.c)),e.weekData}function Ko(e,t){var n={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new ps(gn({},n,t,{old:n}))}function Xo(e,t,n){var r=e-6e4*t,i=n.offset(r);if(t===i)return[r,t];r-=6e4*(i-t);var o=n.offset(r);return i===o?[r,i]:[e-6e4*Math.min(i,o),Math.max(i,o)]}function es(e,t){var n=new Date(e+=6e4*t);return{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate(),hour:n.getUTCHours(),minute:n.getUTCMinutes(),second:n.getUTCSeconds(),millisecond:n.getUTCMilliseconds()}}function ts(e,t,n){return Xo(wr(e),t,n)}function ns(e,t){var n=e.o,r=e.c.year+Math.trunc(t.years),i=e.c.month+Math.trunc(t.months)+3*Math.trunc(t.quarters),o=gn({},e.c,{year:r,month:i,day:Math.min(e.c.day,gr(r,i))+Math.trunc(t.days)+7*Math.trunc(t.weeks)}),s=po.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),u=Xo(wr(o),n,e.zone),a=u[0],l=u[1];return 0!==s&&(a+=s,l=e.zone.offset(a)),{ts:a,o:l}}function rs(e,t,n,r,i,o){var s=n.setZone,u=n.zone;if(e&&0!==Object.keys(e).length){var a=t||u,l=ps.fromObject(e,gn({},n,{zone:a,specificOffset:o}));return s?l:l.setZone(u)}return ps.invalid(new Hr("unparsable",'the input "'+i+"\" can't be parsed as "+r))}function is(e,t,n){return void 0===n&&(n=!0),e.isValid?Ur.create(xi.create("en-US"),{allowZ:n,forceSimple:!0}).formatDateTimeFromString(e,t):null}function os(e,t){var n=e.c.year>9999||e.c.year<0,r="";return n&&e.c.year>=0&&(r+="+"),r+=fr(e.c.year,n?6:4),t?(r+="-",r+=fr(e.c.month),r+="-",r+=fr(e.c.day)):(r+=fr(e.c.month),r+=fr(e.c.day)),r}function ss(e,t,n,r,i,o){var s=fr(e.c.hour);return t?(s+=":",s+=fr(e.c.minute),0===e.c.second&&n||(s+=":")):s+=fr(e.c.minute),0===e.c.second&&n||(s+=fr(e.c.second),0===e.c.millisecond&&r||(s+=".",s+=fr(e.c.millisecond,3))),i&&(e.isOffsetFixed&&0===e.offset&&!o?s+="Z":e.o<0?(s+="-",s+=fr(Math.trunc(-e.o/60)),s+=":",s+=fr(Math.trunc(-e.o%60))):(s+="+",s+=fr(Math.trunc(e.o/60)),s+=":",s+=fr(Math.trunc(e.o%60)))),o&&(s+="["+e.zone.ianaName+"]"),s}var us={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},as={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},ls={ordinal:1,hour:0,minute:0,second:0,millisecond:0},cs=["year","month","day","hour","minute","second","millisecond"],fs=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],ds=["year","ordinal","hour","minute","second","millisecond"];function hs(e){var t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[e.toLowerCase()];if(!t)throw new Cn(e);return t}function ms(e,t){var n,r,i=ni(t.zone,li.defaultZone),o=xi.fromObject(t),s=li.now();if(ir(e.year))n=s;else{for(var u,a=Dn(cs);!(u=a()).done;){var l=u.value;ir(e[l])&&(e[l]=us[l])}var c=Jo(e)||Bo(e);if(c)return ps.invalid(c);var f=ts(e,i.offset(s),i);n=f[0],r=f[1]}return new ps({ts:n,zone:i,loc:o,o:r})}function ys(e,t,n){var r=!!ir(n.round)||n.round,i=function(e,i){return e=yr(e,r||n.calendary?0:2,!0),t.loc.clone(n).relFormatter(n).format(e,i)},o=function(r){return n.calendary?t.hasSame(e,r)?0:t.startOf(r).diff(e.startOf(r),r).get(r):t.diff(e,r).get(r)};if(n.unit)return i(o(n.unit),n.unit);for(var s,u=Dn(n.units);!(s=u()).done;){var a=s.value,l=o(a);if(Math.abs(l)>=1)return i(l,a)}return i(e>t?-0:0,n.units[n.units.length-1])}function vs(e){var t,n={};return e.length>0&&"object"==typeof e[e.length-1]?(n=e[e.length-1],t=Array.from(e).slice(0,e.length-1)):t=Array.from(e),[n,t]}var ps=function(){function e(e){var t=e.zone||li.defaultZone,n=e.invalid||(Number.isNaN(e.ts)?new Hr("invalid input"):null)||(t.isValid?null:$o(t));this.ts=ir(e.ts)?li.now():e.ts;var r=null,i=null;if(!n)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t)){var o=[e.old.c,e.old.o];r=o[0],i=o[1]}else{var s=t.offset(this.ts);r=es(this.ts,s),r=(n=Number.isNaN(r.year)?new Hr("invalid input"):null)?null:r,i=n?null:s}this._zone=t,this.loc=e.loc||xi.create(),this.invalid=n,this.weekData=null,this.c=r,this.o=i,this.isLuxonDateTime=!0}e.now=function(){return new e({})},e.local=function(){var e=vs(arguments),t=e[0],n=e[1],r=n[0],i=n[1],o=n[2],s=n[3],u=n[4],a=n[5],l=n[6];return ms({year:r,month:i,day:o,hour:s,minute:u,second:a,millisecond:l},t)},e.utc=function(){var e=vs(arguments),t=e[0],n=e[1],r=n[0],i=n[1],o=n[2],s=n[3],u=n[4],a=n[5],l=n[6];return t.zone=ei.utcInstance,ms({year:r,month:i,day:o,hour:s,minute:u,second:a,millisecond:l},t)},e.fromJSDate=function(t,n){void 0===n&&(n={});var r,i=(r=t,"[object Date]"===Object.prototype.toString.call(r)?t.valueOf():NaN);if(Number.isNaN(i))return e.invalid("invalid input");var o=ni(n.zone,li.defaultZone);return o.isValid?new e({ts:i,zone:o,loc:xi.fromObject(n)}):e.invalid($o(o))},e.fromMillis=function(t,n){if(void 0===n&&(n={}),or(t))return t<-864e13||t>864e13?e.invalid("Timestamp out of range"):new e({ts:t,zone:ni(n.zone,li.defaultZone),loc:xi.fromObject(n)});throw new Fn("fromMillis requires a numerical input, but received a "+typeof t+" with value "+t)},e.fromSeconds=function(t,n){if(void 0===n&&(n={}),or(t))return new e({ts:1e3*t,zone:ni(n.zone,li.defaultZone),loc:xi.fromObject(n)});throw new Fn("fromSeconds requires a numerical input")},e.fromObject=function(t,n){void 0===n&&(n={}),t=t||{};var r=ni(n.zone,li.defaultZone);if(!r.isValid)return e.invalid($o(r));var i=li.now(),o=ir(n.specificOffset)?r.offset(i):n.specificOffset,s=Mr(t,hs),u=!ir(s.ordinal),a=!ir(s.year),l=!ir(s.month)||!ir(s.day),c=a||l,f=s.weekYear||s.weekNumber,d=xi.fromObject(n);if((c||u)&&f)throw new Vn("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(l&&u)throw new Vn("Can't mix ordinal dates with month/day");var h,m,y=f||s.weekday&&!c,v=es(i,o);y?(h=fs,m=as,v=Uo(v)):u?(h=ds,m=ls,v=Ro(v)):(h=cs,m=us);for(var p,g=!1,w=Dn(h);!(p=w()).done;){var k=p.value;ir(s[k])?s[k]=g?m[k]:v[k]:g=!0}var b=y?function(e){var t=sr(e.weekYear),n=cr(e.weekNumber,1,kr(e.weekYear)),r=cr(e.weekday,1,7);return t?n?!r&&Po("weekday",e.weekday):Po("week",e.week):Po("weekYear",e.weekYear)}(s):u?function(e){var t=sr(e.year),n=cr(e.ordinal,1,pr(e.year));return t?!n&&Po("ordinal",e.ordinal):Po("year",e.year)}(s):Jo(s),x=b||Bo(s);if(x)return e.invalid(x);var S=ts(y?Ho(s):u?Go(s):s,o,r),T=new e({ts:S[0],zone:r,o:S[1],loc:d});return s.weekday&&c&&t.weekday!==T.weekday?e.invalid("mismatched weekday","you can't specify both a weekday of "+s.weekday+" and a date of "+T.toISO()):T},e.fromISO=function(e,t){void 0===t&&(t={});var n=Mi(e,[Qi,to],[Ki,no],[Xi,ro],[eo,io]);return rs(n[0],n[1],t,"ISO 8601",e)},e.fromRFC2822=function(e,t){void 0===t&&(t={});var n=Mi(e.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim(),[Ui,Hi]);return rs(n[0],n[1],t,"RFC 2822",e)},e.fromHTTP=function(e,t){void 0===t&&(t={});var n=Mi(e,[Ri,Bi],[Gi,Bi],[Ji,$i]);return rs(n[0],n[1],t,"HTTP",t)},e.fromFormat=function(t,n,r){if(void 0===r&&(r={}),ir(t)||ir(n))throw new Fn("fromFormat requires an input string and a format");var i=r,o=i.locale,s=void 0===o?null:o,u=i.numberingSystem,a=void 0===u?null:u,l=function(e,t,n){var r=Lo(e,t,n);return[r.result,r.zone,r.specificOffset,r.invalidReason]}(xi.fromOpts({locale:s,numberingSystem:a,defaultToEN:!0}),t,n),c=l[0],f=l[1],d=l[2],h=l[3];return h?e.invalid(h):rs(c,f,r,"format "+n,t,d)},e.fromString=function(t,n,r){return void 0===r&&(r={}),e.fromFormat(t,n,r)},e.fromSQL=function(e,t){void 0===t&&(t={});var n=Mi(e,[so,to],[uo,ao]);return rs(n[0],n[1],t,"SQL",e)},e.invalid=function(t,n){if(void 0===n&&(n=null),!t)throw new Fn("need to specify a reason the DateTime is invalid");var r=t instanceof Hr?t:new Hr(t,n);if(li.throwOnInvalid)throw new En(r);return new e({invalid:r})},e.isDateTime=function(e){return e&&e.isLuxonDateTime||!1};var t=e.prototype;return t.get=function(e){return this[e]},t.resolvedLocaleOptions=function(e){void 0===e&&(e={});var t=Ur.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t.locale,numberingSystem:t.numberingSystem,outputCalendar:t.calendar}},t.toUTC=function(e,t){return void 0===e&&(e=0),void 0===t&&(t={}),this.setZone(ei.instance(e),t)},t.toLocal=function(){return this.setZone(li.defaultZone)},t.setZone=function(t,n){var r=void 0===n?{}:n,i=r.keepLocalTime,o=void 0!==i&&i,s=r.keepCalendarTime,u=void 0!==s&&s;if((t=ni(t,li.defaultZone)).equals(this.zone))return this;if(t.isValid){var a=this.ts;if(o||u){var l=t.offset(this.ts);a=ts(this.toObject(),l,t)[0]}return Ko(this,{ts:a,zone:t})}return e.invalid($o(t))},t.reconfigure=function(e){var t=void 0===e?{}:e,n=t.locale,r=t.numberingSystem,i=t.outputCalendar;return Ko(this,{loc:this.loc.clone({locale:n,numberingSystem:r,outputCalendar:i})})},t.setLocale=function(e){return this.reconfigure({locale:e})},t.set=function(e){if(!this.isValid)return this;var t,n=Mr(e,hs),r=!ir(n.weekYear)||!ir(n.weekNumber)||!ir(n.weekday),i=!ir(n.ordinal),o=!ir(n.year),s=!ir(n.month)||!ir(n.day),u=o||s,a=n.weekYear||n.weekNumber;if((u||i)&&a)throw new Vn("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(s&&i)throw new Vn("Can't mix ordinal dates with month/day");r?t=Ho(gn({},Uo(this.c),n)):ir(n.ordinal)?(t=gn({},this.toObject(),n),ir(n.day)&&(t.day=Math.min(gr(t.year,t.month),t.day))):t=Go(gn({},Ro(this.c),n));var l=ts(t,this.o,this.zone);return Ko(this,{ts:l[0],o:l[1]})},t.plus=function(e){return this.isValid?Ko(this,ns(this,po.fromDurationLike(e))):this},t.minus=function(e){return this.isValid?Ko(this,ns(this,po.fromDurationLike(e).negate())):this},t.startOf=function(e){if(!this.isValid)return this;var t={},n=po.normalizeUnit(e);switch(n){case"years":t.month=1;case"quarters":case"months":t.day=1;case"weeks":case"days":t.hour=0;case"hours":t.minute=0;case"minutes":t.second=0;case"seconds":t.millisecond=0}if("weeks"===n&&(t.weekday=1),"quarters"===n){var r=Math.ceil(this.month/3);t.month=3*(r-1)+1}return this.set(t)},t.endOf=function(e){var t;return this.isValid?this.plus((t={},t[e]=1,t)).startOf(e).minus(1):this},t.toFormat=function(e,t){return void 0===t&&(t={}),this.isValid?Ur.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):"Invalid DateTime"},t.toLocaleString=function(e,t){return void 0===e&&(e=An),void 0===t&&(t={}),this.isValid?Ur.create(this.loc.clone(t),e).formatDateTime(this):"Invalid DateTime"},t.toLocaleParts=function(e){return void 0===e&&(e={}),this.isValid?Ur.create(this.loc.clone(e),e).formatDateTimeParts(this):[]},t.toISO=function(e){var t=void 0===e?{}:e,n=t.format,r=void 0===n?"extended":n,i=t.suppressSeconds,o=void 0!==i&&i,s=t.suppressMilliseconds,u=void 0!==s&&s,a=t.includeOffset,l=void 0===a||a,c=t.extendedZone,f=void 0!==c&&c;if(!this.isValid)return null;var d="extended"===r,h=os(this,d);return h+="T",h+=ss(this,d,o,u,l,f)},t.toISODate=function(e){var t=(void 0===e?{}:e).format,n=void 0===t?"extended":t;return this.isValid?os(this,"extended"===n):null},t.toISOWeekDate=function(){return is(this,"kkkk-'W'WW-c")},t.toISOTime=function(e){var t=void 0===e?{}:e,n=t.suppressMilliseconds,r=void 0!==n&&n,i=t.suppressSeconds,o=void 0!==i&&i,s=t.includeOffset,u=void 0===s||s,a=t.includePrefix,l=void 0!==a&&a,c=t.extendedZone,f=void 0!==c&&c,d=t.format,h=void 0===d?"extended":d;return this.isValid?(l?"T":"")+ss(this,"extended"===h,o,r,u,f):null},t.toRFC2822=function(){return is(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)},t.toHTTP=function(){return is(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")},t.toSQLDate=function(){return this.isValid?os(this,!0):null},t.toSQLTime=function(e){var t=void 0===e?{}:e,n=t.includeOffset,r=void 0===n||n,i=t.includeZone,o=void 0!==i&&i,s=t.includeOffsetSpace,u="HH:mm:ss.SSS";return(o||r)&&((void 0===s||s)&&(u+=" "),o?u+="z":r&&(u+="ZZ")),is(this,u,!0)},t.toSQL=function(e){return void 0===e&&(e={}),this.isValid?this.toSQLDate()+" "+this.toSQLTime(e):null},t.toString=function(){return this.isValid?this.toISO():"Invalid DateTime"},t.valueOf=function(){return this.toMillis()},t.toMillis=function(){return this.isValid?this.ts:NaN},t.toSeconds=function(){return this.isValid?this.ts/1e3:NaN},t.toUnixInteger=function(){return this.isValid?Math.floor(this.ts/1e3):NaN},t.toJSON=function(){return this.toISO()},t.toBSON=function(){return this.toJSDate()},t.toObject=function(e){if(void 0===e&&(e={}),!this.isValid)return{};var t=gn({},this.c);return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t},t.toJSDate=function(){return new Date(this.isValid?this.ts:NaN)},t.diff=function(e,t,n){if(void 0===t&&(t="milliseconds"),void 0===n&&(n={}),!this.isValid||!e.isValid)return po.invalid("created by diffing an invalid DateTime");var r,i=gn({locale:this.locale,numberingSystem:this.numberingSystem},n),o=(r=t,Array.isArray(r)?r:[r]).map(po.normalizeUnit),s=e.valueOf()>this.valueOf(),u=bo(s?this:e,s?e:this,o,i);return s?u.negate():u},t.diffNow=function(t,n){return void 0===t&&(t="milliseconds"),void 0===n&&(n={}),this.diff(e.now(),t,n)},t.until=function(e){return this.isValid?go.fromDateTimes(this,e):this},t.hasSame=function(e,t){if(!this.isValid)return!1;var n=e.valueOf(),r=this.setZone(e.zone,{keepLocalTime:!0});return r.startOf(t)<=n&&n<=r.endOf(t)},t.equals=function(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)},t.toRelative=function(t){if(void 0===t&&(t={}),!this.isValid)return null;var n=t.base||e.fromObject({},{zone:this.zone}),r=t.padding?this<n?-t.padding:t.padding:0,i=["years","months","days","hours","minutes","seconds"],o=t.unit;return Array.isArray(t.unit)&&(i=t.unit,o=void 0),ys(n,this.plus(r),gn({},t,{numeric:"always",units:i,unit:o}))},t.toRelativeCalendar=function(t){return void 0===t&&(t={}),this.isValid?ys(t.base||e.fromObject({},{zone:this.zone}),this,gn({},t,{numeric:"auto",units:["years","months","days"],calendary:!0})):null},e.min=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.every(e.isDateTime))throw new Fn("min requires all arguments be DateTimes");return ar(n,(function(e){return e.valueOf()}),Math.min)},e.max=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.every(e.isDateTime))throw new Fn("max requires all arguments be DateTimes");return ar(n,(function(e){return e.valueOf()}),Math.max)},e.fromFormatExplain=function(e,t,n){void 0===n&&(n={});var r=n,i=r.locale,o=void 0===i?null:i,s=r.numberingSystem,u=void 0===s?null:s;return Lo(xi.fromOpts({locale:o,numberingSystem:u,defaultToEN:!0}),e,t)},e.fromStringExplain=function(t,n,r){return void 0===r&&(r={}),e.fromFormatExplain(t,n,r)},pn(e,[{key:"isValid",get:function(){return null===this.invalid}},{key:"invalidReason",get:function(){return this.invalid?this.invalid.reason:null}},{key:"invalidExplanation",get:function(){return this.invalid?this.invalid.explanation:null}},{key:"locale",get:function(){return this.isValid?this.loc.locale:null}},{key:"numberingSystem",get:function(){return this.isValid?this.loc.numberingSystem:null}},{key:"outputCalendar",get:function(){return this.isValid?this.loc.outputCalendar:null}},{key:"zone",get:function(){return this._zone}},{key:"zoneName",get:function(){return this.isValid?this.zone.name:null}},{key:"year",get:function(){return this.isValid?this.c.year:NaN}},{key:"quarter",get:function(){return this.isValid?Math.ceil(this.c.month/3):NaN}},{key:"month",get:function(){return this.isValid?this.c.month:NaN}},{key:"day",get:function(){return this.isValid?this.c.day:NaN}},{key:"hour",get:function(){return this.isValid?this.c.hour:NaN}},{key:"minute",get:function(){return this.isValid?this.c.minute:NaN}},{key:"second",get:function(){return this.isValid?this.c.second:NaN}},{key:"millisecond",get:function(){return this.isValid?this.c.millisecond:NaN}},{key:"weekYear",get:function(){return this.isValid?Qo(this).weekYear:NaN}},{key:"weekNumber",get:function(){return this.isValid?Qo(this).weekNumber:NaN}},{key:"weekday",get:function(){return this.isValid?Qo(this).weekday:NaN}},{key:"ordinal",get:function(){return this.isValid?Ro(this.c).ordinal:NaN}},{key:"monthShort",get:function(){return this.isValid?wo.months("short",{locObj:this.loc})[this.month-1]:null}},{key:"monthLong",get:function(){return this.isValid?wo.months("long",{locObj:this.loc})[this.month-1]:null}},{key:"weekdayShort",get:function(){return this.isValid?wo.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}},{key:"weekdayLong",get:function(){return this.isValid?wo.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}},{key:"offset",get:function(){return this.isValid?+this.o:NaN}},{key:"offsetNameShort",get:function(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}},{key:"offsetNameLong",get:function(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}},{key:"isOffsetFixed",get:function(){return this.isValid?this.zone.isUniversal:null}},{key:"isInDST",get:function(){return!this.isOffsetFixed&&(this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset)}},{key:"isInLeapYear",get:function(){return vr(this.year)}},{key:"daysInMonth",get:function(){return gr(this.year,this.month)}},{key:"daysInYear",get:function(){return this.isValid?pr(this.year):NaN}},{key:"weeksInWeekYear",get:function(){return this.isValid?kr(this.weekYear):NaN}}],[{key:"DATE_SHORT",get:function(){return An}},{key:"DATE_MED",get:function(){return Ln}},{key:"DATE_MED_WITH_WEEKDAY",get:function(){return Zn}},{key:"DATE_FULL",get:function(){return jn}},{key:"DATE_HUGE",get:function(){return Pn}},{key:"TIME_SIMPLE",get:function(){return Yn}},{key:"TIME_WITH_SECONDS",get:function(){return qn}},{key:"TIME_WITH_SHORT_OFFSET",get:function(){return Wn}},{key:"TIME_WITH_LONG_OFFSET",get:function(){return Un}},{key:"TIME_24_SIMPLE",get:function(){return Hn}},{key:"TIME_24_WITH_SECONDS",get:function(){return Rn}},{key:"TIME_24_WITH_SHORT_OFFSET",get:function(){return Gn}},{key:"TIME_24_WITH_LONG_OFFSET",get:function(){return Jn}},{key:"DATETIME_SHORT",get:function(){return Bn}},{key:"DATETIME_SHORT_WITH_SECONDS",get:function(){return $n}},{key:"DATETIME_MED",get:function(){return Qn}},{key:"DATETIME_MED_WITH_SECONDS",get:function(){return Kn}},{key:"DATETIME_MED_WITH_WEEKDAY",get:function(){return Xn}},{key:"DATETIME_FULL",get:function(){return er}},{key:"DATETIME_FULL_WITH_SECONDS",get:function(){return tr}},{key:"DATETIME_HUGE",get:function(){return nr}},{key:"DATETIME_HUGE_WITH_SECONDS",get:function(){return rr}}]),e}();function gs(e){if(ps.isDateTime(e))return e;if(e&&e.valueOf&&or(e.valueOf()))return ps.fromJSDate(e);if(e&&"object"==typeof e)return ps.fromObject(e);throw new Fn("Unknown datetime argument: "+e+", of type "+typeof e)}yn.DateTime=ps,yn.Duration=po,yn.FixedOffsetZone=ei,yn.IANAZone=Kr,yn.Info=wo,yn.Interval=go,yn.InvalidZone=ti,yn.Settings=li,yn.SystemZone=Jr,yn.VERSION="2.4.0",yn.Zone=Rr;const ws=new XMLHttpRequest;ws.onreadystatechange=function(){if(4===this.readyState&&200===this.status){let e=JSON.parse(this.responseText).intradayPricing,t=0,n=yn.DateTime.now();e.length>0&&(t=parseFloat(e[e.length-1].price).toFixed(2),n=yn.DateTime.fromISO(e[e.length-1].time));document.getElementById("md-current-price").innerHTML="$"+t;document.getElementById("md-current-time").innerHTML=n.toLocaleString(yn.DateTime.DATETIME_FULL);const r=[],i=[];e.forEach((e=>{const{price:t,time:n}=e,o=yn.DateTime.fromISO(n),s=parseFloat(t).toFixed(2);r.push(o.toUnixInteger()),i.push(s)}));const o=document.getElementById("md-intraday-chart"),s=new mn({width:300,height:120,class:"spark",pxAlign:!1,cursor:{show:!1},select:{show:!1},legend:{show:!1},scales:{x:{time:!1}},axes:[{show:!1},{show:!1}],series:[{},{stroke:"#ec5b2e",fill:"#ffb39c"}]},[r,i]).ctx.canvas;o.parentNode.append(s)}},ws.open("GET","https://medtech100.com/md100/json/pricing",!0),ws.send(); //# sourceMappingURL=index.80f28a61.js.map </script> </head> <body> <div id="md-tech-ad"> <table class="md-table" align="center" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="100%"> <div class="md-align"> <img id="md-logo" class="md-margin" src="https://images.designworldonline.com/newsletters/images/ee034d8d8274c1ee5e8111f11cf1be49.png" alt="Medtech 100 logo"> </div> </td> </tr> <tr> <td width="100%"> <div class="md-align"> <div class="margin-text"> <span style="font-weight:600;color:#e06636!important;font-size:16px!important;line-height:14px!important"> Market Summary &gt; Current Price </span> </div> </div> </td> </tr> <tr> <td width="100%"> <div class="md-align" id="md-content-container"> <div id="md-current-price"></div> <div id="md-current-time"></div> <div id="md-chart-container"> <div id="md-intraday-chart"></div> </div> </div> </td> </tr> <tr> <td width="100%"> <div class="md-align"> <div class="md-margin-text"> <span style="font-size:13px;line-height:15px!important"> The MedTech 100 is a financial index calculated using the BIG100 companies covered in Medical Design and Outsourcing. </span> </div> </div> </td> </tr> <tr> <td width="100%"> <div class="md-margin-text"> <a href="https://medtech100.com/?utm_source=PHARMA&utm_medium=BOXAD&utm_campaign=boxad&utm_id=MD100"> <button class="md-btn"> <span style="font-size:13px;font-weight:600"> Click for Index Details &gt;&gt; </span> </button> </a> </div> </td> </tr> </table> </div> </body> </html></div></div></section> <section id="custom_html-3" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center><div id='div-gpt-pharma_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-pharma_sidebarbottom'); }); </script> </div></center></div></div></section> </aside></div></div></div><div class="footer-socials"><div class="wrap"><label style="color:#ffffff">Connect with Pharmaceutical Processing World</label> <a href="https://www.facebook.com/pharmprocessing/" target="_blank" rel="noopener noreferrer"><i class="icon-facebook"></i></a><a href="https://twitter.com/PharmaProWorld" target="_blank" rel="noopener noreferrer"><i class="icon-twitter"></i></a><a href="https://www.linkedin.com/company/pharmaceutical-processing-world" target="_blank" rel="noopener noreferrer"><i class="icon-linkedin"></i></a></div></div><footer class="site-footer"><div class="wrap"><div class="row"><div class="footer-logo"><a href="https://www.pharmaceuticalprocessingworld.com">Pharmaceutical Processing World</a></div><div class="footer-menu"><div class="menu-footer-menu-container"><ul id="menu-footer-menu" class="menu"><li id="menu-item-9116" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/sign-up-for-the-pharmaceutical-processing-enewsletter/">Subscribe to our E-Newsletter</a></li> <li id="menu-item-9114" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/contact-us/">Contact Us</a></li> <li id="menu-item-13734" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/about-us/">About Us</a></li> <li id="menu-item-11263" class="menu-item"><a target="_blank" href="https://www.rdworldonline.com/">R&#038;D World</a></li> <li id="menu-item-13735" class="menu-item"><a href="https://www.drugdeliverybusiness.com/">Drug Delivery Business News</a></li> <li id="menu-item-11262" class="menu-item"><a target="_blank" href="https://www.drugdiscoverytrends.com/">Drug Discovery &#038; Development</a></li> <li id="menu-item-14128" class="menu-item"><a href="https://www.devicetalks.com/">DeviceTalks</a></li> <li id="menu-item-14127" class="menu-item"><a href="https://www.massdevice.com/">MassDevice</a></li> <li id="menu-item-14397" class="menu-item"><a target="_blank" href="https://www.medicaldesignandoutsourcing.com/">Medical Design &#038; Outsourcing</a></li> <li id="menu-item-14398" class="menu-item"><a target="_blank" href="https://www.medicaltubingandextrusion.com/">MEDICAL TUBING + EXTRUSION</a></li> <li id="menu-item-14126" class="menu-item"><a target="_blank" href="https://www.medicaldesignsourcing.com/">Medical Design Sourcing</a></li> <li id="menu-item-14396" class="menu-item"><a target="_blank" href="https://www.medtech100.com/">Medtech100 Index</a></li> <li id="menu-item-15602" class="menu-item"><a href="https://www.rd100conference.com/">R&#038;D 100 Awards</a></li> </ul></div></div><div class="footer-copyright"><p>Copyright &copy; 2024 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media<br /> <a href="http://www.wtwhmedia.com/privacy-policy/" target="_blank">Privacy Policy</a> | <a href="https://marketing.wtwhmedia.com/2024-pharma-media-guide/" target="_blank">Advertising</a> | <a href="/about-us">About Us</a> </p></div></div></div></footer></div><div class="site-search"><div class="wrap"><div class="search-inner"><h2>Search Pharmaceutical Processing World</h2><form class="search-form" method="get" action="https://www.pharmaceuticalprocessingworld.com/" role="search"><input class="search-form-input" type="search" name="s" id="searchform-1" placeholder="Search this website"><input class="search-form-submit" type="submit" value="GO"><meta content="https://www.pharmaceuticalprocessingworld.com/?s={s}"></form></div></div></div><!-- Google Tag Manager (noscript) Global --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MMC9PJ9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KTD28B3" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id='div-gpt-pharma_wallpaper'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-pharma_wallpaper'); }); </script> </div> <div id='div-gpt-pharma_allstreamflex'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-pharma_allstreamflex'); }); </script> </div> <div id='div-gpt-pharma_allstreamprelude'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-pharma_allstreamprelude'); }); </script> </div> <!--trendmd--> <script defer src='//js.trendmd.com/trendmd.min.js' data-trendmdconfig='{"element":"#trendmd-suggestions"}'></script> <div id="sidr-mobile-menu" class="sidr right"><a class="sidr-menu-close" href="#"><i class="icon-close"></i></a><div class="menu-main-menu-container"><ul id="menu-main-menu-1" class="menu"><li class="home menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/">Home</a></li> <li class="menu-item menu-item-has-children"><a href="https://www.pharmaceuticalprocessingworld.com/category/regulatory/">Regulatory</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/recalls/">Recalls</a></li> </ul> </li> <li class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/pharmaceutical-processing/">Pharmaceutical Processing</a></li> <li class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/facility/">Facility</a></li> <li class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/supply-chain/">Supply Chain</a></li> <li class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/equipment/">Equipment and Materials</a></li> <li class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/contract-manufacturing/">Contract Manufacturing</a></li> </ul></div></div></div><script type='text/javascript'>jQuery(document).ready(function($) {$(".flexslider").flexslider({controlsContainer: "#genesis-responsive-slider",animation: "slide",directionNav: 0,controlNav: 1,animationDuration: 800,slideshowSpeed: 4000 }); });</script><script type="text/javascript" src="https://www.pharmaceuticalprocessingworld.com/wp-content/themes/ThemeWTWHv2/assets/js/global-min.js?ver=1621972531" id="ea-global-js"></script> <script type="text/javascript" src="https://www.pharmaceuticalprocessingworld.com/wp-content/plugins/genesis-responsive-slider/assets/js/jquery.flexslider.js?ver=1.0.1" id="flexslider-js"></script> <script type="text/javascript" id="q2w3_fixed_widget-js-extra"> /* <![CDATA[ */ var q2w3_sidebar_options = [{"use_sticky_position":false,"margin_top":0,"margin_bottom":0,"stop_elements_selectors":"","screen_max_width":0,"screen_max_height":0,"widgets":[]}]; /* ]]> */ </script> <script type="text/javascript" src="https://www.pharmaceuticalprocessingworld.com/wp-content/plugins/q2w3-fixed-widget/js/frontend.min.js?ver=6.2.3" id="q2w3_fixed_widget-js"></script> </body></html>

Pages: 1 2 3 4 5 6 7 8 9 10