diff --git a/.gitignore b/.gitignore index e6bf10f9..2e2e58fc 100644 --- a/.gitignore +++ b/.gitignore @@ -3,9 +3,11 @@ .RData .DS_Store -dash-core-components/ -dash-html-components/ -dash-table/ +gulp-assets/dash-core-components/ +gulp-assets/dash-html-components/ +gulp-assets/dash-bootstrap-components/ +gulp-assets/dash-table/ +gulp-assets/dash/ node_modules/ python/ __pycache__/ diff --git a/NAMESPACE b/NAMESPACE index da7779dd..900b35bd 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -20,6 +20,72 @@ export(dashDataTable) export(dashNoUpdate) export(dash_app) export(dash_tag) +export(dbcAccordion) +export(dbcAccordionItem) +export(dbcAlert) +export(dbcBadge) +export(dbcBreadcrumb) +export(dbcButton) +export(dbcButtonGroup) +export(dbcCard) +export(dbcCardBody) +export(dbcCardFooter) +export(dbcCardGroup) +export(dbcCardHeader) +export(dbcCardImg) +export(dbcCardImgOverlay) +export(dbcCardLink) +export(dbcCarousel) +export(dbcCheckbox) +export(dbcChecklist) +export(dbcCol) +export(dbcCollapse) +export(dbcContainer) +export(dbcDropdownMenu) +export(dbcDropdownMenuItem) +export(dbcFade) +export(dbcForm) +export(dbcFormFeedback) +export(dbcFormFloating) +export(dbcFormText) +export(dbcIcons) +export(dbcInput) +export(dbcInputGroup) +export(dbcInputGroupText) +export(dbcLabel) +export(dbcListGroup) +export(dbcListGroupItem) +export(dbcModal) +export(dbcModalBody) +export(dbcModalFooter) +export(dbcModalHeader) +export(dbcModalTitle) +export(dbcNav) +export(dbcNavItem) +export(dbcNavLink) +export(dbcNavbar) +export(dbcNavbarBrand) +export(dbcNavbarSimple) +export(dbcNavbarToggler) +export(dbcOffcanvas) +export(dbcPagination) +export(dbcPopover) +export(dbcPopoverBody) +export(dbcPopoverHeader) +export(dbcProgress) +export(dbcRadioButton) +export(dbcRadioItems) +export(dbcRow) +export(dbcSelect) +export(dbcSpinner) +export(dbcSwitch) +export(dbcTab) +export(dbcTable) +export(dbcTabs) +export(dbcTextarea) +export(dbcThemes) +export(dbcToast) +export(dbcTooltip) export(dccChecklist) export(dccClipboard) export(dccConfirmDialog) diff --git a/R/dashBootstrapComponents.R b/R/dashBootstrapComponents.R new file mode 100644 index 00000000..1a2d0253 --- /dev/null +++ b/R/dashBootstrapComponents.R @@ -0,0 +1,1321 @@ +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcAccordion <- function(children=NULL, id=NULL, active_item=NULL, className=NULL, class_name=NULL, flush=NULL, key=NULL, loading_state=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, start_collapsed=NULL, style=NULL) { + + props <- list(children=children, id=id, active_item=active_item, className=className, class_name=class_name, flush=flush, key=key, loading_state=loading_state, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, start_collapsed=start_collapsed, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Accordion', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'active_item', 'className', 'class_name', 'flush', 'key', 'loading_state', 'persisted_props', 'persistence', 'persistence_type', 'start_collapsed', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcAccordionItem <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, item_id=NULL, loading_state=NULL, style=NULL, title=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, item_id=item_id, loading_state=loading_state, style=style, title=title) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'AccordionItem', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'item_id', 'loading_state', 'style', 'title'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcAlert <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, color=NULL, dismissable=NULL, duration=NULL, fade=NULL, is_open=NULL, key=NULL, loading_state=NULL, style=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, color=color, dismissable=dismissable, duration=duration, fade=fade, is_open=is_open, key=key, loading_state=loading_state, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Alert', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'color', 'dismissable', 'duration', 'fade', 'is_open', 'key', 'loading_state', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcBadge <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, color=NULL, external_link=NULL, href=NULL, key=NULL, loading_state=NULL, n_clicks=NULL, n_clicks_timestamp=NULL, pill=NULL, style=NULL, tag=NULL, target=NULL, text_color=NULL, title=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, color=color, external_link=external_link, href=href, key=key, loading_state=loading_state, n_clicks=n_clicks, n_clicks_timestamp=n_clicks_timestamp, pill=pill, style=style, tag=tag, target=target, text_color=text_color, title=title) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Badge', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'color', 'external_link', 'href', 'key', 'loading_state', 'n_clicks', 'n_clicks_timestamp', 'pill', 'style', 'tag', 'target', 'text_color', 'title'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcBreadcrumb <- function(id=NULL, className=NULL, class_name=NULL, itemClassName=NULL, item_class_name=NULL, item_style=NULL, items=NULL, key=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(id=id, className=className, class_name=class_name, itemClassName=itemClassName, item_class_name=item_class_name, item_style=item_style, items=items, key=key, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Breadcrumb', + namespace = 'dash_bootstrap_components', + propNames = c('id', 'className', 'class_name', 'itemClassName', 'item_class_name', 'item_style', 'items', 'key', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcButton <- function(children=NULL, id=NULL, active=NULL, className=NULL, class_name=NULL, color=NULL, disabled=NULL, download=NULL, external_link=NULL, href=NULL, key=NULL, loading_state=NULL, n_clicks=NULL, n_clicks_timestamp=NULL, name=NULL, outline=NULL, size=NULL, style=NULL, target=NULL, title=NULL, type=NULL, value=NULL) { + + props <- list(children=children, id=id, active=active, className=className, class_name=class_name, color=color, disabled=disabled, download=download, external_link=external_link, href=href, key=key, loading_state=loading_state, n_clicks=n_clicks, n_clicks_timestamp=n_clicks_timestamp, name=name, outline=outline, size=size, style=style, target=target, title=title, type=type, value=value) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Button', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'active', 'className', 'class_name', 'color', 'disabled', 'download', 'external_link', 'href', 'key', 'loading_state', 'n_clicks', 'n_clicks_timestamp', 'name', 'outline', 'size', 'style', 'target', 'title', 'type', 'value'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcButtonGroup <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, size=NULL, style=NULL, vertical=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, size=size, style=style, vertical=vertical) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'ButtonGroup', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'size', 'style', 'vertical'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcCard <- function(children=NULL, id=NULL, body=NULL, className=NULL, class_name=NULL, color=NULL, inverse=NULL, key=NULL, loading_state=NULL, outline=NULL, style=NULL) { + + props <- list(children=children, id=id, body=body, className=className, class_name=class_name, color=color, inverse=inverse, key=key, loading_state=loading_state, outline=outline, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Card', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'body', 'className', 'class_name', 'color', 'inverse', 'key', 'loading_state', 'outline', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcCardBody <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'CardBody', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcCardFooter <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'CardFooter', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcCardGroup <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'CardGroup', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcCardHeader <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'CardHeader', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcCardImg <- function(children=NULL, id=NULL, alt=NULL, bottom=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, src=NULL, style=NULL, tag=NULL, title=NULL, top=NULL) { + + props <- list(children=children, id=id, alt=alt, bottom=bottom, className=className, class_name=class_name, key=key, loading_state=loading_state, src=src, style=style, tag=tag, title=title, top=top) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'CardImg', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'alt', 'bottom', 'className', 'class_name', 'key', 'loading_state', 'src', 'style', 'tag', 'title', 'top'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcCardImgOverlay <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'CardImgOverlay', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcCardLink <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, external_link=NULL, href=NULL, key=NULL, loading_state=NULL, n_clicks=NULL, n_clicks_timestamp=NULL, style=NULL, target=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, external_link=external_link, href=href, key=key, loading_state=loading_state, n_clicks=n_clicks, n_clicks_timestamp=n_clicks_timestamp, style=style, target=target) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'CardLink', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'external_link', 'href', 'key', 'loading_state', 'n_clicks', 'n_clicks_timestamp', 'style', 'target'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcCarousel <- function(id=NULL, active_index=NULL, className=NULL, class_name=NULL, controls=NULL, indicators=NULL, interval=NULL, items=NULL, loading_state=NULL, ride=NULL, slide=NULL, style=NULL, variant=NULL) { + + props <- list(id=id, active_index=active_index, className=className, class_name=class_name, controls=controls, indicators=indicators, interval=interval, items=items, loading_state=loading_state, ride=ride, slide=slide, style=style, variant=variant) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Carousel', + namespace = 'dash_bootstrap_components', + propNames = c('id', 'active_index', 'className', 'class_name', 'controls', 'indicators', 'interval', 'items', 'loading_state', 'ride', 'slide', 'style', 'variant'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcCheckbox <- function(id=NULL, className=NULL, class_name=NULL, disabled=NULL, inputClassName=NULL, inputStyle=NULL, input_class_name=NULL, input_style=NULL, label=NULL, labelClassName=NULL, labelStyle=NULL, label_class_name=NULL, label_id=NULL, label_style=NULL, loading_state=NULL, name=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, style=NULL, value=NULL) { + + props <- list(id=id, className=className, class_name=class_name, disabled=disabled, inputClassName=inputClassName, inputStyle=inputStyle, input_class_name=input_class_name, input_style=input_style, label=label, labelClassName=labelClassName, labelStyle=labelStyle, label_class_name=label_class_name, label_id=label_id, label_style=label_style, loading_state=loading_state, name=name, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, style=style, value=value) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Checkbox', + namespace = 'dash_bootstrap_components', + propNames = c('id', 'className', 'class_name', 'disabled', 'inputClassName', 'inputStyle', 'input_class_name', 'input_style', 'label', 'labelClassName', 'labelStyle', 'label_class_name', 'label_id', 'label_style', 'loading_state', 'name', 'persisted_props', 'persistence', 'persistence_type', 'style', 'value'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcChecklist <- function(id=NULL, className=NULL, class_name=NULL, inline=NULL, inputCheckedClassName=NULL, inputCheckedStyle=NULL, inputClassName=NULL, inputStyle=NULL, input_checked_class_name=NULL, input_checked_style=NULL, input_class_name=NULL, input_style=NULL, key=NULL, labelCheckedClassName=NULL, labelCheckedStyle=NULL, labelClassName=NULL, labelStyle=NULL, label_checked_class_name=NULL, label_checked_style=NULL, label_class_name=NULL, label_style=NULL, loading_state=NULL, name=NULL, options=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, style=NULL, switch=NULL, value=NULL) { + + props <- list(id=id, className=className, class_name=class_name, inline=inline, inputCheckedClassName=inputCheckedClassName, inputCheckedStyle=inputCheckedStyle, inputClassName=inputClassName, inputStyle=inputStyle, input_checked_class_name=input_checked_class_name, input_checked_style=input_checked_style, input_class_name=input_class_name, input_style=input_style, key=key, labelCheckedClassName=labelCheckedClassName, labelCheckedStyle=labelCheckedStyle, labelClassName=labelClassName, labelStyle=labelStyle, label_checked_class_name=label_checked_class_name, label_checked_style=label_checked_style, label_class_name=label_class_name, label_style=label_style, loading_state=loading_state, name=name, options=options, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, style=style, switch=switch, value=value) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Checklist', + namespace = 'dash_bootstrap_components', + propNames = c('id', 'className', 'class_name', 'inline', 'inputCheckedClassName', 'inputCheckedStyle', 'inputClassName', 'inputStyle', 'input_checked_class_name', 'input_checked_style', 'input_class_name', 'input_style', 'key', 'labelCheckedClassName', 'labelCheckedStyle', 'labelClassName', 'labelStyle', 'label_checked_class_name', 'label_checked_style', 'label_class_name', 'label_style', 'loading_state', 'name', 'options', 'persisted_props', 'persistence', 'persistence_type', 'style', 'switch', 'value'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcCol <- function(children=NULL, id=NULL, align=NULL, className=NULL, class_name=NULL, key=NULL, lg=NULL, loading_state=NULL, md=NULL, sm=NULL, style=NULL, width=NULL, xl=NULL, xs=NULL, xxl=NULL) { + + props <- list(children=children, id=id, align=align, className=className, class_name=class_name, key=key, lg=lg, loading_state=loading_state, md=md, sm=sm, style=style, width=width, xl=xl, xs=xs, xxl=xxl) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Col', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'align', 'className', 'class_name', 'key', 'lg', 'loading_state', 'md', 'sm', 'style', 'width', 'xl', 'xs', 'xxl'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcCollapse <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, is_open=NULL, key=NULL, loading_state=NULL, navbar=NULL, style=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, is_open=is_open, key=key, loading_state=loading_state, navbar=navbar, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Collapse', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'is_open', 'key', 'loading_state', 'navbar', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcContainer <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, fluid=NULL, key=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, fluid=fluid, key=key, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Container', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'fluid', 'key', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcDropdownMenu <- function(children=NULL, id=NULL, addon_type=NULL, align_end=NULL, caret=NULL, className=NULL, class_name=NULL, color=NULL, direction=NULL, disabled=NULL, group=NULL, in_navbar=NULL, key=NULL, label=NULL, loading_state=NULL, menu_variant=NULL, nav=NULL, right=NULL, size=NULL, style=NULL, toggleClassName=NULL, toggle_class_name=NULL, toggle_style=NULL) { + + props <- list(children=children, id=id, addon_type=addon_type, align_end=align_end, caret=caret, className=className, class_name=class_name, color=color, direction=direction, disabled=disabled, group=group, in_navbar=in_navbar, key=key, label=label, loading_state=loading_state, menu_variant=menu_variant, nav=nav, right=right, size=size, style=style, toggleClassName=toggleClassName, toggle_class_name=toggle_class_name, toggle_style=toggle_style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'DropdownMenu', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'addon_type', 'align_end', 'caret', 'className', 'class_name', 'color', 'direction', 'disabled', 'group', 'in_navbar', 'key', 'label', 'loading_state', 'menu_variant', 'nav', 'right', 'size', 'style', 'toggleClassName', 'toggle_class_name', 'toggle_style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcDropdownMenuItem <- function(children=NULL, id=NULL, active=NULL, className=NULL, class_name=NULL, disabled=NULL, divider=NULL, external_link=NULL, header=NULL, href=NULL, key=NULL, loading_state=NULL, n_clicks=NULL, n_clicks_timestamp=NULL, style=NULL, target=NULL, toggle=NULL) { + + props <- list(children=children, id=id, active=active, className=className, class_name=class_name, disabled=disabled, divider=divider, external_link=external_link, header=header, href=href, key=key, loading_state=loading_state, n_clicks=n_clicks, n_clicks_timestamp=n_clicks_timestamp, style=style, target=target, toggle=toggle) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'DropdownMenuItem', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'active', 'className', 'class_name', 'disabled', 'divider', 'external_link', 'header', 'href', 'key', 'loading_state', 'n_clicks', 'n_clicks_timestamp', 'style', 'target', 'toggle'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcFade <- function(children=NULL, id=NULL, appear=NULL, className=NULL, class_name=NULL, enter=NULL, exit=NULL, is_in=NULL, key=NULL, loading_state=NULL, style=NULL, tag=NULL, timeout=NULL) { + + props <- list(children=children, id=id, appear=appear, className=className, class_name=class_name, enter=enter, exit=exit, is_in=is_in, key=key, loading_state=loading_state, style=style, tag=tag, timeout=timeout) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Fade', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'appear', 'className', 'class_name', 'enter', 'exit', 'is_in', 'key', 'loading_state', 'style', 'tag', 'timeout'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcForm <- function(children=NULL, id=NULL, action=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, method=NULL, n_submit=NULL, n_submit_timestamp=NULL, prevent_default_on_submit=NULL, style=NULL) { + + props <- list(children=children, id=id, action=action, className=className, class_name=class_name, key=key, loading_state=loading_state, method=method, n_submit=n_submit, n_submit_timestamp=n_submit_timestamp, prevent_default_on_submit=prevent_default_on_submit, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Form', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'action', 'className', 'class_name', 'key', 'loading_state', 'method', 'n_submit', 'n_submit_timestamp', 'prevent_default_on_submit', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcFormFeedback <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, style=NULL, tooltip=NULL, type=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, style=style, tooltip=tooltip, type=type) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'FormFeedback', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'style', 'tooltip', 'type'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcFormFloating <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, html_for=NULL, key=NULL, loading_state=NULL, style=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, html_for=html_for, key=key, loading_state=loading_state, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'FormFloating', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'html_for', 'key', 'loading_state', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcFormText <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, color=NULL, key=NULL, loading_state=NULL, style=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, color=color, key=key, loading_state=loading_state, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'FormText', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'color', 'key', 'loading_state', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcInput <- function(id=NULL, autoComplete=NULL, autoFocus=NULL, autocomplete=NULL, autofocus=NULL, className=NULL, class_name=NULL, debounce=NULL, disabled=NULL, html_size=NULL, inputMode=NULL, inputmode=NULL, invalid=NULL, key=NULL, list=NULL, loading_state=NULL, max=NULL, maxLength=NULL, maxlength=NULL, min=NULL, minLength=NULL, minlength=NULL, n_blur=NULL, n_blur_timestamp=NULL, n_submit=NULL, n_submit_timestamp=NULL, name=NULL, pattern=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, placeholder=NULL, plaintext=NULL, required=NULL, size=NULL, step=NULL, style=NULL, tabIndex=NULL, tabindex=NULL, type=NULL, valid=NULL, value=NULL) { + + props <- list(id=id, autoComplete=autoComplete, autoFocus=autoFocus, autocomplete=autocomplete, autofocus=autofocus, className=className, class_name=class_name, debounce=debounce, disabled=disabled, html_size=html_size, inputMode=inputMode, inputmode=inputmode, invalid=invalid, key=key, list=list, loading_state=loading_state, max=max, maxLength=maxLength, maxlength=maxlength, min=min, minLength=minLength, minlength=minlength, n_blur=n_blur, n_blur_timestamp=n_blur_timestamp, n_submit=n_submit, n_submit_timestamp=n_submit_timestamp, name=name, pattern=pattern, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, placeholder=placeholder, plaintext=plaintext, required=required, size=size, step=step, style=style, tabIndex=tabIndex, tabindex=tabindex, type=type, valid=valid, value=value) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Input', + namespace = 'dash_bootstrap_components', + propNames = c('id', 'autoComplete', 'autoFocus', 'autocomplete', 'autofocus', 'className', 'class_name', 'debounce', 'disabled', 'html_size', 'inputMode', 'inputmode', 'invalid', 'key', 'list', 'loading_state', 'max', 'maxLength', 'maxlength', 'min', 'minLength', 'minlength', 'n_blur', 'n_blur_timestamp', 'n_submit', 'n_submit_timestamp', 'name', 'pattern', 'persisted_props', 'persistence', 'persistence_type', 'placeholder', 'plaintext', 'required', 'size', 'step', 'style', 'tabIndex', 'tabindex', 'type', 'valid', 'value'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcInputGroup <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, size=NULL, style=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, size=size, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'InputGroup', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'size', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcInputGroupText <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, style=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'InputGroupText', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcLabel <- function(children=NULL, id=NULL, align=NULL, check=NULL, className=NULL, class_name=NULL, color=NULL, hidden=NULL, html_for=NULL, key=NULL, lg=NULL, loading_state=NULL, md=NULL, size=NULL, sm=NULL, style=NULL, width=NULL, xl=NULL, xs=NULL) { + + props <- list(children=children, id=id, align=align, check=check, className=className, class_name=class_name, color=color, hidden=hidden, html_for=html_for, key=key, lg=lg, loading_state=loading_state, md=md, size=size, sm=sm, style=style, width=width, xl=xl, xs=xs) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Label', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'align', 'check', 'className', 'class_name', 'color', 'hidden', 'html_for', 'key', 'lg', 'loading_state', 'md', 'size', 'sm', 'style', 'width', 'xl', 'xs'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcListGroup <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, flush=NULL, horizontal=NULL, key=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, flush=flush, horizontal=horizontal, key=key, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'ListGroup', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'flush', 'horizontal', 'key', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcListGroupItem <- function(children=NULL, id=NULL, action=NULL, active=NULL, className=NULL, class_name=NULL, color=NULL, disabled=NULL, external_link=NULL, href=NULL, key=NULL, loading_state=NULL, n_clicks=NULL, n_clicks_timestamp=NULL, style=NULL, tag=NULL, target=NULL) { + + props <- list(children=children, id=id, action=action, active=active, className=className, class_name=class_name, color=color, disabled=disabled, external_link=external_link, href=href, key=key, loading_state=loading_state, n_clicks=n_clicks, n_clicks_timestamp=n_clicks_timestamp, style=style, tag=tag, target=target) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'ListGroupItem', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'action', 'active', 'className', 'class_name', 'color', 'disabled', 'external_link', 'href', 'key', 'loading_state', 'n_clicks', 'n_clicks_timestamp', 'style', 'tag', 'target'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcModal <- function(children=NULL, id=NULL, autoFocus=NULL, autofocus=NULL, backdrop=NULL, backdropClassName=NULL, backdrop_class_name=NULL, centered=NULL, className=NULL, class_name=NULL, contentClassName=NULL, content_class_name=NULL, fade=NULL, fullscreen=NULL, is_open=NULL, keyboard=NULL, labelledBy=NULL, labelledby=NULL, modalClassName=NULL, modal_class_name=NULL, role=NULL, scrollable=NULL, size=NULL, style=NULL, tag=NULL, zIndex=NULL, zindex=NULL) { + + props <- list(children=children, id=id, autoFocus=autoFocus, autofocus=autofocus, backdrop=backdrop, backdropClassName=backdropClassName, backdrop_class_name=backdrop_class_name, centered=centered, className=className, class_name=class_name, contentClassName=contentClassName, content_class_name=content_class_name, fade=fade, fullscreen=fullscreen, is_open=is_open, keyboard=keyboard, labelledBy=labelledBy, labelledby=labelledby, modalClassName=modalClassName, modal_class_name=modal_class_name, role=role, scrollable=scrollable, size=size, style=style, tag=tag, zIndex=zIndex, zindex=zindex) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Modal', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'autoFocus', 'autofocus', 'backdrop', 'backdropClassName', 'backdrop_class_name', 'centered', 'className', 'class_name', 'contentClassName', 'content_class_name', 'fade', 'fullscreen', 'is_open', 'keyboard', 'labelledBy', 'labelledby', 'modalClassName', 'modal_class_name', 'role', 'scrollable', 'size', 'style', 'tag', 'zIndex', 'zindex'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcModalBody <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'ModalBody', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcModalFooter <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'ModalFooter', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcModalHeader <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, close_button=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, close_button=close_button, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'ModalHeader', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'close_button', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcModalTitle <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'ModalTitle', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcNav <- function(children=NULL, id=NULL, card=NULL, className=NULL, class_name=NULL, fill=NULL, horizontal=NULL, justified=NULL, key=NULL, loading_state=NULL, navbar=NULL, navbar_scroll=NULL, pills=NULL, style=NULL, vertical=NULL) { + + props <- list(children=children, id=id, card=card, className=className, class_name=class_name, fill=fill, horizontal=horizontal, justified=justified, key=key, loading_state=loading_state, navbar=navbar, navbar_scroll=navbar_scroll, pills=pills, style=style, vertical=vertical) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Nav', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'card', 'className', 'class_name', 'fill', 'horizontal', 'justified', 'key', 'loading_state', 'navbar', 'navbar_scroll', 'pills', 'style', 'vertical'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcNavItem <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, style=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'NavItem', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcNavLink <- function(children=NULL, id=NULL, active=NULL, className=NULL, class_name=NULL, disabled=NULL, external_link=NULL, href=NULL, key=NULL, loading_state=NULL, n_clicks=NULL, n_clicks_timestamp=NULL, style=NULL, target=NULL) { + + props <- list(children=children, id=id, active=active, className=className, class_name=class_name, disabled=disabled, external_link=external_link, href=href, key=key, loading_state=loading_state, n_clicks=n_clicks, n_clicks_timestamp=n_clicks_timestamp, style=style, target=target) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'NavLink', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'active', 'className', 'class_name', 'disabled', 'external_link', 'href', 'key', 'loading_state', 'n_clicks', 'n_clicks_timestamp', 'style', 'target'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcNavbar <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, color=NULL, dark=NULL, expand=NULL, fixed=NULL, key=NULL, light=NULL, loading_state=NULL, role=NULL, sticky=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, color=color, dark=dark, expand=expand, fixed=fixed, key=key, light=light, loading_state=loading_state, role=role, sticky=sticky, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Navbar', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'color', 'dark', 'expand', 'fixed', 'key', 'light', 'loading_state', 'role', 'sticky', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcNavbarBrand <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, external_link=NULL, href=NULL, key=NULL, loading_state=NULL, style=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, external_link=external_link, href=href, key=key, loading_state=loading_state, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'NavbarBrand', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'external_link', 'href', 'key', 'loading_state', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcNavbarSimple <- function(children=NULL, id=NULL, brand=NULL, brand_external_link=NULL, brand_href=NULL, brand_style=NULL, className=NULL, class_name=NULL, color=NULL, dark=NULL, expand=NULL, fixed=NULL, fluid=NULL, key=NULL, light=NULL, links_left=NULL, loading_state=NULL, sticky=NULL, style=NULL) { + + props <- list(children=children, id=id, brand=brand, brand_external_link=brand_external_link, brand_href=brand_href, brand_style=brand_style, className=className, class_name=class_name, color=color, dark=dark, expand=expand, fixed=fixed, fluid=fluid, key=key, light=light, links_left=links_left, loading_state=loading_state, sticky=sticky, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'NavbarSimple', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'brand', 'brand_external_link', 'brand_href', 'brand_style', 'className', 'class_name', 'color', 'dark', 'expand', 'fixed', 'fluid', 'key', 'light', 'links_left', 'loading_state', 'sticky', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcNavbarToggler <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, n_clicks=NULL, n_clicks_timestamp=NULL, style=NULL, type=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, n_clicks=n_clicks, n_clicks_timestamp=n_clicks_timestamp, style=style, type=type) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'NavbarToggler', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'n_clicks', 'n_clicks_timestamp', 'style', 'type'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcOffcanvas <- function(children=NULL, id=NULL, autoFocus=NULL, autofocus=NULL, backdrop=NULL, backdropClassName=NULL, backdrop_class_name=NULL, className=NULL, class_name=NULL, close_button=NULL, is_open=NULL, keyboard=NULL, labelledBy=NULL, labelledby=NULL, loading_state=NULL, placement=NULL, scrollable=NULL, style=NULL, title=NULL) { + + props <- list(children=children, id=id, autoFocus=autoFocus, autofocus=autofocus, backdrop=backdrop, backdropClassName=backdropClassName, backdrop_class_name=backdrop_class_name, className=className, class_name=class_name, close_button=close_button, is_open=is_open, keyboard=keyboard, labelledBy=labelledBy, labelledby=labelledby, loading_state=loading_state, placement=placement, scrollable=scrollable, style=style, title=title) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Offcanvas', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'autoFocus', 'autofocus', 'backdrop', 'backdropClassName', 'backdrop_class_name', 'className', 'class_name', 'close_button', 'is_open', 'keyboard', 'labelledBy', 'labelledby', 'loading_state', 'placement', 'scrollable', 'style', 'title'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcPagination <- function(id=NULL, active_page=NULL, className=NULL, class_name=NULL, first_last=NULL, fully_expanded=NULL, loading_state=NULL, max_value=NULL, min_value=NULL, previous_next=NULL, size=NULL, step=NULL, style=NULL) { + + props <- list(id=id, active_page=active_page, className=className, class_name=class_name, first_last=first_last, fully_expanded=fully_expanded, loading_state=loading_state, max_value=max_value, min_value=min_value, previous_next=previous_next, size=size, step=step, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Pagination', + namespace = 'dash_bootstrap_components', + propNames = c('id', 'active_page', 'className', 'class_name', 'first_last', 'fully_expanded', 'loading_state', 'max_value', 'min_value', 'previous_next', 'size', 'step', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcPopover <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, delay=NULL, flip=NULL, hide_arrow=NULL, innerClassName=NULL, inner_class_name=NULL, is_open=NULL, key=NULL, loading_state=NULL, offset=NULL, placement=NULL, style=NULL, target=NULL, trigger=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, delay=delay, flip=flip, hide_arrow=hide_arrow, innerClassName=innerClassName, inner_class_name=inner_class_name, is_open=is_open, key=key, loading_state=loading_state, offset=offset, placement=placement, style=style, target=target, trigger=trigger) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Popover', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'delay', 'flip', 'hide_arrow', 'innerClassName', 'inner_class_name', 'is_open', 'key', 'loading_state', 'offset', 'placement', 'style', 'target', 'trigger'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcPopoverBody <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'PopoverBody', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcPopoverHeader <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, key=key, loading_state=loading_state, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'PopoverHeader', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'key', 'loading_state', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcProgress <- function(children=NULL, id=NULL, animated=NULL, bar=NULL, className=NULL, class_name=NULL, color=NULL, hide_label=NULL, key=NULL, label=NULL, loading_state=NULL, max=NULL, min=NULL, striped=NULL, style=NULL, value=NULL) { + + props <- list(children=children, id=id, animated=animated, bar=bar, className=className, class_name=class_name, color=color, hide_label=hide_label, key=key, label=label, loading_state=loading_state, max=max, min=min, striped=striped, style=style, value=value) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Progress', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'animated', 'bar', 'className', 'class_name', 'color', 'hide_label', 'key', 'label', 'loading_state', 'max', 'min', 'striped', 'style', 'value'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcRadioButton <- function(id=NULL, className=NULL, class_name=NULL, disabled=NULL, inputClassName=NULL, inputStyle=NULL, input_class_name=NULL, input_style=NULL, label=NULL, labelClassName=NULL, labelStyle=NULL, label_class_name=NULL, label_id=NULL, label_style=NULL, loading_state=NULL, name=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, style=NULL, value=NULL) { + + props <- list(id=id, className=className, class_name=class_name, disabled=disabled, inputClassName=inputClassName, inputStyle=inputStyle, input_class_name=input_class_name, input_style=input_style, label=label, labelClassName=labelClassName, labelStyle=labelStyle, label_class_name=label_class_name, label_id=label_id, label_style=label_style, loading_state=loading_state, name=name, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, style=style, value=value) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'RadioButton', + namespace = 'dash_bootstrap_components', + propNames = c('id', 'className', 'class_name', 'disabled', 'inputClassName', 'inputStyle', 'input_class_name', 'input_style', 'label', 'labelClassName', 'labelStyle', 'label_class_name', 'label_id', 'label_style', 'loading_state', 'name', 'persisted_props', 'persistence', 'persistence_type', 'style', 'value'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcRadioItems <- function(id=NULL, className=NULL, class_name=NULL, inline=NULL, inputCheckedClassName=NULL, inputCheckedStyle=NULL, inputClassName=NULL, inputStyle=NULL, input_checked_class_name=NULL, input_checked_style=NULL, input_class_name=NULL, input_style=NULL, key=NULL, labelCheckedClassName=NULL, labelCheckedStyle=NULL, labelClassName=NULL, labelStyle=NULL, label_checked_class_name=NULL, label_checked_style=NULL, label_class_name=NULL, label_style=NULL, loading_state=NULL, name=NULL, options=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, style=NULL, switch=NULL, value=NULL) { + + props <- list(id=id, className=className, class_name=class_name, inline=inline, inputCheckedClassName=inputCheckedClassName, inputCheckedStyle=inputCheckedStyle, inputClassName=inputClassName, inputStyle=inputStyle, input_checked_class_name=input_checked_class_name, input_checked_style=input_checked_style, input_class_name=input_class_name, input_style=input_style, key=key, labelCheckedClassName=labelCheckedClassName, labelCheckedStyle=labelCheckedStyle, labelClassName=labelClassName, labelStyle=labelStyle, label_checked_class_name=label_checked_class_name, label_checked_style=label_checked_style, label_class_name=label_class_name, label_style=label_style, loading_state=loading_state, name=name, options=options, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, style=style, switch=switch, value=value) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'RadioItems', + namespace = 'dash_bootstrap_components', + propNames = c('id', 'className', 'class_name', 'inline', 'inputCheckedClassName', 'inputCheckedStyle', 'inputClassName', 'inputStyle', 'input_checked_class_name', 'input_checked_style', 'input_class_name', 'input_style', 'key', 'labelCheckedClassName', 'labelCheckedStyle', 'labelClassName', 'labelStyle', 'label_checked_class_name', 'label_checked_style', 'label_class_name', 'label_style', 'loading_state', 'name', 'options', 'persisted_props', 'persistence', 'persistence_type', 'style', 'switch', 'value'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcRow <- function(children=NULL, id=NULL, align=NULL, className=NULL, class_name=NULL, justify=NULL, key=NULL, loading_state=NULL, style=NULL) { + + props <- list(children=children, id=id, align=align, className=className, class_name=class_name, justify=justify, key=key, loading_state=loading_state, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Row', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'align', 'className', 'class_name', 'justify', 'key', 'loading_state', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcSelect <- function(id=NULL, className=NULL, class_name=NULL, disabled=NULL, html_size=NULL, invalid=NULL, key=NULL, name=NULL, options=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, placeholder=NULL, required=NULL, size=NULL, style=NULL, valid=NULL, value=NULL) { + + props <- list(id=id, className=className, class_name=class_name, disabled=disabled, html_size=html_size, invalid=invalid, key=key, name=name, options=options, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, placeholder=placeholder, required=required, size=size, style=style, valid=valid, value=value) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Select', + namespace = 'dash_bootstrap_components', + propNames = c('id', 'className', 'class_name', 'disabled', 'html_size', 'invalid', 'key', 'name', 'options', 'persisted_props', 'persistence', 'persistence_type', 'placeholder', 'required', 'size', 'style', 'valid', 'value'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcSpinner <- function(children=NULL, id=NULL, color=NULL, delay_hide=NULL, delay_show=NULL, fullscreen=NULL, fullscreenClassName=NULL, fullscreen_class_name=NULL, fullscreen_style=NULL, show_initially=NULL, size=NULL, spinnerClassName=NULL, spinner_class_name=NULL, spinner_style=NULL, type=NULL) { + + props <- list(children=children, id=id, color=color, delay_hide=delay_hide, delay_show=delay_show, fullscreen=fullscreen, fullscreenClassName=fullscreenClassName, fullscreen_class_name=fullscreen_class_name, fullscreen_style=fullscreen_style, show_initially=show_initially, size=size, spinnerClassName=spinnerClassName, spinner_class_name=spinner_class_name, spinner_style=spinner_style, type=type) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Spinner', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'color', 'delay_hide', 'delay_show', 'fullscreen', 'fullscreenClassName', 'fullscreen_class_name', 'fullscreen_style', 'show_initially', 'size', 'spinnerClassName', 'spinner_class_name', 'spinner_style', 'type'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcSwitch <- function(id=NULL, className=NULL, class_name=NULL, disabled=NULL, inputClassName=NULL, inputStyle=NULL, input_class_name=NULL, input_style=NULL, label=NULL, labelClassName=NULL, labelStyle=NULL, label_class_name=NULL, label_id=NULL, label_style=NULL, loading_state=NULL, name=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, style=NULL, value=NULL) { + + props <- list(id=id, className=className, class_name=class_name, disabled=disabled, inputClassName=inputClassName, inputStyle=inputStyle, input_class_name=input_class_name, input_style=input_style, label=label, labelClassName=labelClassName, labelStyle=labelStyle, label_class_name=label_class_name, label_id=label_id, label_style=label_style, loading_state=loading_state, name=name, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, style=style, value=value) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Switch', + namespace = 'dash_bootstrap_components', + propNames = c('id', 'className', 'class_name', 'disabled', 'inputClassName', 'inputStyle', 'input_class_name', 'input_style', 'label', 'labelClassName', 'labelStyle', 'label_class_name', 'label_id', 'label_style', 'loading_state', 'name', 'persisted_props', 'persistence', 'persistence_type', 'style', 'value'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcTab <- function(children=NULL, id=NULL, activeLabelClassName=NULL, activeTabClassName=NULL, active_label_class_name=NULL, active_label_style=NULL, active_tab_class_name=NULL, active_tab_style=NULL, className=NULL, class_name=NULL, disabled=NULL, key=NULL, label=NULL, labelClassName=NULL, label_class_name=NULL, label_style=NULL, loading_state=NULL, style=NULL, tabClassName=NULL, tab_class_name=NULL, tab_id=NULL, tab_style=NULL) { + + props <- list(children=children, id=id, activeLabelClassName=activeLabelClassName, activeTabClassName=activeTabClassName, active_label_class_name=active_label_class_name, active_label_style=active_label_style, active_tab_class_name=active_tab_class_name, active_tab_style=active_tab_style, className=className, class_name=class_name, disabled=disabled, key=key, label=label, labelClassName=labelClassName, label_class_name=label_class_name, label_style=label_style, loading_state=loading_state, style=style, tabClassName=tabClassName, tab_class_name=tab_class_name, tab_id=tab_id, tab_style=tab_style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Tab', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'activeLabelClassName', 'activeTabClassName', 'active_label_class_name', 'active_label_style', 'active_tab_class_name', 'active_tab_style', 'className', 'class_name', 'disabled', 'key', 'label', 'labelClassName', 'label_class_name', 'label_style', 'loading_state', 'style', 'tabClassName', 'tab_class_name', 'tab_id', 'tab_style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcTable <- function(children=NULL, id=NULL, bordered=NULL, borderless=NULL, className=NULL, class_name=NULL, color=NULL, dark=NULL, hover=NULL, key=NULL, loading_state=NULL, responsive=NULL, size=NULL, striped=NULL, style=NULL) { + + props <- list(children=children, id=id, bordered=bordered, borderless=borderless, className=className, class_name=class_name, color=color, dark=dark, hover=hover, key=key, loading_state=loading_state, responsive=responsive, size=size, striped=striped, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Table', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'bordered', 'borderless', 'className', 'class_name', 'color', 'dark', 'hover', 'key', 'loading_state', 'responsive', 'size', 'striped', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcTabs <- function(children=NULL, id=NULL, active_tab=NULL, className=NULL, class_name=NULL, key=NULL, loading_state=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, style=NULL) { + + props <- list(children=children, id=id, active_tab=active_tab, className=className, class_name=class_name, key=key, loading_state=loading_state, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, style=style) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Tabs', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'active_tab', 'className', 'class_name', 'key', 'loading_state', 'persisted_props', 'persistence', 'persistence_type', 'style'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcTextarea <- function(id=NULL, accessKey=NULL, accesskey=NULL, autoFocus=NULL, autofocus=NULL, className=NULL, class_name=NULL, cols=NULL, contentEditable=NULL, contenteditable=NULL, contextMenu=NULL, contextmenu=NULL, debounce=NULL, dir=NULL, disabled=NULL, draggable=NULL, form=NULL, hidden=NULL, invalid=NULL, key=NULL, lang=NULL, loading_state=NULL, maxLength=NULL, maxlength=NULL, minLength=NULL, minlength=NULL, n_blur=NULL, n_blur_timestamp=NULL, n_clicks=NULL, n_clicks_timestamp=NULL, n_submit=NULL, n_submit_timestamp=NULL, name=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, placeholder=NULL, readOnly=NULL, readonly=NULL, required=NULL, rows=NULL, size=NULL, spellCheck=NULL, spellcheck=NULL, style=NULL, tabIndex=NULL, tabindex=NULL, title=NULL, valid=NULL, value=NULL, wrap=NULL) { + + props <- list(id=id, accessKey=accessKey, accesskey=accesskey, autoFocus=autoFocus, autofocus=autofocus, className=className, class_name=class_name, cols=cols, contentEditable=contentEditable, contenteditable=contenteditable, contextMenu=contextMenu, contextmenu=contextmenu, debounce=debounce, dir=dir, disabled=disabled, draggable=draggable, form=form, hidden=hidden, invalid=invalid, key=key, lang=lang, loading_state=loading_state, maxLength=maxLength, maxlength=maxlength, minLength=minLength, minlength=minlength, n_blur=n_blur, n_blur_timestamp=n_blur_timestamp, n_clicks=n_clicks, n_clicks_timestamp=n_clicks_timestamp, n_submit=n_submit, n_submit_timestamp=n_submit_timestamp, name=name, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, placeholder=placeholder, readOnly=readOnly, readonly=readonly, required=required, rows=rows, size=size, spellCheck=spellCheck, spellcheck=spellcheck, style=style, tabIndex=tabIndex, tabindex=tabindex, title=title, valid=valid, value=value, wrap=wrap) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Textarea', + namespace = 'dash_bootstrap_components', + propNames = c('id', 'accessKey', 'accesskey', 'autoFocus', 'autofocus', 'className', 'class_name', 'cols', 'contentEditable', 'contenteditable', 'contextMenu', 'contextmenu', 'debounce', 'dir', 'disabled', 'draggable', 'form', 'hidden', 'invalid', 'key', 'lang', 'loading_state', 'maxLength', 'maxlength', 'minLength', 'minlength', 'n_blur', 'n_blur_timestamp', 'n_clicks', 'n_clicks_timestamp', 'n_submit', 'n_submit_timestamp', 'name', 'persisted_props', 'persistence', 'persistence_type', 'placeholder', 'readOnly', 'readonly', 'required', 'rows', 'size', 'spellCheck', 'spellcheck', 'style', 'tabIndex', 'tabindex', 'title', 'valid', 'value', 'wrap'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcToast <- function(children=NULL, id=NULL, bodyClassName=NULL, body_class_name=NULL, body_style=NULL, className=NULL, class_name=NULL, color=NULL, dismissable=NULL, duration=NULL, header=NULL, headerClassName=NULL, header_class_name=NULL, header_style=NULL, icon=NULL, is_open=NULL, key=NULL, loading_state=NULL, n_dismiss=NULL, n_dismiss_timestamp=NULL, style=NULL, tag=NULL) { + + props <- list(children=children, id=id, bodyClassName=bodyClassName, body_class_name=body_class_name, body_style=body_style, className=className, class_name=class_name, color=color, dismissable=dismissable, duration=duration, header=header, headerClassName=headerClassName, header_class_name=header_class_name, header_style=header_style, icon=icon, is_open=is_open, key=key, loading_state=loading_state, n_dismiss=n_dismiss, n_dismiss_timestamp=n_dismiss_timestamp, style=style, tag=tag) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Toast', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'bodyClassName', 'body_class_name', 'body_style', 'className', 'class_name', 'color', 'dismissable', 'duration', 'header', 'headerClassName', 'header_class_name', 'header_style', 'icon', 'is_open', 'key', 'loading_state', 'n_dismiss', 'n_dismiss_timestamp', 'style', 'tag'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +# AUTO GENERATED FILE - DO NOT EDIT + +#' @export +dbcTooltip <- function(children=NULL, id=NULL, className=NULL, class_name=NULL, delay=NULL, flip=NULL, key=NULL, loading_state=NULL, placement=NULL, style=NULL, target=NULL) { + + props <- list(children=children, id=id, className=className, class_name=class_name, delay=delay, flip=flip, key=key, loading_state=loading_state, placement=placement, style=style, target=target) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Tooltip', + namespace = 'dash_bootstrap_components', + propNames = c('children', 'id', 'className', 'class_name', 'delay', 'flip', 'key', 'loading_state', 'placement', 'style', 'target'), + package = 'dashBootstrapComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} + +#' @export +dbcIcons <- list( + BOOTSTRAP = "https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css", + FONT_AWESOME = "https://use.fontawesome.com/releases/v5.15.4/css/all.css" +) + +.prependBootswatch <- function(suffix) { + BOOTSWATCH_BASE <- "https://cdn.jsdelivr.net/npm/bootswatch@5.1.0/dist/" + return(paste(BOOTSWATCH_BASE, suffix, sep="")) +} + +#' @export +dbcThemes <- list( + BOOTSTRAP = "https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css", + GRID = "https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap-grid.min.css", + CERULEAN = .prependBootswatch("cerulean/bootstrap.min.css"), + COSMO = .prependBootswatch("cosmo/bootstrap.min.css"), + CYBORG = .prependBootswatch("cyborg/bootstrap.min.css"), + DARKLY = .prependBootswatch("darkly/bootstrap.min.css"), + FLATLY = .prependBootswatch("flatly/bootstrap.min.css"), + JOURNAL = .prependBootswatch("journal/bootstrap.min.css"), + LITERA = .prependBootswatch("litera/bootstrap.min.css"), + LUMEN = .prependBootswatch("lumen/bootstrap.min.css"), + LUX = .prependBootswatch("lux/bootstrap.min.css"), + MATERIA = .prependBootswatch("materia/bootstrap.min.css"), + MINTY = .prependBootswatch("minty/bootstrap.min.css"), + MORPH = .prependBootswatch("morph/bootstrap.min.css"), + PULSE = .prependBootswatch("pulse/bootstrap.min.css"), + QUARTZ = .prependBootswatch("quartz/bootstrap.min.css"), + SANDSTONE = .prependBootswatch("sandstone/bootstrap.min.css"), + SIMPLEX = .prependBootswatch("simplex/bootstrap.min.css"), + SKETCHY = .prependBootswatch("sketchy/bootstrap.min.css"), + SLATE = .prependBootswatch("slate/bootstrap.min.css"), + SOLAR = .prependBootswatch("solar/bootstrap.min.css"), + SPACELAB = .prependBootswatch("spacelab/bootstrap.min.css"), + SUPERHERO = .prependBootswatch("superhero/bootstrap.min.css"), + UNITED = .prependBootswatch("united/bootstrap.min.css"), + VAPOR = .prependBootswatch("vapor/bootstrap.min.css"), + YETI = .prependBootswatch("yeti/bootstrap.min.css"), + ZEPHYR = .prependBootswatch("zephyr/bootstrap.min.css") +) diff --git a/R/internal.R b/R/internal.R index 0764307a..7fe4f38c 100644 --- a/R/internal.R +++ b/R/internal.R @@ -328,3 +328,14 @@ all_files = FALSE, dynamic = TRUE), class = "html_dependency")) return(deps_metadata) } + +.dashBootstrapComponents_js_metadata <- function() { +deps_metadata <- list(`dash_bootstrap_components` = structure(list(name = "dash_bootstrap_components", +version = "1.0.0-dev", src = list(href = NULL, +file = "deps"), meta = NULL, +script = '_components/dash_bootstrap_components.min.js', +stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", +all_files = FALSE), class = "html_dependency")) +return(deps_metadata) +} + diff --git a/gulp-assets/internal.template b/gulp-assets/internal.template index 04494468..a3a2d054 100644 --- a/gulp-assets/internal.template +++ b/gulp-assets/internal.template @@ -116,3 +116,5 @@ {html_deps} {table_deps} + +{dbc_deps} diff --git a/gulpfile.js b/gulpfile.js index 1da36b84..da3fe998 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -15,14 +15,18 @@ const retrieveAssets = async () => { 'dash-core-components', 'dash-html-components', 'dash-table', + 'dash-bootstrap-components', ]; shell.cd(assetsPath); - shell.exec('git clone --depth=1 https://github.com/plotly/dash'); + shell.exec('git clone https://github.com/plotly/dash'); + shell.exec( + 'git clone https://github.com/facultyai/dash-bootstrap-components && cd dash-bootstrap-components && npm i && pip install -r requirements-dev.txt && cd ../' + ); shell.cd(path.resolve(assetsPath, 'dash')); - shell.exec('npm i && npm run build'); + shell.exec('git checkout update-r-generation && npm i && npm run build'); shell.exec( - 'pip install -r requires-dev.txt && pip install black && pip install -e .' + 'pip install -r requires-dev.txt -r requires-ci.txt && pip install -e .' ); shell.mv( path.resolve(assetsPath, 'dash', 'components', '*'), @@ -75,7 +79,23 @@ function copyTableInstDirectory() { return log('Unable to find dash-table `inst` directory.'); } -// Update the man directories for each of the component packages. +function copyBootstrapInstDirectory() { + if ( + fs.existsSync( + path.resolve( + __dirname, + 'gulp-assets/dash-bootstrap-components/inst' + ) + ) + ) { + return src(['gulp-assets/dash-bootstrap-components/inst/deps/**/*']) + .pipe(print()) + .pipe(dest('inst/deps', {overwrite: true})); + } + return log('Unable to find dash-bootstrap-components `inst` directory.'); +} + +// // Update the man directories for each of the component packages. function copyCoreManDirectory() { if ( fs.existsSync( @@ -114,6 +134,23 @@ function copyTableManDirectory() { return log('Unable to find dash-table `man` directory.'); } +function copyBootstrapManDirectory() { + if ( + fs.existsSync( + path.relative( + __dirname, + 'gulp-assets/dash-bootstrap-components/man' + ) + ) + ) { + return src([ + 'gulp-assets/dash-bootstrap-components/man/**/*', + '!gulp-assets/dash-bootstrap-components/man/*-package.Rd', + ]).pipe(dest('man/', {overwrite: true})); + } + return log('Unable to find dash-bootstrap-components `man` directory.'); +} + // Update the R directories for each of the component packages. function copyCoreRDirectory() { if ( @@ -162,6 +199,24 @@ function copyTableRDirectory() { return log('Unable to find dash-table `R` directory.'); } +function copyBootstrapRDirectory() { + if ( + fs.existsSync( + path.relative(__dirname, 'gulp-assets/dash-bootstrap-components/R') + ) + ) { + return src([ + 'gulp-assets/dash-bootstrap-components/R/**/*', + '!gulp-assets/dash-bootstrap-components/R/internal.R', + ]) + .pipe(print()) + .pipe(concat('dashBootstrapComponents.R')) + .pipe(replace(/#'\s@export'/g, "#' @export")) + .pipe(dest('R/', {overwrite: true})); + } + return log('Unable to find dash-bootstrap-components `R` directory.'); +} + // Append the internal.R for each of the component packages to the DashR internal.R. function appendCoreInternal() { return src('gulp-assets/internal.template') @@ -200,6 +255,20 @@ function appendTableInternal() { .pipe(dest('R/', {overwrite: true})); } +function appendBootstrapInternal() { + return src('R/internal.R') + .pipe(print()) + .pipe( + replace( + '{dbc_deps}', + fs.readFileSync( + 'gulp-assets/dash-bootstrap-components/R/internal.R' + ) + ) + ) + .pipe(dest('R/', {overwrite: true})); +} + // Point dependency sourcing to Dash package. function replacePackageDependency() { return src('R/internal.R') @@ -207,6 +276,9 @@ function replacePackageDependency() { .pipe(replace(/package = "dashCoreComponents"/g, 'package = "dash"')) .pipe(replace(/package = "dashHtmlComponents"/g, 'package = "dash"')) .pipe(replace(/package = "dashTable"/g, 'package = "dash"')) + .pipe( + replace(/package = "dashBootstrapComponents"/g, 'package = "dash"') + ) .pipe(replace(/name = "dcc\//g, 'name = "')) .pipe( replace( @@ -232,6 +304,12 @@ function replacePackageDependency() { '`dash_table` = structure(list(name = "dash_table",' ) ) + .pipe( + replace( + /`html\/dash_bootstrap_components.+name\s=\s.+",$/gm, + '`dash_bootstrap_components` = structure(list(name = "dash_bootstrap_components",' + ) + ) .pipe(dest('R/')); } @@ -240,7 +318,7 @@ const cleanAssets = async () => { const assetsPath = path.resolve(__dirname, 'gulp-assets'); shell.cd(assetsPath); shell.exec( - 'rm -rfv dash-core-components dash-html-components dash-table dash' + 'rm -rfv dash-core-components dash-html-components dash-table dash-bootstrap-components dash' ); }; @@ -253,16 +331,28 @@ exports.unify = series( parallel( copyCoreInstDirectory, copyHtmlInstDirectory, - copyTableInstDirectory + copyTableInstDirectory, + copyBootstrapInstDirectory ), - parallel(copyCoreManDirectory, copyHtmlManDirectory, copyTableManDirectory), - parallel(copyCoreRDirectory, copyHtmlRDirectory, copyTableRDirectory) + parallel( + copyCoreManDirectory, + copyHtmlManDirectory, + copyTableManDirectory, + copyBootstrapManDirectory + ), + parallel( + copyCoreRDirectory, + copyHtmlRDirectory, + copyTableRDirectory, + copyBootstrapRDirectory + ) ); exports.update = series( appendCoreInternal, appendHtmlInternal, appendTableInternal, + appendBootstrapInternal, replacePackageDependency, document ); diff --git a/inst/deps/_components/dash_bootstrap_components.min.js b/inst/deps/_components/dash_bootstrap_components.min.js new file mode 100644 index 00000000..e4e7fed8 --- /dev/null +++ b/inst/deps/_components/dash_bootstrap_components.min.js @@ -0,0 +1,14 @@ +window.dash_bootstrap_components=function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=43)}([function(e,t,n){e.exports=n(30)()},function(e,t){e.exports=window.React},function(e,t,n){"use strict";e.exports=n(32)},function(e,t,n){var a; +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s},e.exports.default=e.exports,e.exports.__esModule=!0},,function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var a=n(34),r=n(35),s=n(36),o=n(38);e.exports=function(e,t){return a(e)||r(e,t)||s(e,t)||o()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=window.ReactDOM},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=n=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";var a=function(){};e.exports=a},function(e,t,n){"use strict";e.exports=function(e,t,n,a,r,s,o,i){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,a,r,s,o,i],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},function(e,t,n){e.exports=n(42)},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.default=e.exports,e.exports.__esModule=!0,n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(e,t,n,a,r,s,o){try{var i=e[s](o),l=i.value}catch(e){return void n(e)}i.done?t(l):Promise.resolve(l).then(a,r)}e.exports=function(e){return function(){var t=this,a=arguments;return new Promise((function(r,s){var o=e.apply(t,a);function i(e){n(o,r,s,i,l,"next",e)}function l(e){n(o,r,s,i,l,"throw",e)}i(void 0)}))}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";(function(e){var a=n(1),r=void 0!==e&&e.navigator&&"ReactNative"===e.navigator.product,s="undefined"!=typeof document;t.a=s||r?a.useLayoutEffect:a.useEffect}).call(this,n(17))},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(e,t){for(var n=0;n=0||(r[n]=e[n]);return r},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";var a=n(31);function r(){}function s(){}s.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,s,o){if(o!==a){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:s,resetWarningCache:r};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict"; +/** @license React v16.14.0 + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var a=n(1),r=60103;if(t.Fragment=60107,"function"==typeof Symbol&&Symbol.for){var s=Symbol.for;r=s("react.element"),t.Fragment=s("react.fragment")}var o=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i=Object.prototype.hasOwnProperty,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var a,s={},c=null,u=null;for(a in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,a)&&!l.hasOwnProperty(a)&&(s[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===s[a]&&(s[a]=t[a]);return{$$typeof:r,type:e,key:c,ref:u,props:s,_owner:o.current}}t.jsx=c,t.jsxs=c},function(e,t){function n(t,a){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},e.exports.default=e.exports,e.exports.__esModule=!0,n(t,a)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,s=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(a=n.next()).done)&&(s.push(a.value),!t||s.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw r}}return s}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var a=n(37);e.exports=function(e,t){if(e){if("string"==typeof e)return a(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)?a(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n>",l=o||a;if(null==n[a])return t?new Error("Required "+s+" `"+l+"` was not specified in `"+i+"`."):null;for(var c=arguments.length,u=Array(c>6?c-6:0),d=6;d13)&&32!==t&&133!==t&&160!==t&&5760!==t&&6158!==t&&(t<8192||t>8205)&&8232!==t&&8233!==t&&8239!==t&&8287!==t&&8288!==t&&12288!==t&&65279!==t)return!1;return!0}},function(e,t,n){var a=function(e){"use strict";var t=Object.prototype,n=t.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},r=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",o=a.toStringTag||"@@toStringTag";function i(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{i({},"")}catch(e){i=function(e,t,n){return e[t]=n}}function l(e,t,n,a){var r=t&&t.prototype instanceof d?t:d,s=Object.create(r.prototype),o=new x(a||[]);return s._invoke=function(e,t,n){var a="suspendedStart";return function(r,s){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===r)throw s;return N()}for(n.method=r,n.arg=s;;){var o=n.delegate;if(o){var i=_(o,n);if(i){if(i===u)continue;return i}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===a)throw a="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a="executing";var l=c(e,t,n);if("normal"===l.type){if(a=n.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(a="completed",n.method="throw",n.arg=l.arg)}}}(e,n,o),s}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function d(){}function p(){}function f(){}var m={};i(m,r,(function(){return this}));var b=Object.getPrototypeOf,g=b&&b(b(w([])));g&&g!==t&&n.call(g,r)&&(m=g);var h=f.prototype=d.prototype=Object.create(m);function y(e){["next","throw","return"].forEach((function(t){i(e,t,(function(e){return this._invoke(t,e)}))}))}function v(e,t){var a;this._invoke=function(r,s){function o(){return new t((function(a,o){!function a(r,s,o,i){var l=c(e[r],e,s);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&n.call(d,"__await")?t.resolve(d.__await).then((function(e){a("next",e,o,i)}),(function(e){a("throw",e,o,i)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return a("throw",e,o,i)}))}i(l.arg)}(r,s,a,o)}))}return a=a?a.then(o,o):o()}}function _(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,_(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var a=c(n,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,u;var r=a.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function w(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,s=function t(){for(;++a=0;--r){var s=this.tryEntries[r],o=s.completion;if("root"===s.tryLoc)return a("end");if(s.tryLoc<=this.prev){var i=n.call(s,"catchLoc"),l=n.call(s,"finallyLoc");if(i&&l){if(this.prev=0;--a){var r=this.tryEntries[a];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),j(n),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var r=a.arg;j(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:w(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},e}(e.exports);try{regeneratorRuntime=a}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=a:Function("r","regeneratorRuntime = r")(a)}},function(e,t,n){"use strict";n.r(t),n.d(t,"Accordion",(function(){return Be})),n.d(t,"AccordionItem",(function(){return Ke})),n.d(t,"Alert",(function(){return kt})),n.d(t,"Badge",(function(){return Zt})),n.d(t,"Breadcrumb",(function(){return on})),n.d(t,"Button",(function(){return pn})),n.d(t,"ButtonGroup",(function(){return hn})),n.d(t,"Card",(function(){return Bn})),n.d(t,"CardBody",(function(){return zn})),n.d(t,"CardFooter",(function(){return qn})),n.d(t,"CardGroup",(function(){return Yn})),n.d(t,"CardHeader",(function(){return Jn})),n.d(t,"CardImg",(function(){return ta})),n.d(t,"CardImgOverlay",(function(){return ra})),n.d(t,"CardLink",(function(){return ia})),n.d(t,"Carousel",(function(){return Oa})),n.d(t,"Checkbox",(function(){return xa})),n.d(t,"Checklist",(function(){return ur})),n.d(t,"Col",(function(){return Or})),n.d(t,"Collapse",(function(){return wr})),n.d(t,"Container",(function(){return Cr})),n.d(t,"DropdownMenu",(function(){return xi})),n.d(t,"DropdownMenuItem",(function(){return Ei})),n.d(t,"Fade",(function(){return Si})),n.d(t,"Form",(function(){return ul})),n.d(t,"FormFeedback",(function(){return fl})),n.d(t,"FormFloating",(function(){return gl})),n.d(t,"FormText",(function(){return Ol})),n.d(t,"Input",(function(){return Sl})),n.d(t,"InputGroup",(function(){return Al})),n.d(t,"InputGroupText",(function(){return $l})),n.d(t,"Label",(function(){return Yl})),n.d(t,"ListGroup",(function(){return nc})),n.d(t,"ListGroupItem",(function(){return lc})),n.d(t,"Modal",(function(){return Vc})),n.d(t,"ModalBody",(function(){return Xc})),n.d(t,"ModalFooter",(function(){return Zc})),n.d(t,"ModalHeader",(function(){return nu})),n.d(t,"ModalTitle",(function(){return su})),n.d(t,"Nav",(function(){return uu})),n.d(t,"Navbar",(function(){return wu})),n.d(t,"NavbarBrand",(function(){return ku})),n.d(t,"NavbarSimple",(function(){return Iu})),n.d(t,"NavbarToggler",(function(){return Tu})),n.d(t,"NavItem",(function(){return Fu})),n.d(t,"NavLink",(function(){return zu})),n.d(t,"Offcanvas",(function(){return nd})),n.d(t,"Pagination",(function(){return bd})),n.d(t,"Popover",(function(){return Md})),n.d(t,"PopoverBody",(function(){return Bd})),n.d(t,"PopoverHeader",(function(){return zd})),n.d(t,"Progress",(function(){return Yd})),n.d(t,"RadioItems",(function(){return Zd})),n.d(t,"RadioButton",(function(){return tp})),n.d(t,"Row",(function(){return cp})),n.d(t,"Select",(function(){return pp})),n.d(t,"Spinner",(function(){return vp})),n.d(t,"Switch",(function(){return Op})),n.d(t,"Tab",(function(){return xp})),n.d(t,"Tabs",(function(){return Up})),n.d(t,"Table",(function(){return Xp})),n.d(t,"Textarea",(function(){return Zp})),n.d(t,"Toast",(function(){return pf})),n.d(t,"Tooltip",(function(){return hf}));var a=n(4),r=n.n(a),s=n(5),o=n.n(s),i=n(1),l=n.n(i),c=n(0),u=n.n(c);function d(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function p(e){return function t(n){return 0===arguments.length||d(n)?t:e.apply(this,arguments)}}function f(e){return function t(n,a){switch(arguments.length){case 0:return t;case 1:return d(n)?t:p((function(t){return e(n,t)}));default:return d(n)&&d(a)?t:d(n)?p((function(t){return e(t,a)})):d(a)?p((function(t){return e(n,t)})):e(n,a)}}}var m=f((function(e,t){for(var n={},a={},r=0,s=e.length;r=0||(r[n]=e[n]);return r}n(12);function v(e){return"default"+e.charAt(0).toUpperCase()+e.substr(1)}function _(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function O(e,t,n){var a=Object(i.useRef)(void 0!==e),r=Object(i.useState)(t),s=r[0],o=r[1],l=void 0!==e,c=a.current;return a.current=l,!l&&c&&s!==t&&o(t),[l?e:s,Object(i.useCallback)((function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),r=1;r{n.target===e&&(r(),t(n))},n+a)}var oe=function(...e){return e.filter(e=>null!=e).reduce((e,t)=>{if("function"!=typeof t)throw new Error("Invalid Argument Type, must only provide functions, undefined, or null.");return null===e?t:function(...n){e.apply(this,n),t.apply(this,n)}},null)};function ie(e){e.offsetHeight}var le=function(e){return e&&"function"!=typeof e?function(t){e.current=t}:e};var ce=function(e,t){return Object(i.useMemo)((function(){return function(e,t){var n=le(e),a=le(t);return function(e){n&&n(e),a&&a(e)}}(e,t)}),[e,t])};function ue(e){return e&&"setState"in e?z.a.findDOMNode(e):null!=e?e:null}var de=l.a.forwardRef(({onEnter:e,onEntering:t,onEntered:n,onExit:a,onExiting:r,onExited:s,addEndListener:o,children:c,childRef:u,...d},p)=>{const f=Object(i.useRef)(null),m=ce(f,u),b=e=>{m(ue(e))},g=e=>t=>{e&&f.current&&e(f.current,t)},h=Object(i.useCallback)(g(e),[e]),y=Object(i.useCallback)(g(t),[t]),v=Object(i.useCallback)(g(n),[n]),_=Object(i.useCallback)(g(a),[a]),O=Object(i.useCallback)(g(r),[r]),j=Object(i.useCallback)(g(s),[s]),x=Object(i.useCallback)(g(o),[o]);return Object(P.jsx)(G,{ref:p,...d,onEnter:h,onEntered:v,onEntering:y,onExit:_,onExited:j,onExiting:O,addEndListener:x,nodeRef:f,children:"function"==typeof c?(e,t)=>c(e,{...t,ref:b}):l.a.cloneElement(c,{ref:b})})});const pe={height:["marginTop","marginBottom"],width:["marginLeft","marginRight"]};function fe(e,t){const n=t[`offset${e[0].toUpperCase()}${e.slice(1)}`],a=pe[e];return n+parseInt($(t,a[0]),10)+parseInt($(t,a[1]),10)}const me={exited:"collapse",exiting:"collapsing",[q]:"collapsing",entered:"collapse show"},be={in:!1,timeout:300,mountOnEnter:!1,unmountOnExit:!1,appear:!1,getDimensionValue:fe},ge=l.a.forwardRef(({onEnter:e,onEntering:t,onEntered:n,onExit:a,onExiting:r,className:s,children:o,dimension:c="height",getDimensionValue:u=fe,...d},p)=>{const f="function"==typeof c?c():c,m=Object(i.useMemo)(()=>oe(e=>{e.style[f]="0"},e),[f,e]),b=Object(i.useMemo)(()=>oe(e=>{const t=`scroll${f[0].toUpperCase()}${f.slice(1)}`;e.style[f]=e[t]+"px"},t),[f,t]),h=Object(i.useMemo)(()=>oe(e=>{e.style[f]=null},n),[f,n]),y=Object(i.useMemo)(()=>oe(e=>{e.style[f]=u(f,e)+"px",ie(e)},a),[a,u,f]),v=Object(i.useMemo)(()=>oe(e=>{e.style[f]=null},r),[f,r]);return Object(P.jsx)(de,{ref:p,addEndListener:se,...d,"aria-expanded":d.role?d.in:null,onEnter:m,onEntering:b,onEntered:h,onExit:y,onExiting:v,childRef:o.ref,children:(e,t)=>l.a.cloneElement(o,{...t,className:g()(s,o.props.className,me[e],"width"===f&&"collapse-horizontal")})})});ge.defaultProps=be;var he=ge;const ye=i.createContext({});ye.displayName="AccordionContext";var ve=ye;const _e=i.forwardRef(({as:e="div",bsPrefix:t,className:n,children:a,eventKey:r,...s},o)=>{const{activeEventKey:l}=Object(i.useContext)(ve);return t=R(t,"accordion-collapse"),Object(P.jsx)(he,{ref:o,in:l===r,...s,className:g()(n,t),children:Object(P.jsx)(e,{children:i.Children.only(a)})})});_e.displayName="AccordionCollapse";var Oe=_e;const je=i.createContext({eventKey:""});je.displayName="AccordionItemContext";var xe=je;const we=i.forwardRef(({as:e="div",bsPrefix:t,className:n,...a},r)=>{t=R(t,"accordion-body");const{eventKey:s}=Object(i.useContext)(xe);return Object(P.jsx)(Oe,{eventKey:s,children:Object(P.jsx)(e,{ref:r,...a,className:g()(n,t)})})});we.displayName="AccordionBody";var Ne=we;const Ee=i.forwardRef(({as:e="button",bsPrefix:t,className:n,onClick:a,...r},s)=>{t=R(t,"accordion-button");const{eventKey:o}=Object(i.useContext)(xe),l=function(e,t){const{activeEventKey:n,onSelect:a}=Object(i.useContext)(ve);return r=>{a&&a(e===n?null:e,r),t&&t(r)}}(o,a),{activeEventKey:c}=Object(i.useContext)(ve);return"button"===e&&(r.type="button"),Object(P.jsx)(e,{ref:s,onClick:l,...r,"aria-expanded":o===c,className:g()(n,t,o!==c&&"collapsed")})});Ee.displayName="AccordionButton";var ke=Ee;const Pe=i.forwardRef(({as:e="h2",bsPrefix:t,className:n,children:a,onClick:r,...s},o)=>(t=R(t,"accordion-header"),Object(P.jsx)(e,{ref:o,...s,className:g()(n,t),children:Object(P.jsx)(ke,{onClick:r,children:a})})));Pe.displayName="AccordionHeader";var Ce=Pe;const Te=i.forwardRef(({as:e="div",bsPrefix:t,className:n,eventKey:a,...r},s)=>{t=R(t,"accordion-item");const o=Object(i.useMemo)(()=>({eventKey:a}),[a]);return Object(P.jsx)(xe.Provider,{value:o,children:Object(P.jsx)(e,{ref:s,...r,className:g()(n,t)})})});Te.displayName="AccordionItem";var Se=Te;const Re=i.forwardRef((e,t)=>{const{as:n="div",activeKey:a,bsPrefix:r,className:s,onSelect:o,flush:l,...c}=j(e,{activeKey:"onSelect"}),u=R(r,"accordion"),d=Object(i.useMemo)(()=>({activeEventKey:a,onSelect:o}),[a,o]);return Object(P.jsx)(ve.Provider,{value:d,children:Object(P.jsx)(n,{ref:t,...c,className:g()(s,u,l&&u+"-flush")})})});Re.displayName="Accordion";var De=Object.assign(Re,{Button:ke,Collapse:Oe,Item:Se,Header:Ce,Body:Ne}),Le=function(e){return e&&!Array.isArray(e)?[e]:e},Ie=function(e){return e.props._dashprivate_layout&&e.props._dashprivate_layout.props?e.props._dashprivate_layout.props:e.props},Me=["children","active_item","start_collapsed","loading_state","key","setProps","class_name","className"],Ae=["children","title","item_id","loading_state","class_name","className"],Fe=function(e){var t=e.children,n=e.active_item,a=e.start_collapsed,s=e.loading_state,c=e.key,u=e.setProps,d=e.class_name,p=e.className,f=o()(e,Me);t=Le(t),Object(i.useEffect)((function(){u&&void 0===n&&!a&&u({active_item:t&&(Ie(t[0]).item_id||"item-0")})}),[]);var b=t&&t.map((function(e,t){var a=Ie(e),s=(a.children,a.title),i=a.item_id,c=a.loading_state,d=a.class_name,p=a.className,f=o()(a,Ae),b=i||"item-"+t;return l.a.createElement(De.Item,r()({key:b,eventKey:b,className:d||p},m(["setProps","persistence","persistence_type","persisted_props"],f),{"data-dash-is-loading":c&&c.is_loading||void 0}),l.a.createElement(De.Header,{onClick:function(){var e;e=b,u&&n!==e&&u({active_item:e})},style:{marginTop:"0rem",marginBottom:"0rem"}},s),l.a.createElement(De.Body,null,e))}));return l.a.createElement(De,r()({key:c,"data-dash-is-loading":s&&s.is_loading||void 0,activeKey:n,defaultActiveKey:a?null:n,className:d||p},m(["setProps","persistence","persistence_type","persisted_props"],f)),b)};Fe.defaultProps={persisted_props:["active_item"],persistence_type:"local",start_collapsed:!1},Fe.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,flush:u.a.bool,active_item:u.a.string,start_collapsed:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string}),persistence:u.a.oneOfType([u.a.bool,u.a.string,u.a.number]),persisted_props:u.a.arrayOf(u.a.oneOf(["active_item"])),persistence_type:u.a.oneOf(["local","session","memory"])};var Be=Fe,$e=function(e){return l.a.createElement(l.a.Fragment,null,e.children)};$e.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,title:u.a.string,item_id:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var Ke=$e,ze=n(7),He=n.n(ze);var We=function(e){var t=Object(i.useRef)(e);return Object(i.useEffect)((function(){t.current=e}),[e]),t};function qe(e){var t=We(e);return Object(i.useCallback)((function(){return t.current&&t.current.apply(t,arguments)}),[t])}function Ue(){return Object(i.useState)(null)}var Ve=function(e){var t=Object(i.useRef)(e);return Object(i.useEffect)((function(){t.current=e}),[e]),t};function Ge(e){var t=Ve(e);return Object(i.useCallback)((function(){return t.current&&t.current.apply(t,arguments)}),[t])}function Ye(e,t,n){return void 0===n&&(n=!1),function(e,t,n,a){void 0===a&&(a=!1);var r=Ge(n);Object(i.useEffect)((function(){var n="function"==typeof e?e():e;return n.addEventListener(t,r,a),function(){return n.removeEventListener(t,r,a)}}),[e])}(Object(i.useCallback)((function(){return document}),[]),e,t,n)}function Xe(){var e=Object(i.useRef)(!0),t=Object(i.useRef)((function(){return e.current}));return Object(i.useEffect)((function(){return function(){e.current=!1}}),[]),t.current}function Qe(e){var t=Object(i.useRef)(null);return Object(i.useEffect)((function(){t.current=e})),t.current}n(18),new WeakMap;const Je=["as","disabled"];function Ze({tagName:e,disabled:t,href:n,target:a,rel:r,onClick:s,tabIndex:o=0,type:i}){e||(e=null!=n||null!=a||null!=r?"a":"button");const l={tagName:e};if("button"===e)return[{type:i||"button",disabled:t},l];const c=a=>{(t||"a"===e&&function(e){return!e||"#"===e.trim()}(n))&&a.preventDefault(),t?a.stopPropagation():null==s||s(a)};return[{role:"button",disabled:void 0,tabIndex:t?void 0:o,href:"a"===e&&t?void 0:n,target:"a"===e?a:void 0,"aria-disabled":t||void 0,rel:"a"===e?r:void 0,onClick:c,onKeyDown:e=>{" "===e.key&&(e.preventDefault(),c(e))}},l]}const et=i.forwardRef((e,t)=>{let{as:n,disabled:a}=e,r=function(e,t){if(null==e)return{};var n,a,r={},s=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}(e,Je);const[s,{tagName:o}]=Ze(Object.assign({tagName:n,disabled:a},r));return Object(P.jsx)(o,Object.assign({},r,s,{ref:t}))});et.displayName="Button";var tt=et;const nt=["onKeyDown"];const at=i.forwardRef((e,t)=>{let{onKeyDown:n}=e,a=function(e,t){if(null==e)return{};var n,a,r={},s=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}(e,nt);const[r]=Ze(Object.assign({tagName:"a"},a)),s=Ge(e=>{r.onKeyDown(e),null==n||n(e)});return((o=a.href)&&"#"!==o.trim()||a.role)&&"button"!==a.role?Object(P.jsx)("a",Object.assign({ref:t},a,{onKeyDown:n})):Object(P.jsx)("a",Object.assign({ref:t},a,r,{onKeyDown:s}));var o});at.displayName="Anchor";var rt=at;const st={[q]:"show",entered:"show"},ot=i.forwardRef(({className:e,children:t,transitionClasses:n={},...a},r)=>{const s=Object(i.useCallback)((e,t)=>{ie(e),null==a.onEnter||a.onEnter(e,t)},[a]);return Object(P.jsx)(de,{ref:r,addEndListener:se,...a,onEnter:s,childRef:t.ref,children:(a,r)=>i.cloneElement(t,{...r,className:g()("fade",e,t.props.className,st[a],n[a])})})});ot.defaultProps={in:!1,timeout:300,mountOnEnter:!1,unmountOnExit:!1,appear:!1},ot.displayName="Fade";var it=ot;const lt={"aria-label":u.a.string,onClick:u.a.func,variant:u.a.oneOf(["white"])},ct=i.forwardRef(({className:e,variant:t,...n},a)=>Object(P.jsx)("button",{ref:a,type:"button",className:g()("btn-close",t&&"btn-close-"+t,e),...n}));ct.displayName="CloseButton",ct.propTypes=lt,ct.defaultProps={"aria-label":"Close"};var ut=ct,dt=e=>i.forwardRef((t,n)=>Object(P.jsx)("div",{...t,ref:n,className:g()(t.className,e)})),pt=/-(.)/g;const ft=e=>{return e[0].toUpperCase()+(t=e,t.replace(pt,(function(e,t){return t.toUpperCase()}))).slice(1);var t};function mt(e,{displayName:t=ft(e),Component:n,defaultProps:a}={}){const r=i.forwardRef(({className:t,bsPrefix:a,as:r=n||"div",...s},o)=>{const i=R(a,e);return Object(P.jsx)(r,{ref:o,className:g()(t,i),...s})});return r.defaultProps=a,r.displayName=t,r}const bt=dt("h4");bt.displayName="DivStyledAsH4";const gt=mt("alert-heading",{Component:bt}),ht=mt("alert-link",{Component:rt}),yt={variant:"primary",show:!0,transition:it,closeLabel:"Close alert"},vt=i.forwardRef((e,t)=>{const{bsPrefix:n,show:a,closeLabel:r,closeVariant:s,className:o,children:i,variant:l,onClose:c,dismissible:u,transition:d,...p}=j(e,{show:"onClose"}),f=R(n,"alert"),m=qe(e=>{c&&c(!1,e)}),b=!0===d?it:d,h=Object(P.jsxs)("div",{role:"alert",...b?void 0:p,ref:t,className:g()(o,f,l&&`${f}-${l}`,u&&f+"-dismissible"),children:[u&&Object(P.jsx)(ut,{onClick:m,"aria-label":r,variant:s}),i]});return b?Object(P.jsx)(b,{unmountOnExit:!0,...p,ref:void 0,in:a,children:h}):a?h:null});vt.displayName="Alert",vt.defaultProps=yt;var _t=Object.assign(vt,{Link:ht,Heading:gt}),Ot=new Set(["primary","secondary","success","danger","warning","info","light","dark","white","transparent"]),jt=new Set(["primary","secondary","success","danger","warning","info","light","dark","muted","white","black-50","white-50"]),xt=["children","dismissable","duration","is_open","loading_state","setProps","color","style","class_name","className","fade"];function wt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Nt(e){for(var t=1;t{const l=R(e,"badge");return Object(P.jsx)(s,{ref:i,...o,className:g()(r,l,n&&"rounded-pill",a&&"text-"+a,t&&"bg-"+t)})});Pt.displayName="Badge",Pt.defaultProps={bg:"primary",pill:!1};var Ct=Pt,Tt=n(19),St=n.n(Tt),Rt=n(20),Dt=n.n(Rt),Lt=n(14),It=n.n(Lt),Mt=n(21),At=n.n(Mt),Ft=n(22),Bt=n.n(Ft),$t=n(15),Kt=n.n($t),zt=n(23),Ht=n.n(zt),Wt=["children","external_link","preOnClick","target","href","download"];function qt(e){var t=function(){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}}();return function(){var n,a=Kt()(e);if(t){var r=Kt()(this).constructor;n=Reflect.construct(a,arguments,r)}else n=a.apply(this,arguments);return Bt()(this,n)}}function Ut(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}function Vt(e,t){return null==e?Ht()(t):e}Ut.prototype=window.Event.prototype;var Gt=function(e){At()(n,e);var t=qt(n);function n(e){var a;return St()(this,n),(a=t.call(this,e)).updateLocation=a.updateLocation.bind(It()(a)),a}return Dt()(n,[{key:"updateLocation",value:function(e){if(!(e.metaKey||e.shiftKey||e.altKey||e.ctrlKey))if(this.props.disabled)e.preventDefault();else{this.props.preOnClick&&this.props.preOnClick();var t=this.props,n=t.external_link,a=t.href;if(a&&!Vt(n,a)){e.preventDefault();var r=this.props.href;window.history.pushState({},"",r),window.dispatchEvent(new Ut("_dashprivate_pushstate")),window.scrollTo(0,0)}}}},{key:"render",value:function(){var e=this,t=this.props,n=t.children,a=t.external_link,s=(t.preOnClick,t.target),i=t.href,c=t.download,u=o()(t,Wt),d=i&&Vt(a,i);return l.a.createElement("a",r()({href:i,target:d?s:null,download:c&&d?c:null},u,{onClick:function(t){return e.updateLocation(t)}}),n)}}]),n}(i.Component);Gt.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,href:u.a.string,disabled:u.a.bool,external_link:u.a.bool,preOnClick:u.a.func,target:u.a.string,download:u.a.string},Gt.defaultProps={disabled:!1,external_link:null};var Yt=["children","href","loading_state","setProps","color","style","className","class_name","text_color"];function Xt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Qt(e){for(var t=1;t{const p=R(e,"breadcrumb-item");return Object(P.jsx)(r,{ref:d,...u,className:g()(p,a,{active:t}),"aria-current":t?"page":void 0,children:t?n:Object(P.jsx)(s,{...o,href:i,title:l,target:c,children:n})})});en.displayName="BreadcrumbItem",en.defaultProps={active:!1,linkProps:{}};var tn=en;const nn=i.forwardRef(({bsPrefix:e,className:t,listProps:n,children:a,label:r,as:s="nav",...o},i)=>{const l=R(e,"breadcrumb");return Object(P.jsx)(s,{"aria-label":r,className:t,ref:i,...o,children:Object(P.jsx)("ol",{...n,className:g()(l,null==n?void 0:n.className),children:a})})});nn.displayName="Breadcrumb",nn.defaultProps={label:"breadcrumb",listProps:{}};var an=Object.assign(nn,{Item:tn}),rn=["items","tag","loading_state","class_name","className","item_class_name","itemClassName","item_style"],sn=function(e){var t=e.items,n=e.tag,a=e.loading_state,s=e.class_name,i=e.className,c=e.item_class_name,u=e.itemClassName,d=(e.item_style,o()(e,rn));return l.a.createElement(an,r()({as:n,"data-dash-is-loading":a&&a.is_loading||void 0,className:s||i},d),(t||[]).map((function(e,t){return l.a.createElement(an.Item,{key:"".concat(e.value).concat(t),active:e.active,linkAs:e.href&&Gt,className:c||u,href:e.href,linkProps:e.href&&{external_link:e.external_link}},e.label)})))};sn.propTypes={id:u.a.string,items:u.a.arrayOf(u.a.shape({label:u.a.string,href:u.a.string,active:u.a.bool,external_link:u.a.bool,target:u.a.string,title:u.a.string})),style:u.a.object,item_style:u.a.object,class_name:u.a.string,className:u.a.string,item_class_name:u.a.string,itemClassName:u.a.string,key:u.a.string,tag:u.a.object,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var on=sn;const ln=i.forwardRef(({as:e,bsPrefix:t,variant:n,size:a,active:r,className:s,...o},i)=>{const l=R(t,"btn"),[c,{tagName:u}]=Ze({tagName:e,...o}),d=u;return Object(P.jsx)(d,{...o,...c,ref:i,className:g()(s,l,r&&"active",n&&`${l}-${n}`,a&&`${l}-${a}`,o.href&&o.disabled&&"disabled")})});ln.displayName="Button",ln.defaultProps={variant:"primary",active:!1,disabled:!1};var cn=ln,un=["children","disabled","href","loading_state","setProps","n_clicks","target","type","download","name","value","className","class_name","color","outline"],dn=function(e){var t=e.children,n=e.disabled,a=e.href,s=e.loading_state,i=e.setProps,c=e.n_clicks,u=e.target,d=e.type,p=e.download,f=e.name,b=e.value,g=e.className,h=e.class_name,y=e.color,v=e.outline,_=o()(e,un),O=a&&!n;return _[O?"preOnClick":"onClick"]=function(){!n&&i&&i({n_clicks:c+1,n_clicks_timestamp:Date.now()})},l.a.createElement(cn,r()({as:O?Gt:"button",variant:v?"outline-".concat(y):y,type:O?null:d,target:O?u:null,href:n?null:a,disabled:n,download:O?p:null,name:O?null:f,value:O?null:b,className:h||g},m(["n_clicks_timestamp"],_),{"data-dash-is-loading":s&&s.is_loading||void 0}),t)};dn.defaultProps={n_clicks:0,n_clicks_timestamp:-1},dn.propTypes={id:u.a.string,children:u.a.node,class_name:u.a.string,className:u.a.string,style:u.a.object,key:u.a.string,href:u.a.string,external_link:u.a.bool,n_clicks:u.a.number,n_clicks_timestamp:u.a.number,active:u.a.bool,color:u.a.string,disabled:u.a.bool,size:u.a.string,title:u.a.string,outline:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string}),target:u.a.string,type:u.a.oneOf(["button","reset","submit"]),download:u.a.string,name:u.a.string,value:u.a.string};var pn=dn;const fn=i.forwardRef(({bsPrefix:e,size:t,vertical:n,className:a,as:r="div",...s},o)=>{const i=R(e,"btn-group");let l=i;return n&&(l=i+"-vertical"),Object(P.jsx)(r,{...s,ref:o,className:g()(a,l,t&&`${i}-${t}`)})});fn.displayName="ButtonGroup",fn.defaultProps={vertical:!1,role:"group"};var mn=fn,bn=["children","loading_state","class_name","className"],gn=function(e){var t=e.children,n=e.loading_state,a=e.class_name,s=e.className,i=o()(e,bn);return l.a.createElement(mn,r()({className:a||s},m(["setProps"],i),{"data-dash-is-loading":n&&n.is_loading||void 0}),t)};gn.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,vertical:u.a.bool,size:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var hn=gn;const yn=i.forwardRef(({bsPrefix:e,className:t,variant:n,as:a="img",...r},s)=>{const o=R(e,"card-img");return Object(P.jsx)(a,{ref:s,className:g()(n?`${o}-${n}`:o,t),...r})});yn.displayName="CardImg";var vn=yn;const _n=i.createContext(null);_n.displayName="CardHeaderContext";var On=_n;const jn=i.forwardRef(({bsPrefix:e,className:t,as:n="div",...a},r)=>{const s=R(e,"card-header"),o=Object(i.useMemo)(()=>({cardHeaderBsPrefix:s}),[s]);return Object(P.jsx)(On.Provider,{value:o,children:Object(P.jsx)(n,{ref:r,...a,className:g()(t,s)})})});jn.displayName="CardHeader";var xn=jn;const wn=dt("h5"),Nn=dt("h6"),En=mt("card-body"),kn=mt("card-title",{Component:wn}),Pn=mt("card-subtitle",{Component:Nn}),Cn=mt("card-link",{Component:"a"}),Tn=mt("card-text",{Component:"p"}),Sn=mt("card-footer"),Rn=mt("card-img-overlay"),Dn=i.forwardRef(({bsPrefix:e,className:t,bg:n,text:a,border:r,body:s,children:o,as:i="div",...l},c)=>{const u=R(e,"card");return Object(P.jsx)(i,{ref:c,...l,className:g()(t,u,n&&"bg-"+n,a&&"text-"+a,r&&"border-"+r),children:s?Object(P.jsx)(En,{children:o}):o})});Dn.displayName="Card",Dn.defaultProps={body:!1};var Ln=Object.assign(Dn,{Img:vn,Title:kn,Subtitle:Pn,Body:En,Link:Cn,Text:Tn,Header:xn,Footer:Sn,ImgOverlay:Rn}),In=["children","color","inverse","outline","style","loading_state","className","class_name"];function Mn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function An(e){for(var t=1;t{const s=g()(n,R(t,"carousel-item"));return Object(P.jsx)(e,{ref:r,...a,className:s})});fa.displayName="CarouselItem";var ma=fa;function ba(e,t){let n=0;return i.Children.map(e,e=>i.isValidElement(e)?t(e,n++):e)}const ga={slide:!0,fade:!1,controls:!0,indicators:!0,indicatorLabels:[],defaultActiveIndex:0,interval:5e3,keyboard:!0,pause:"hover",wrap:!0,touch:!0,prevIcon:Object(P.jsx)("span",{"aria-hidden":"true",className:"carousel-control-prev-icon"}),prevLabel:"Previous",nextIcon:Object(P.jsx)("span",{"aria-hidden":"true",className:"carousel-control-next-icon"}),nextLabel:"Next"};const ha=i.forwardRef((e,t)=>{const{as:n="div",bsPrefix:a,slide:r,fade:s,controls:o,indicators:l,indicatorLabels:c,activeIndex:u,onSelect:d,onSlide:p,onSlid:f,interval:m,keyboard:b,onKeyDown:h,pause:y,onMouseOver:v,onMouseOut:_,wrap:O,touch:x,onTouchStart:w,onTouchMove:N,onTouchEnd:E,prevIcon:k,prevLabel:C,nextIcon:T,nextLabel:S,variant:L,className:I,children:M,...A}=j(e,{activeIndex:"onSelect"}),F=R(a,"carousel"),B=D(),$=Object(i.useRef)(null),[K,z]=Object(i.useState)("next"),[H,W]=Object(i.useState)(!1),[q,U]=Object(i.useState)(!1),[V,G]=Object(i.useState)(u||0);q||u===V||($.current?z($.current):z((u||0)>V?"next":"prev"),r&&U(!0),G(u||0)),Object(i.useEffect)(()=>{$.current&&($.current=null)});let Y,X=0;!function(e,t){let n=0;i.Children.forEach(e,e=>{i.isValidElement(e)&&t(e,n++)})}(M,(e,t)=>{++X,t===u&&(Y=e.props.interval)});const Q=We(Y),J=Object(i.useCallback)(e=>{if(q)return;let t=V-1;if(t<0){if(!O)return;t=X-1}$.current="prev",null==d||d(t,e)},[q,V,d,O,X]),Z=qe(e=>{if(q)return;let t=V+1;if(t>=X){if(!O)return;t=0}$.current="next",null==d||d(t,e)}),ee=Object(i.useRef)();Object(i.useImperativeHandle)(t,()=>({element:ee.current,prev:J,next:Z}));const te=qe(()=>{!document.hidden&&function(e){if(!(e&&e.style&&e.parentNode&&e.parentNode.style))return!1;const t=getComputedStyle(e);return"none"!==t.display&&"hidden"!==t.visibility&&"none"!==getComputedStyle(e.parentNode).display}(ee.current)&&(B?J():Z())}),ne="next"===K?"start":"end";la(()=>{r||(null==p||p(V,ne),null==f||f(V,ne))},[V]);const ae=`${F}-item-${K}`,re=`${F}-item-${ne}`,oe=Object(i.useCallback)(e=>{ie(e),null==p||p(V,ne)},[p,V,ne]),le=Object(i.useCallback)(()=>{U(!1),null==f||f(V,ne)},[f,V,ne]),ce=Object(i.useCallback)(e=>{if(b&&!/input|textarea/i.test(e.target.tagName))switch(e.key){case"ArrowLeft":return e.preventDefault(),void(B?Z(e):J(e));case"ArrowRight":return e.preventDefault(),void(B?J(e):Z(e))}null==h||h(e)},[b,h,J,Z,B]),ue=Object(i.useCallback)(e=>{"hover"===y&&W(!0),null==v||v(e)},[y,v]),pe=Object(i.useCallback)(e=>{W(!1),null==_||_(e)},[_]),fe=Object(i.useRef)(0),me=Object(i.useRef)(0),be=da(),ge=Object(i.useCallback)(e=>{fe.current=e.touches[0].clientX,me.current=0,"hover"===y&&W(!0),null==w||w(e)},[y,w]),he=Object(i.useCallback)(e=>{e.touches&&e.touches.length>1?me.current=0:me.current=e.touches[0].clientX-fe.current,null==N||N(e)},[N]),ye=Object(i.useCallback)(e=>{if(x){const t=me.current;Math.abs(t)>40&&(t>0?J(e):Z(e))}"hover"===y&&be.set(()=>{W(!1)},m||void 0),null==E||E(e)},[x,y,J,Z,be,m,E]),ve=null!=m&&!H&&!q,_e=Object(i.useRef)();Object(i.useEffect)(()=>{var e,t;if(!ve)return;const n=B?J:Z;return _e.current=window.setInterval(document.visibilityState?te:n,null!=(e=null!=(t=Q.current)?t:m)?e:void 0),()=>{null!==_e.current&&clearInterval(_e.current)}},[ve,J,Z,Q,m,te,B]);const Oe=Object(i.useMemo)(()=>l&&Array.from({length:X},(e,t)=>e=>{null==d||d(t,e)}),[l,X,d]);return Object(P.jsxs)(n,{ref:ee,...A,onKeyDown:ce,onMouseOver:ue,onMouseOut:pe,onTouchStart:ge,onTouchMove:he,onTouchEnd:ye,className:g()(I,F,r&&"slide",s&&F+"-fade",L&&`${F}-${L}`),children:[l&&Object(P.jsx)("div",{className:F+"-indicators",children:ba(M,(e,t)=>Object(P.jsx)("button",{type:"button","data-bs-target":"","aria-label":null!=c&&c.length?c[t]:"Slide "+(t+1),className:t===V?"active":void 0,onClick:Oe?Oe[t]:void 0,"aria-current":t===V},t))}),Object(P.jsx)("div",{className:F+"-inner",children:ba(M,(e,t)=>{const n=t===V;return r?Object(P.jsx)(de,{in:n,onEnter:n?oe:void 0,onEntered:n?le:void 0,addEndListener:se,children:(t,a)=>i.cloneElement(e,{...a,className:g()(e.props.className,n&&"entered"!==t&&ae,("entered"===t||"exiting"===t)&&"active",("entering"===t||"exiting"===t)&&re)})}):i.cloneElement(e,{className:g()(e.props.className,n&&"active")})})}),o&&Object(P.jsxs)(P.Fragment,{children:[(O||0!==u)&&Object(P.jsxs)(rt,{className:F+"-control-prev",onClick:J,children:[k,C&&Object(P.jsx)("span",{className:"visually-hidden",children:C})]}),(O||u!==X-1)&&Object(P.jsxs)(rt,{className:F+"-control-next",onClick:Z,children:[T,S&&Object(P.jsx)("span",{className:"visually-hidden",children:S})]})]})]})});ha.displayName="Carousel",ha.defaultProps=ga;var ya=Object.assign(ha,{Caption:pa,Item:ma}),va=["items","active_index","style","class_name","className","loading_state","setProps","interval"],_a=function(e){var t=e.items,n=e.active_index,a=e.style,s=e.class_name,i=e.className,c=e.loading_state,u=e.setProps,d=e.interval,p=o()(e,va),f=t.map((function(e){return e.imgClassName=void 0!==e.imgClassName?e.imgClassName:"d-block w-100",l.a.createElement(ya.Item,{key:e.key},l.a.createElement("img",{src:e.src,className:e.img_class_name||e.imgClassName,style:e.img_style,alt:e.alt}),l.a.createElement(ya.Caption,{className:e.caption_class_name||e.captionClassName},e.header&&l.a.createElement("h5",null,e.header),e.caption&&l.a.createElement("p",null,e.caption)))}));return l.a.createElement("div",{style:a,className:s||i},l.a.createElement(ya,r()({"data-dash-is-loading":c&&c.is_loading||void 0,activeIndex:n,onSelect:function(e){return u({active_index:e})},interval:d||null},m(["setProps"],p)),f))};_a.defaultProps={active_index:0,controls:!0,indicators:!0},_a.propTypes={id:u.a.string,style:u.a.object,class_name:u.a.string,className:u.a.string,items:u.a.arrayOf(u.a.exact({key:u.a.string,src:u.a.string,alt:u.a.string,img_class_name:u.a.string,imgClassName:u.a.string,img_style:u.a.object,header:u.a.string,caption:u.a.string,caption_class_name:u.a.string,captionClassName:u.a.string})).isRequired,active_index:u.a.number,controls:u.a.bool,indicators:u.a.bool,ride:u.a.oneOf(["carousel"]),slide:u.a.bool,variant:u.a.oneOf(["dark"]),interval:u.a.number,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string}),setProps:u.a.func};var Oa=_a,ja=function(e){var t=e.value,n=e.disabled,a=e.className,r=e.class_name,s=e.style,o=e.id,i=e.input_class_name,c=e.inputClassName,u=e.input_style,d=e.label,p=e.label_id,f=e.label_style,m=e.label_class_name,b=e.labelClassName,h=e.loading_state,y=e.name,v=e.setProps;return l.a.createElement("div",{className:g()("form-check",r||a),style:s,"data-dash-is-loading":h&&h.is_loading||void 0},l.a.createElement("input",{id:o,name:y,checked:t,className:g()("form-check-input",i||c),disabled:n,style:u,type:"checkbox",onChange:function(){n||v&&v({value:!t})}}),l.a.createElement("label",{id:p,style:f,className:g()(m||b,"form-check-label","form-label"),htmlFor:o},d))};ja.propTypes={id:u.a.string,class_name:u.a.string,className:u.a.string,style:u.a.object,input_style:u.a.object,inputStyle:u.a.object,input_class_name:u.a.string,inputClassName:u.a.string,label:u.a.string,label_id:u.a.string,label_style:u.a.object,labelStyle:u.a.object,label_class_name:u.a.string,labelClassName:u.a.string,name:u.a.string,disabled:u.a.bool,value:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string}),persistence:u.a.oneOfType([u.a.bool,u.a.string,u.a.number]),persisted_props:u.a.arrayOf(u.a.oneOf(["value"])),persistence_type:u.a.oneOf(["local","session","memory"]),setProps:u.a.func},ja.defaultProps={inputStyle:{},input_style:null,inputClassName:"",input_class_name:"",labelStyle:{},label_style:null,labelClassName:"",label_class_name:"",persisted_props:["value"],persistence_type:"local",value:!1,disabled:!1};var xa=ja;function wa(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function Na(e,t,n){for(var a=0,r=n.length;a=0;)Ea(t=Sa[n],e)&&!Da(a,t)&&(a[a.length]=t),n-=1;return a})):p((function(e){return Object(e)!==e?[]:Object.keys(e)})),Ia=p((function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)}));function Ma(e,t,n,a){var r=wa(e);function s(e,t){return Aa(e,t,n.slice(),a.slice())}return!Na((function(e,t){return!Na(s,t,e)}),wa(t),r)}function Aa(e,t,n,a){if(ka(e,t))return!0;var r,s,o=Ia(e);if(o!==Ia(t))return!1;if(null==e||null==t)return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(o){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===(r=e.constructor,null==(s=String(r).match(/^function (\w*)/))?"":s[1]))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!ka(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!ka(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var i=n.length-1;i>=0;){if(n[i]===e)return a[i]===t;i-=1}switch(o){case"Map":return e.size===t.size&&Ma(e.entries(),t.entries(),n.concat([e]),a.concat([t]));case"Set":return e.size===t.size&&Ma(e.values(),t.values(),n.concat([e]),a.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var l=La(e);if(l.length!==La(t).length)return!1;var c=n.concat([e]),u=a.concat([t]);for(i=l.length-1;i>=0;){var d=l[i];if(!Ea(d,t)||!Aa(t[d],e[d],c,u))return!1;i-=1}return!0}var Fa=f((function(e,t){return Aa(e,t,[],[])}));function Ba(e,t){return function(e,t,n){var a,r;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(a=1/t;n=0}var $a=f(Ba);function Ka(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,n){return t.apply(this,arguments)};case 3:return function(e,n,a){return t.apply(this,arguments)};case 4:return function(e,n,a,r){return t.apply(this,arguments)};case 5:return function(e,n,a,r,s){return t.apply(this,arguments)};case 6:return function(e,n,a,r,s,o){return t.apply(this,arguments)};case 7:return function(e,n,a,r,s,o,i){return t.apply(this,arguments)};case 8:return function(e,n,a,r,s,o,i,l){return t.apply(this,arguments)};case 9:return function(e,n,a,r,s,o,i,l,c){return t.apply(this,arguments)};case 10:return function(e,n,a,r,s,o,i,l,c,u){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}var za=f((function(e,t){return 1===e?p(t):Ka(e,function e(t,n,a){return function(){for(var r=[],s=0,o=t,i=0;i=arguments.length)?l=n[i]:(l=arguments[s],s+=1),r[i]=l,d(l)||(o-=1),i+=1}return o<=0?a.apply(this,r):Ka(o,e(t,r,a))}}(e,[],t))})),Ha=p((function(e){return za(e.length,(function(t,n){var a=Array.prototype.slice.call(arguments,0);return a[0]=n,a[1]=t,e.apply(this,a)}))}));var Wa=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};function qa(e){return null!=e&&"function"==typeof e["@@transducer/step"]}function Ua(e,t,n){return function(){if(0===arguments.length)return n();var a=Array.prototype.slice.call(arguments,0),r=a.pop();if(!Wa(r)){for(var s=0;s0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))})),Ga=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();var Ya=f((function(e,t){return Ka(e.length,(function(){return e.apply(t,arguments)}))}));function Xa(e,t,n){for(var a=n.next();!a.done;){if((t=e["@@transducer/step"](t,a.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}a=n.next()}return e["@@transducer/result"](t)}function Qa(e,t,n,a){return e["@@transducer/result"](n[a](Ya(e["@@transducer/step"],e),t))}var Ja="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function Za(e,t,n){if("function"==typeof e&&(e=function(e){return new Ga(e)}(e)),Va(n))return function(e,t,n){for(var a=0,r=n.length;a{const[{className:n,...a},{as:r="div",bsPrefix:s,spans:o}]=function({as:e,bsPrefix:t,className:n,...a}){t=R(t,"col");const r=[],s=[];return fr.forEach(e=>{const n=a[e];let o,i,l;delete a[e],"object"==typeof n&&null!=n?({span:o,offset:i,order:l}=n):o=n;const c="xs"!==e?"-"+e:"";o&&r.push(!0===o?`${t}${c}`:`${t}${c}-${o}`),null!=l&&s.push(`order${c}-${l}`),null!=i&&s.push(`offset${c}-${i}`)}),[{...a,className:g()(n,...r,...s)},{as:e,bsPrefix:t,spans:r}]}(e);return Object(P.jsx)(r,{...a,ref:t,className:g()(n,!o.length&&s)})});mr.displayName="Col";var br=mr,gr=["children","width","xs","sm","md","lg","xl","xxl","align","className","class_name","loading_state"],hr={start:"align-self-start",center:"align-self-center",end:"align-self-end",stretch:"align-self-stretch",baseline:"align-self-baseline"},yr=function(e){var t=e.children,n=e.width,a=e.xs,s=e.sm,i=e.md,c=e.lg,u=e.xl,d=e.xxl,p=e.align,f=e.className,b=e.class_name,h=e.loading_state,y=o()(e,gr);[n,a,s,i,c,u,d].forEach((function(e){"object"===pr()(e)&&null!==e&&(e.span=e.size)}));var v=p&&hr[p],_=g()(b||f,v);return l.a.createElement(br,r()({xs:a||n,sm:s,md:i,lg:c,xl:u,xxl:d,className:_},m(["setProps"],y),{"data-dash-is-loading":h&&h.is_loading||void 0}),t)},vr=u.a.oneOfType([u.a.number,u.a.string]),_r=u.a.oneOfType([u.a.string,u.a.number,u.a.bool,u.a.shape({size:u.a.oneOfType([u.a.bool,u.a.number,u.a.string]),order:vr,offset:vr})]);yr.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,width:_r,xs:_r,sm:_r,md:_r,lg:_r,xl:_r,xxl:_r,align:u.a.oneOf(["start","center","end","stretch","baseline"]),loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var Or=yr,jr=["children","is_open","navbar","loading_state","className","class_name","tag"],xr=l.a.forwardRef((function(e,t){var n=e.children,a=e.is_open,s=e.navbar,i=e.loading_state,c=e.className,u=e.class_name,d=e.tag,p=o()(e,jr);return l.a.createElement(he,r()({in:a,as:d,className:u||c},m(["setProps"],p),{"data-dash-is-loading":i&&i.is_loading||void 0}),l.a.createElement("div",{ref:t,className:s&&"navbar-collapse"},n))}));xr.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,is_open:u.a.bool,navbar:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var wr=xr;const Nr=i.forwardRef(({bsPrefix:e,fluid:t,as:n="div",className:a,...r},s)=>{const o=R(e,"container"),i="string"==typeof t?"-"+t:"-fluid";return Object(P.jsx)(n,{ref:s,...r,className:g()(a,t?`${o}${i}`:o)})});Nr.displayName="Container",Nr.defaultProps={fluid:!1};var Er=Nr,kr=["children","loading_state","className","class_name","tag"],Pr=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=e.tag,c=o()(e,kr);return l.a.createElement(Er,r()({as:i,className:s||a},m(["setProps"],c),{"data-dash-is-loading":n&&n.is_loading||void 0}),t)};Pr.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,fluid:u.a.oneOfType([u.a.bool,u.a.string]),tag:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var Cr=Pr,Tr=n(8),Sr=n.n(Tr),Rr=Function.prototype.bind.call(Function.prototype.call,[].slice);function Dr(e,t){return Rr(e.querySelectorAll(t))}function Lr(){return Object(i.useReducer)((function(e){return!e}),!1)[1]}var Ir=i.createContext(null),Mr=Object.prototype.hasOwnProperty;function Ar(e,t,n){for(n of e.keys())if(Fr(n,t))return n}function Fr(e,t){var n,a,r;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((a=e.length)===t.length)for(;a--&&Fr(e[a],t[a]););return-1===a}if(n===Set){if(e.size!==t.size)return!1;for(a of e){if((r=a)&&"object"==typeof r&&!(r=Ar(t,r)))return!1;if(!t.has(r))return!1}return!0}if(n===Map){if(e.size!==t.size)return!1;for(a of e){if((r=a[0])&&"object"==typeof r&&!(r=Ar(t,r)))return!1;if(!Fr(a[1],t.get(r)))return!1}return!0}if(n===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(n===DataView){if((a=e.byteLength)===t.byteLength)for(;a--&&e.getInt8(a)===t.getInt8(a););return-1===a}if(ArrayBuffer.isView(e)){if((a=e.byteLength)===t.byteLength)for(;a--&&e[a]===t[a];);return-1===a}if(!n||"object"==typeof e){for(n in a=0,e){if(Mr.call(e,n)&&++a&&!Mr.call(t,n))return!1;if(!(n in t)||!Fr(e[n],t[n]))return!1}return Object.keys(t).length===a}}return e!=e&&t!=t}var Br=function(e){var t=Xe();return[e[0],Object(i.useCallback)((function(n){if(t())return e[1](n)}),[t,e[1]])]};function $r(e){return e.split("-")[0]}function Kr(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect();return{width:n.width/1,height:n.height/1,top:n.top/1,right:n.right/1,bottom:n.bottom/1,left:n.left/1,x:n.left/1,y:n.top/1}}function zr(e){var t=Kr(e),n=e.offsetWidth,a=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-a)<=1&&(a=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:a}}function Hr(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Wr(e){return e instanceof Hr(e).Element||e instanceof Element}function qr(e){return e instanceof Hr(e).HTMLElement||e instanceof HTMLElement}function Ur(e){return"undefined"!=typeof ShadowRoot&&(e instanceof Hr(e).ShadowRoot||e instanceof ShadowRoot)}function Vr(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Ur(n)){var a=t;do{if(a&&e.isSameNode(a))return!0;a=a.parentNode||a.host}while(a)}return!1}function Gr(e){return e?(e.nodeName||"").toLowerCase():null}function Yr(e){return Hr(e).getComputedStyle(e)}function Xr(e){return["table","td","th"].indexOf(Gr(e))>=0}function Qr(e){return((Wr(e)?e.ownerDocument:e.document)||window.document).documentElement}function Jr(e){return"html"===Gr(e)?e:e.assignedSlot||e.parentNode||(Ur(e)?e.host:null)||Qr(e)}function Zr(e){return qr(e)&&"fixed"!==Yr(e).position?e.offsetParent:null}function es(e){for(var t=Hr(e),n=Zr(e);n&&Xr(n)&&"static"===Yr(n).position;)n=Zr(n);return n&&("html"===Gr(n)||"body"===Gr(n)&&"static"===Yr(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&qr(e)&&"fixed"===Yr(e).position)return null;for(var n=Jr(e);qr(n)&&["html","body"].indexOf(Gr(n))<0;){var a=Yr(n);if("none"!==a.transform||"none"!==a.perspective||"paint"===a.contain||-1!==["transform","perspective"].indexOf(a.willChange)||t&&"filter"===a.willChange||t&&a.filter&&"none"!==a.filter)return n;n=n.parentNode}return null}(e)||t}function ts(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}var ns=Math.max,as=Math.min,rs=Math.round;function ss(e,t,n){return ns(e,as(t,n))}function os(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function is(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}var ls="top",cs="bottom",us="right",ds="left",ps=[ls,cs,us,ds],fs=ps.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),ms=[].concat(ps,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),bs=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];var gs={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,a=e.name,r=e.options,s=n.elements.arrow,o=n.modifiersData.popperOffsets,i=$r(n.placement),l=ts(i),c=[ds,us].indexOf(i)>=0?"height":"width";if(s&&o){var u=function(e,t){return os("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:is(e,ps))}(r.padding,n),d=zr(s),p="y"===l?ls:ds,f="y"===l?cs:us,m=n.rects.reference[c]+n.rects.reference[l]-o[l]-n.rects.popper[c],b=o[l]-n.rects.reference[l],g=es(s),h=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,y=m/2-b/2,v=u[p],_=h-d[c]-u[f],O=h/2-d[c]/2+y,j=ss(v,O,_),x=l;n.modifiersData[a]=((t={})[x]=j,t.centerOffset=j-O,t)}},effect:function(e){var t=e.state,n=e.options.element,a=void 0===n?"[data-popper-arrow]":n;null!=a&&("string"!=typeof a||(a=t.elements.popper.querySelector(a)))&&Vr(t.elements.popper,a)&&(t.elements.arrow=a)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function hs(e){return e.split("-")[1]}var ys={top:"auto",right:"auto",bottom:"auto",left:"auto"};function vs(e){var t,n=e.popper,a=e.popperRect,r=e.placement,s=e.variation,o=e.offsets,i=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,d=!0===u?function(e){var t=e.x,n=e.y,a=window.devicePixelRatio||1;return{x:rs(rs(t*a)/a)||0,y:rs(rs(n*a)/a)||0}}(o):"function"==typeof u?u(o):o,p=d.x,f=void 0===p?0:p,m=d.y,b=void 0===m?0:m,g=o.hasOwnProperty("x"),h=o.hasOwnProperty("y"),y=ds,v=ls,_=window;if(c){var O=es(n),j="clientHeight",x="clientWidth";O===Hr(n)&&"static"!==Yr(O=Qr(n)).position&&"absolute"===i&&(j="scrollHeight",x="scrollWidth"),O=O,r!==ls&&(r!==ds&&r!==us||"end"!==s)||(v=cs,b-=O[j]-a.height,b*=l?1:-1),r!==ds&&(r!==ls&&r!==cs||"end"!==s)||(y=us,f-=O[x]-a.width,f*=l?1:-1)}var w,N=Object.assign({position:i},c&&ys);return l?Object.assign({},N,((w={})[v]=h?"0":"",w[y]=g?"0":"",w.transform=(_.devicePixelRatio||1)<=1?"translate("+f+"px, "+b+"px)":"translate3d("+f+"px, "+b+"px, 0)",w)):Object.assign({},N,((t={})[v]=h?b+"px":"",t[y]=g?f+"px":"",t.transform="",t))}var _s={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,a=n.gpuAcceleration,r=void 0===a||a,s=n.adaptive,o=void 0===s||s,i=n.roundOffsets,l=void 0===i||i,c={placement:$r(t.placement),variation:hs(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,vs(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,vs(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},Os={passive:!0};var js={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,a=e.options,r=a.scroll,s=void 0===r||r,o=a.resize,i=void 0===o||o,l=Hr(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&c.forEach((function(e){e.addEventListener("scroll",n.update,Os)})),i&&l.addEventListener("resize",n.update,Os),function(){s&&c.forEach((function(e){e.removeEventListener("scroll",n.update,Os)})),i&&l.removeEventListener("resize",n.update,Os)}},data:{}},xs={left:"right",right:"left",bottom:"top",top:"bottom"};function ws(e){return e.replace(/left|right|bottom|top/g,(function(e){return xs[e]}))}var Ns={start:"end",end:"start"};function Es(e){return e.replace(/start|end/g,(function(e){return Ns[e]}))}function ks(e){var t=Hr(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Ps(e){return Kr(Qr(e)).left+ks(e).scrollLeft}function Cs(e){var t=Yr(e),n=t.overflow,a=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+a)}function Ts(e,t){var n;void 0===t&&(t=[]);var a=function e(t){return["html","body","#document"].indexOf(Gr(t))>=0?t.ownerDocument.body:qr(t)&&Cs(t)?t:e(Jr(t))}(e),r=a===(null==(n=e.ownerDocument)?void 0:n.body),s=Hr(a),o=r?[s].concat(s.visualViewport||[],Cs(a)?a:[]):a,i=t.concat(o);return r?i:i.concat(Ts(Jr(o)))}function Ss(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Rs(e,t){return"viewport"===t?Ss(function(e){var t=Hr(e),n=Qr(e),a=t.visualViewport,r=n.clientWidth,s=n.clientHeight,o=0,i=0;return a&&(r=a.width,s=a.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(o=a.offsetLeft,i=a.offsetTop)),{width:r,height:s,x:o+Ps(e),y:i}}(e)):qr(t)?function(e){var t=Kr(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):Ss(function(e){var t,n=Qr(e),a=ks(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=ns(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=ns(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),i=-a.scrollLeft+Ps(e),l=-a.scrollTop;return"rtl"===Yr(r||n).direction&&(i+=ns(n.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:i,y:l}}(Qr(e)))}function Ds(e,t,n){var a="clippingParents"===t?function(e){var t=Ts(Jr(e)),n=["absolute","fixed"].indexOf(Yr(e).position)>=0&&qr(e)?es(e):e;return Wr(n)?t.filter((function(e){return Wr(e)&&Vr(e,n)&&"body"!==Gr(e)})):[]}(e):[].concat(t),r=[].concat(a,[n]),s=r[0],o=r.reduce((function(t,n){var a=Rs(e,n);return t.top=ns(a.top,t.top),t.right=as(a.right,t.right),t.bottom=as(a.bottom,t.bottom),t.left=ns(a.left,t.left),t}),Rs(e,s));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function Ls(e){var t,n=e.reference,a=e.element,r=e.placement,s=r?$r(r):null,o=r?hs(r):null,i=n.x+n.width/2-a.width/2,l=n.y+n.height/2-a.height/2;switch(s){case ls:t={x:i,y:n.y-a.height};break;case cs:t={x:i,y:n.y+n.height};break;case us:t={x:n.x+n.width,y:l};break;case ds:t={x:n.x-a.width,y:l};break;default:t={x:n.x,y:n.y}}var c=s?ts(s):null;if(null!=c){var u="y"===c?"height":"width";switch(o){case"start":t[c]=t[c]-(n[u]/2-a[u]/2);break;case"end":t[c]=t[c]+(n[u]/2-a[u]/2)}}return t}function Is(e,t){void 0===t&&(t={});var n=t,a=n.placement,r=void 0===a?e.placement:a,s=n.boundary,o=void 0===s?"clippingParents":s,i=n.rootBoundary,l=void 0===i?"viewport":i,c=n.elementContext,u=void 0===c?"popper":c,d=n.altBoundary,p=void 0!==d&&d,f=n.padding,m=void 0===f?0:f,b=os("number"!=typeof m?m:is(m,ps)),g="popper"===u?"reference":"popper",h=e.rects.popper,y=e.elements[p?g:u],v=Ds(Wr(y)?y:y.contextElement||Qr(e.elements.popper),o,l),_=Kr(e.elements.reference),O=Ls({reference:_,element:h,strategy:"absolute",placement:r}),j=Ss(Object.assign({},h,O)),x="popper"===u?j:_,w={top:v.top-x.top+b.top,bottom:x.bottom-v.bottom+b.bottom,left:v.left-x.left+b.left,right:x.right-v.right+b.right},N=e.modifiersData.offset;if("popper"===u&&N){var E=N[r];Object.keys(w).forEach((function(e){var t=[us,cs].indexOf(e)>=0?1:-1,n=[ls,cs].indexOf(e)>=0?"y":"x";w[e]+=E[n]*t}))}return w}var Ms={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,a=e.name;if(!t.modifiersData[a]._skip){for(var r=n.mainAxis,s=void 0===r||r,o=n.altAxis,i=void 0===o||o,l=n.fallbackPlacements,c=n.padding,u=n.boundary,d=n.rootBoundary,p=n.altBoundary,f=n.flipVariations,m=void 0===f||f,b=n.allowedAutoPlacements,g=t.options.placement,h=$r(g),y=l||(h===g||!m?[ws(g)]:function(e){if("auto"===$r(e))return[];var t=ws(e);return[Es(e),t,Es(t)]}(g)),v=[g].concat(y).reduce((function(e,n){return e.concat("auto"===$r(n)?function(e,t){void 0===t&&(t={});var n=t,a=n.placement,r=n.boundary,s=n.rootBoundary,o=n.padding,i=n.flipVariations,l=n.allowedAutoPlacements,c=void 0===l?ms:l,u=hs(a),d=u?i?fs:fs.filter((function(e){return hs(e)===u})):ps,p=d.filter((function(e){return c.indexOf(e)>=0}));0===p.length&&(p=d);var f=p.reduce((function(t,n){return t[n]=Is(e,{placement:n,boundary:r,rootBoundary:s,padding:o})[$r(n)],t}),{});return Object.keys(f).sort((function(e,t){return f[e]-f[t]}))}(t,{placement:n,boundary:u,rootBoundary:d,padding:c,flipVariations:m,allowedAutoPlacements:b}):n)}),[]),_=t.rects.reference,O=t.rects.popper,j=new Map,x=!0,w=v[0],N=0;N=0,T=C?"width":"height",S=Is(t,{placement:E,boundary:u,rootBoundary:d,altBoundary:p,padding:c}),R=C?P?us:ds:P?cs:ls;_[T]>O[T]&&(R=ws(R));var D=ws(R),L=[];if(s&&L.push(S[k]<=0),i&&L.push(S[R]<=0,S[D]<=0),L.every((function(e){return e}))){w=E,x=!1;break}j.set(E,L)}if(x)for(var I=function(e){var t=v.find((function(t){var n=j.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return w=t,"break"},M=m?3:1;M>0;M--){if("break"===I(M))break}t.placement!==w&&(t.modifiersData[a]._skip=!0,t.placement=w,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function As(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Fs(e){return[ls,us,cs,ds].some((function(t){return e[t]>=0}))}var Bs={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,a=t.rects.reference,r=t.rects.popper,s=t.modifiersData.preventOverflow,o=Is(t,{elementContext:"reference"}),i=Is(t,{altBoundary:!0}),l=As(o,a),c=As(i,r,s),u=Fs(l),d=Fs(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}};var $s={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,a=e.name,r=n.offset,s=void 0===r?[0,0]:r,o=ms.reduce((function(e,n){return e[n]=function(e,t,n){var a=$r(e),r=[ds,ls].indexOf(a)>=0?-1:1,s="function"==typeof n?n(Object.assign({},t,{placement:e})):n,o=s[0],i=s[1];return o=o||0,i=(i||0)*r,[ds,us].indexOf(a)>=0?{x:i,y:o}:{x:o,y:i}}(n,t.rects,s),e}),{}),i=o[t.placement],l=i.x,c=i.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[a]=o}};var Ks={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=Ls({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};var zs={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,a=e.name,r=n.mainAxis,s=void 0===r||r,o=n.altAxis,i=void 0!==o&&o,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,d=n.padding,p=n.tether,f=void 0===p||p,m=n.tetherOffset,b=void 0===m?0:m,g=Is(t,{boundary:l,rootBoundary:c,padding:d,altBoundary:u}),h=$r(t.placement),y=hs(t.placement),v=!y,_=ts(h),O="x"===_?"y":"x",j=t.modifiersData.popperOffsets,x=t.rects.reference,w=t.rects.popper,N="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,E={x:0,y:0};if(j){if(s||i){var k="y"===_?ls:ds,P="y"===_?cs:us,C="y"===_?"height":"width",T=j[_],S=j[_]+g[k],R=j[_]-g[P],D=f?-w[C]/2:0,L="start"===y?x[C]:w[C],I="start"===y?-w[C]:-x[C],M=t.elements.arrow,A=f&&M?zr(M):{width:0,height:0},F=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},B=F[k],$=F[P],K=ss(0,x[C],A[C]),z=v?x[C]/2-D-K-B-N:L-K-B-N,H=v?-x[C]/2+D+K+$+N:I+K+$+N,W=t.elements.arrow&&es(t.elements.arrow),q=W?"y"===_?W.clientTop||0:W.clientLeft||0:0,U=t.modifiersData.offset?t.modifiersData.offset[t.placement][_]:0,V=j[_]+z-U-q,G=j[_]+H-U;if(s){var Y=ss(f?as(S,V):S,T,f?ns(R,G):R);j[_]=Y,E[_]=Y-T}if(i){var X="x"===_?ls:ds,Q="x"===_?cs:us,J=j[O],Z=J+g[X],ee=J-g[Q],te=ss(f?as(Z,V):Z,J,f?ns(ee,G):ee);j[O]=te,E[O]=te-J}}t.modifiersData[a]=E}},requiresIfExists:["offset"]};function Hs(e,t,n){void 0===n&&(n=!1);var a,r,s=qr(t),o=qr(t)&&function(e){var t=e.getBoundingClientRect(),n=t.width/e.offsetWidth||1,a=t.height/e.offsetHeight||1;return 1!==n||1!==a}(t),i=Qr(t),l=Kr(e,o),c={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(s||!s&&!n)&&(("body"!==Gr(t)||Cs(i))&&(c=(a=t)!==Hr(a)&&qr(a)?{scrollLeft:(r=a).scrollLeft,scrollTop:r.scrollTop}:ks(a)),qr(t)?((u=Kr(t,!0)).x+=t.clientLeft,u.y+=t.clientTop):i&&(u.x=Ps(i))),{x:l.left+c.scrollLeft-u.x,y:l.top+c.scrollTop-u.y,width:l.width,height:l.height}}function Ws(e){var t=new Map,n=new Set,a=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||function e(r){n.add(r.name),[].concat(r.requires||[],r.requiresIfExists||[]).forEach((function(a){if(!n.has(a)){var r=t.get(a);r&&e(r)}})),a.push(r)}(e)})),a}var qs={placement:"bottom",modifiers:[],strategy:"absolute"};function Us(){for(var e=arguments.length,t=new Array(e),n=0;n{}},Qs={name:"ariaDescribedBy",enabled:!0,phase:"afterWrite",effect:({state:e})=>()=>{const{reference:t,popper:n}=e.elements;if("removeAttribute"in t){const e=(t.getAttribute("aria-describedby")||"").split(",").filter(e=>e.trim()!==n.id);e.length?t.setAttribute("aria-describedby",e.join(",")):t.removeAttribute("aria-describedby")}},fn:({state:e})=>{var t;const{popper:n,reference:a}=e.elements,r=null==(t=n.getAttribute("role"))?void 0:t.toLowerCase();if(n.id&&"tooltip"===r&&"setAttribute"in a){const e=a.getAttribute("aria-describedby");if(e&&-1!==e.split(",").indexOf(n.id))return;a.setAttribute("aria-describedby",e?`${e},${n.id}`:n.id)}}},Js=[];var Zs=function(e,t,n={}){let{enabled:a=!0,placement:r="bottom",strategy:s="absolute",modifiers:o=Js}=n,l=function(e,t){if(null==e)return{};var n,a,r={},s=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}(n,Ys);const c=Object(i.useRef)(o),u=Object(i.useRef)(),d=Object(i.useCallback)(()=>{var e;null==(e=u.current)||e.update()},[]),p=Object(i.useCallback)(()=>{var e;null==(e=u.current)||e.forceUpdate()},[]),[f,m]=Br(Object(i.useState)({placement:r,update:d,forceUpdate:p,attributes:{},styles:{popper:{},arrow:{}}})),b=Object(i.useMemo)(()=>({name:"updateStateModifier",enabled:!0,phase:"write",requires:["computeStyles"],fn:({state:e})=>{const t={},n={};Object.keys(e.elements).forEach(a=>{t[a]=e.styles[a],n[a]=e.attributes[a]}),m({state:e,styles:t,attributes:n,update:d,forceUpdate:p,placement:e.placement})}}),[d,p,m]),g=Object(i.useMemo)(()=>(Fr(c.current,o)||(c.current=o),c.current),[o]);return Object(i.useEffect)(()=>{u.current&&a&&u.current.setOptions({placement:r,strategy:s,modifiers:[...g,b,Xs]})},[s,r,b,a,g]),Object(i.useEffect)(()=>{if(a&&null!=e&&null!=t)return u.current=Gs(e,t,Object.assign({},l,{placement:r,strategy:s,modifiers:[...g,Qs,b]})),()=>{null!=u.current&&(u.current.destroy(),u.current=void 0,m(e=>Object.assign({},e,{attributes:{},styles:{popper:{}}})))}},[a,e,t]),f};function eo(e,t){return e.contains?e.contains(t):e.compareDocumentPosition?e===t||!!(16&e.compareDocumentPosition(t)):void 0}var to=n(11),no=n.n(to);const ao=()=>{};const ro=e=>e&&("current"in e?e.current:e);var so=function(e,t,{disabled:n,clickTrigger:a="click"}={}){const r=Object(i.useRef)(!1),s=t||ao,o=Object(i.useCallback)(t=>{const n=ro(e);var a;no()(!!n,"RootClose captured a close event but does not have a ref to compare it to. useRootClose(), should be passed a ref that resolves to a DOM node"),r.current=!(n&&(a=t,!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey))&&function(e){return 0===e.button}(t)&&!eo(n,t.target))},[e]),l=Ge(e=>{r.current||s(e)}),c=Ge(e=>{27===e.keyCode&&s(e)});Object(i.useEffect)(()=>{if(n||null==e)return;let t=window.event;const r=L(ro(e)),s=te(r,a,o,!0),i=te(r,a,e=>{e!==t?l(e):t=void 0}),u=te(r,"keyup",e=>{e!==t?c(e):t=void 0});let d=[];return"ontouchstart"in r.documentElement&&(d=[].slice.call(r.body.children).map(e=>te(e,"mousemove",ao))),()=>{s(),i(),u(),d.forEach(e=>e())}},[e,n,a,o,l,c])};function oo(e={}){return Array.isArray(e)?e:Object.keys(e).map(t=>(e[t].name=t,e[t]))}function io({enabled:e,enableEvents:t,placement:n,flip:a,offset:r,fixed:s,containerPadding:o,arrowElement:i,popperConfig:l={}}){var c,u,d,p;const f=function(e){const t={};return Array.isArray(e)?(null==e||e.forEach(e=>{t[e.name]=e}),t):e||t}(l.modifiers);return Object.assign({},l,{placement:n,enabled:e,strategy:s?"fixed":l.strategy,modifiers:oo(Object.assign({},f,{eventListeners:{enabled:t},preventOverflow:Object.assign({},f.preventOverflow,{options:o?Object.assign({padding:o},null==(c=f.preventOverflow)?void 0:c.options):null==(u=f.preventOverflow)?void 0:u.options}),offset:{options:Object.assign({offset:r},null==(d=f.offset)?void 0:d.options)},arrow:Object.assign({},f.arrow,{enabled:!!i,options:Object.assign({},null==(p=f.arrow)?void 0:p.options,{element:i})}),flip:Object.assign({enabled:!!a},f.flip)}))})}const lo=["children"];const co=()=>{};function uo(e={}){const t=Object(i.useContext)(Ir),[n,a]=Ue(),r=Object(i.useRef)(!1),{flip:s,offset:o,rootCloseEvent:l,fixed:c=!1,placement:u,popperConfig:d={},enableEventListeners:p=!0,usePopper:f=!!t}=e,m=null==(null==t?void 0:t.show)?!!e.show:t.show;m&&!r.current&&(r.current=!0);const{placement:b,setMenu:g,menuElement:h,toggleElement:y}=t||{},v=Zs(y,h,io({placement:u||b||"bottom-start",enabled:f,enableEvents:null==p?m:p,offset:o,flip:s,fixed:c,arrowElement:n,popperConfig:d})),_=Object.assign({ref:g||co,"aria-labelledby":null==y?void 0:y.id},v.attributes.popper,{style:v.styles.popper}),O={show:m,placement:b,hasShown:r.current,toggle:null==t?void 0:t.toggle,popper:f?v:null,arrowProps:f?Object.assign({ref:a},v.attributes.arrow,{style:v.styles.arrow}):{}};return so(h,e=>{null==t||t.toggle(!1,e)},{clickTrigger:l,disabled:!m}),[_,O]}function po(e){let{children:t}=e,n=function(e,t){if(null==e)return{};var n,a,r={},s=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}(e,lo);const[a,r]=uo(n);return Object(P.jsx)(P.Fragment,{children:t(a,r)})}po.displayName="DropdownMenu",po.defaultProps={usePopper:!0};var fo=po;const mo={prefix:String(Math.round(1e10*Math.random())),current:0},bo=l.a.createContext(mo);let go=Boolean("undefined"!=typeof window&&window.document&&window.document.createElement);function ho(e){let t=Object(i.useContext)(bo);return t!==mo||go||console.warn("When server rendering, you must wrap your application in an to ensure consistent ids are generated between the client and server."),Object(i.useMemo)(()=>e||"react-aria"+t.prefix+"-"+ ++t.current,[e])}const yo=e=>{var t;return"menu"===(null==(t=e.getAttribute("role"))?void 0:t.toLowerCase())},vo=()=>{};function _o(){const e=ho(),{show:t=!1,toggle:n=vo,setToggle:a,menuElement:r}=Object(i.useContext)(Ir)||{},s=Object(i.useCallback)(e=>{n(!t,e)},[t,n]),o={id:e,ref:a||vo,onClick:s,"aria-expanded":!!t};return r&&yo(r)&&(o["aria-haspopup"]=!0),[o,{show:t,toggle:n}]}function Oo({children:e}){const[t,n]=_o();return Object(P.jsx)(P.Fragment,{children:e(t,n)})}Oo.displayName="DropdownToggle";var jo=Oo;const xo=(e,t=null)=>null!=e?String(e):t||null;var wo=i.createContext(null);const No=i.createContext(null);No.displayName="NavContext";var Eo=No;function ko(e){return"data-rr-ui-"+e}const Po=["eventKey","disabled","onClick","active","as"];function Co({key:e,href:t,active:n,disabled:a,onClick:r}){const s=Object(i.useContext)(wo),o=Object(i.useContext)(Eo),{activeKey:l}=o||{},c=xo(e,t),u=null==n&&null!=e?xo(l)===c:n;return[{onClick:Ge(e=>{a||(null==r||r(e),s&&!e.isPropagationStopped()&&s(c,e))}),"aria-disabled":a||void 0,"aria-selected":u,[ko("dropdown-item")]:""},{isActive:u}]}const To=i.forwardRef((e,t)=>{let{eventKey:n,disabled:a,onClick:r,active:s,as:o=tt}=e,i=function(e,t){if(null==e)return{};var n,a,r={},s=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}(e,Po);const[l]=Co({key:n,href:i.href,disabled:a,onClick:r,active:s});return Object(P.jsx)(o,Object.assign({},i,{ref:t},l))});To.displayName="DropdownItem";var So=To;function Ro(){const e=Lr(),t=Object(i.useRef)(null),n=Object(i.useCallback)(n=>{t.current=n,e()},[e]);return[t,n]}function Do({defaultShow:e,show:t,onSelect:n,onToggle:a,itemSelector:r=`* [${ko("dropdown-item")}]`,focusFirstItemOnShow:s,placement:o="bottom-start",children:l}){const[c,u]=O(t,e,a),[d,p]=Ro(),f=d.current,[m,b]=Ro(),g=m.current,h=Qe(c),y=Object(i.useRef)(null),v=Object(i.useRef)(!1),_=Object(i.useContext)(wo),j=Object(i.useCallback)((e,t,n=(null==t?void 0:t.type))=>{u(e,{originalEvent:t,source:n})},[u]),x=Ge((e,t)=>{null==n||n(e,t),j(!1,t,"select"),t.isPropagationStopped()||null==_||_(e,t)}),w=Object(i.useMemo)(()=>({toggle:j,placement:o,show:c,menuElement:f,toggleElement:g,setMenu:p,setToggle:b}),[j,o,c,f,g,p,b]);f&&h&&!c&&(v.current=f.contains(document.activeElement));const N=Ge(()=>{g&&g.focus&&g.focus()}),E=Ge(()=>{const e=y.current;let t=s;if(null==t&&(t=!(!d.current||!yo(d.current))&&"keyboard"),!1===t||"keyboard"===t&&!/^key.+$/.test(e))return;const n=Dr(d.current,r)[0];n&&n.focus&&n.focus()});Object(i.useEffect)(()=>{c?E():v.current&&(v.current=!1,N())},[c,v,N,E]),Object(i.useEffect)(()=>{y.current=null});const k=(e,t)=>{if(!d.current)return null;const n=Dr(d.current,r);let a=n.indexOf(e)+t;return a=Math.max(0,Math.min(a,n.length)),n[a]};return Ye("keydown",e=>{var t,n;const{key:a}=e,r=e.target,s=null==(t=d.current)?void 0:t.contains(r),o=null==(n=m.current)?void 0:n.contains(r);if(/input|textarea/i.test(r.tagName)&&(" "===a||"Escape"!==a&&s))return;if(!s&&!o)return;if(!("Tab"!==a||d.current&&c))return;y.current=e.type;const i={originalEvent:e,source:e.type};switch(a){case"ArrowUp":{const t=k(r,-1);return t&&t.focus&&t.focus(),void e.preventDefault()}case"ArrowDown":if(e.preventDefault(),c){const e=k(r,1);e&&e.focus&&e.focus()}else u(!0,i);return;case"Tab":Z(document,"keyup",e=>{var t;("Tab"!==e.key||e.target)&&null!=(t=d.current)&&t.contains(e.target)||u(!1,i)},{once:!0});break;case"Escape":"Escape"===a&&(e.preventDefault(),e.stopPropagation()),u(!1,i)}}),Object(P.jsx)(wo.Provider,{value:x,children:Object(P.jsx)(Ir.Provider,{value:w,children:l})})}Do.displayName="Dropdown",Do.Menu=fo,Do.Toggle=jo,Do.Item=So;var Lo=Do;const Io=i.createContext({});Io.displayName="DropdownContext";var Mo=Io;const Ao=i.forwardRef(({bsPrefix:e,className:t,eventKey:n,disabled:a=!1,onClick:r,active:s,as:o=rt,...i},l)=>{const c=R(e,"dropdown-item"),[u,d]=Co({key:n,href:i.href,disabled:a,onClick:r,active:s});return Object(P.jsx)(o,{...i,...u,ref:l,className:g()(t,c,d.isActive&&"active",a&&"disabled")})});Ao.displayName="DropdownItem";var Fo=Ao,Bo=n(24);const $o=i.createContext(null);$o.displayName="InputGroupContext";var Ko=$o;const zo=i.createContext(null);zo.displayName="NavbarContext";var Ho=zo;function Wo(e,t){return e}function qo(e,t,n){let a=e?n?"bottom-start":"bottom-end":n?"bottom-end":"bottom-start";return"up"===t?a=e?n?"top-start":"top-end":n?"top-end":"top-start":"end"===t?a=e?n?"left-end":"right-end":n?"left-start":"right-start":"start"===t&&(a=e?n?"right-end":"left-end":n?"right-start":"left-start"),a}const Uo=i.forwardRef(({bsPrefix:e,className:t,align:n,rootCloseEvent:a,flip:r,show:s,renderOnMount:o,as:l="div",popperConfig:c,variant:u,...d},p)=>{let f=!1;const m=Object(i.useContext)(Ho),b=R(e,"dropdown-menu"),{align:h,drop:y,isRTL:v}=Object(i.useContext)(Mo);n=n||h;const _=Object(i.useContext)(Ko),O=[];if(n)if("object"==typeof n){const e=Object.keys(n);if(e.length){const t=e[0],a=n[t];f="start"===a,O.push(`${b}-${t}-${a}`)}}else"end"===n&&(f=!0);const j=qo(f,y,v),[x,{hasShown:w,popper:N,show:E,toggle:k}]=uo({flip:r,rootCloseEvent:a,show:s,usePopper:!m&&0===O.length,offset:[0,2],popperConfig:c,placement:j});if(x.ref=ce(Wo(p),x.ref),Object(Bo.a)(()=>{E&&(null==N||N.update())},[E]),!w&&!o&&!_)return null;"string"!=typeof l&&(x.show=E,x.close=()=>null==k?void 0:k(!1),x.align=n);let C=d.style;return null!=N&&N.placement&&(C={...d.style,...x.style},d["x-placement"]=N.placement),Object(P.jsx)(l,{...d,...x,style:C,...(O.length||m)&&{"data-bs-popper":"static"},className:g()(t,b,E&&"show",f&&b+"-end",u&&`${b}-${u}`,...O)})});Uo.displayName="DropdownMenu",Uo.defaultProps={flip:!0};var Vo=Uo;const Go=i.forwardRef(({bsPrefix:e,split:t,className:n,childBsPrefix:a,as:r=cn,...s},o)=>{const l=R(e,"dropdown-toggle"),c=Object(i.useContext)(Ir),u=Object(i.useContext)(Ko);void 0!==a&&(s.bsPrefix=a);const[d]=_o();return d.ref=ce(d.ref,Wo(o)),Object(P.jsx)(r,{className:g()(n,l,t&&l+"-split",!!u&&(null==c?void 0:c.show)&&"show"),...d,...s})});Go.displayName="DropdownToggle";var Yo=Go;const Xo=mt("dropdown-header",{defaultProps:{role:"heading"}}),Qo=mt("dropdown-divider",{Component:"hr",defaultProps:{role:"separator"}}),Jo=mt("dropdown-item-text",{Component:"span"}),Zo=i.forwardRef((e,t)=>{const{bsPrefix:n,drop:a,show:r,className:s,align:o,onSelect:l,onToggle:c,focusFirstItemOnShow:u,as:d="div",navbar:p,autoClose:f,...m}=j(e,{show:"onToggle"}),b=Object(i.useContext)(Ko),h=R(n,"dropdown"),y=D(),v=qe((e,t)=>{var n;t.originalEvent.currentTarget!==document||"keydown"===t.source&&"Escape"!==t.originalEvent.key||(t.source="rootClose"),n=t.source,(!1===f?"click"===n:"inside"===f?"rootClose"!==n:"outside"!==f||"select"!==n)&&(null==c||c(e,t))}),_=qo("end"===o,a,y),O=Object(i.useMemo)(()=>({align:o,drop:a,isRTL:y}),[o,a,y]);return Object(P.jsx)(Mo.Provider,{value:O,children:Object(P.jsx)(Lo,{placement:_,show:r,onSelect:l,onToggle:v,focusFirstItemOnShow:u,itemSelector:`.${h}-item:not(.disabled):not(:disabled)`,children:b?m.children:Object(P.jsx)(d,{...m,ref:t,className:g()(s,r&&"show",(!a||"down"===a)&&h,"up"===a&&"dropup","end"===a&&"dropend","start"===a&&"dropstart")})})})});Zo.displayName="Dropdown",Zo.defaultProps={navbar:!1,align:"start",autoClose:!0};var ei=Object.assign(Zo,{Toggle:Yo,Menu:Vo,Item:Fo,ItemText:Jo,Divider:Qo,Header:Xo}),ti=(n(39),function(e){return e&&"function"!=typeof e?function(t){e.current=t}:e});var ni=function(e,t){return Object(i.useMemo)((function(){return function(e,t){var n=ti(e),a=ti(t);return function(e){n&&n(e),a&&a(e)}}(e,t)}),[e,t])};var ai=i.createContext(null);const ri=["as","active","eventKey"];function si({key:e,onClick:t,active:n,id:a,role:r,disabled:s}){const o=Object(i.useContext)(wo),l=Object(i.useContext)(Eo);let c=n;const u={role:r};if(l){r||"tablist"!==l.role||(u.role="tab");const t=l.getControllerId(null!=e?e:null),s=l.getControlledId(null!=e?e:null);u[ko("event-key")]=e,u.id=t||a,u["aria-controls"]=s,c=null==n&&null!=e?l.activeKey===e:n}return"tab"===u.role&&(s&&(u.tabIndex=-1,u["aria-disabled"]=!0),c?u["aria-selected"]=c:u.tabIndex=-1),u.onClick=Ge(n=>{s||(null==t||t(n),null!=e&&o&&!n.isPropagationStopped()&&o(e,n))}),[u,{isActive:c}]}const oi=i.forwardRef((e,t)=>{let{as:n=tt,active:a,eventKey:r}=e,s=function(e,t){if(null==e)return{};var n,a,r={},s=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}(e,ri);const[o,i]=si(Object.assign({key:xo(r,s.href),active:a},s));return o[ko("active")]=i.isActive,Object(P.jsx)(n,Object.assign({},s,o,{ref:t}))});oi.displayName="NavItem";var ii=oi;const li=["as","onSelect","activeKey","role","onKeyDown"];const ci=()=>{},ui=ko("event-key"),di=i.forwardRef((e,t)=>{let{as:n="div",onSelect:a,activeKey:r,role:s,onKeyDown:o}=e,l=function(e,t){if(null==e)return{};var n,a,r={},s=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}(e,li);const c=Lr(),u=Object(i.useRef)(!1),d=Object(i.useContext)(wo),p=Object(i.useContext)(ai);let f,m;p&&(s=s||"tablist",r=p.activeKey,f=p.getControlledId,m=p.getControllerId);const b=Object(i.useRef)(null),g=e=>{const t=b.current;if(!t)return null;const n=Dr(t,`[${ui}]:not([aria-disabled=true])`),a=t.querySelector("[aria-selected=true]");if(!a)return null;const r=n.indexOf(a);if(-1===r)return null;let s=r+e;return s>=n.length&&(s=0),s<0&&(s=n.length-1),n[s]},h=(e,t)=>{null!=e&&(null==a||a(e,t),null==d||d(e,t))};Object(i.useEffect)(()=>{if(b.current&&u.current){const e=b.current.querySelector(`[${ui}][aria-selected=true]`);null==e||e.focus()}u.current=!1});const y=ni(t,b);return Object(P.jsx)(wo.Provider,{value:h,children:Object(P.jsx)(Eo.Provider,{value:{role:s,activeKey:xo(r),getControlledId:f||ci,getControllerId:m||ci},children:Object(P.jsx)(n,Object.assign({},l,{onKeyDown:e=>{if(null==o||o(e),!p)return;let t;switch(e.key){case"ArrowLeft":case"ArrowUp":t=g(-1);break;case"ArrowRight":case"ArrowDown":t=g(1);break;default:return}var n;t&&(e.preventDefault(),h(t.dataset[(n="EventKey","rrUi"+n)]||null,e),u.current=!0,c())},ref:y,role:s}))})})});di.displayName="Nav";var pi=Object.assign(di,{Item:ii}),fi=mt("nav-item");const mi=i.forwardRef(({bsPrefix:e,className:t,as:n=rt,active:a,eventKey:r,...s},o)=>{e=R(e,"nav-link");const[i,l]=si({key:xo(r,s.href),active:a,...s});return Object(P.jsx)(n,{...s,...i,ref:o,className:g()(t,e,s.disabled&&"disabled",l.isActive&&"active")})});mi.displayName="NavLink",mi.defaultProps={disabled:!1};var bi=mi;const gi=i.forwardRef((e,t)=>{const{as:n="div",bsPrefix:a,variant:r,fill:s,justify:o,navbar:l,navbarScroll:c,className:u,activeKey:d,...p}=j(e,{activeKey:"onSelect"}),f=R(a,"nav");let m,b,h=!1;const y=Object(i.useContext)(Ho),v=Object(i.useContext)(On);return y?(m=y.bsPrefix,h=null==l||l):v&&({cardHeaderBsPrefix:b}=v),Object(P.jsx)(pi,{as:n,ref:t,activeKey:d,className:g()(u,{[f]:!h,[m+"-nav"]:h,[m+"-nav-scroll"]:h&&c,[`${b}-${r}`]:!!b,[`${f}-${r}`]:!!r,[f+"-fill"]:s,[f+"-justified"]:o}),...p})});gi.displayName="Nav",gi.defaultProps={justify:!1,fill:!1};var hi=Object.assign(gi,{Item:fi,Link:bi}),yi=l.a.createContext({}),vi=["children","nav","label","disabled","caret","in_navbar","addon_type","size","right","align_end","menu_variant","direction","loading_state","color","group","toggle_style","toggleClassName","toggle_class_name","className","class_name"];function _i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Oi(e){for(var t=1;tObject(P.jsx)(e,{...r,ref:s,className:g()(t,`${n}-${a?"tooltip":"feedback"}`)}));Di.displayName="Feedback",Di.propTypes=Ri;var Li=Di;var Ii=i.createContext({});const Mi=i.forwardRef(({id:e,bsPrefix:t,className:n,type:a="checkbox",isValid:r=!1,isInvalid:s=!1,as:o="input",...l},c)=>{const{controlId:u}=Object(i.useContext)(Ii);return t=R(t,"form-check-input"),Object(P.jsx)(o,{...l,ref:c,type:a,id:e||u,className:g()(n,t,r&&"is-valid",s&&"is-invalid")})});Mi.displayName="FormCheckInput";var Ai=Mi;const Fi=i.forwardRef(({bsPrefix:e,className:t,htmlFor:n,...a},r)=>{const{controlId:s}=Object(i.useContext)(Ii);return e=R(e,"form-check-label"),Object(P.jsx)("label",{...a,ref:r,htmlFor:n||s,className:g()(t,e)})});Fi.displayName="FormCheckLabel";var Bi=Fi;const $i=i.forwardRef(({id:e,bsPrefix:t,bsSwitchPrefix:n,inline:a=!1,disabled:r=!1,isValid:s=!1,isInvalid:o=!1,feedbackTooltip:l=!1,feedback:c,feedbackType:u,className:d,style:p,title:f="",type:m="checkbox",label:b,children:h,as:y="input",...v},_)=>{t=R(t,"form-check"),n=R(n,"form-switch");const{controlId:O}=Object(i.useContext)(Ii),j=Object(i.useMemo)(()=>({controlId:e||O}),[O,e]),x=null!=b&&!1!==b&&!h,w=Object(P.jsx)(Ai,{...v,type:"switch"===m?"checkbox":m,ref:_,isValid:s,isInvalid:o,disabled:r,as:y});return Object(P.jsx)(Ii.Provider,{value:j,children:Object(P.jsx)("div",{style:p,className:g()(d,b&&t,a&&t+"-inline","switch"===m&&n),children:h||Object(P.jsxs)(P.Fragment,{children:[w,x&&Object(P.jsx)(Bi,{title:f,children:b}),c&&Object(P.jsx)(Li,{type:u,tooltip:l,children:c})]})})})});$i.displayName="FormCheck";var Ki=Object.assign($i,{Input:Ai,Label:Bi});const zi=i.forwardRef(({bsPrefix:e,type:t,size:n,htmlSize:a,id:r,className:s,isValid:o=!1,isInvalid:l=!1,plaintext:c,readOnly:u,as:d="input",...p},f)=>{const{controlId:m}=Object(i.useContext)(Ii);let b;return e=R(e,"form-control"),b=c?{[e+"-plaintext"]:!0}:{[e]:!0,[`${e}-${n}`]:n},Object(P.jsx)(d,{...p,type:t,size:a,ref:f,readOnly:u,id:r||m,className:g()(s,b,o&&"is-valid",l&&"is-invalid","color"===t&&e+"-color")})});zi.displayName="FormControl";var Hi=Object.assign(zi,{Feedback:Li}),Wi=mt("form-floating");const qi=i.forwardRef(({controlId:e,as:t="div",...n},a)=>{const r=Object(i.useMemo)(()=>({controlId:e}),[e]);return Object(P.jsx)(Ii.Provider,{value:r,children:Object(P.jsx)(t,{...n,ref:a})})});qi.displayName="FormGroup";var Ui=qi;const Vi=i.forwardRef(({as:e="label",bsPrefix:t,column:n,visuallyHidden:a,className:r,htmlFor:s,...o},l)=>{const{controlId:c}=Object(i.useContext)(Ii);t=R(t,"form-label");let u="col-form-label";"string"==typeof n&&(u=`${u} ${u}-${n}`);const d=g()(r,t,a&&"visually-hidden",n&&u);return s=s||c,n?Object(P.jsx)(br,{ref:l,as:"label",className:d,htmlFor:s,...o}):Object(P.jsx)(e,{ref:l,className:d,htmlFor:s,...o})});Vi.displayName="FormLabel",Vi.defaultProps={column:!1,visuallyHidden:!1};var Gi=Vi;const Yi=i.forwardRef(({bsPrefix:e,className:t,id:n,...a},r)=>{const{controlId:s}=Object(i.useContext)(Ii);return e=R(e,"form-range"),Object(P.jsx)("input",{...a,type:"range",ref:r,className:g()(t,e),id:n||s})});Yi.displayName="FormRange";var Xi=Yi;const Qi=i.forwardRef(({bsPrefix:e,size:t,htmlSize:n,className:a,isValid:r=!1,isInvalid:s=!1,id:o,...l},c)=>{const{controlId:u}=Object(i.useContext)(Ii);return e=R(e,"form-select"),Object(P.jsx)("select",{...l,size:n,ref:c,className:g()(a,e,t&&`${e}-${t}`,r&&"is-valid",s&&"is-invalid"),id:o||u})});Qi.displayName="FormSelect";var Ji=Qi;const Zi=i.forwardRef(({bsPrefix:e,className:t,as:n="small",muted:a,...r},s)=>(e=R(e,"form-text"),Object(P.jsx)(n,{...r,ref:s,className:g()(t,e,a&&"text-muted")})));Zi.displayName="FormText";var el=Zi;const tl=i.forwardRef((e,t)=>Object(P.jsx)(Ki,{...e,ref:t,type:"switch"}));tl.displayName="Switch";var nl=Object.assign(tl,{Input:Ki.Input,Label:Ki.Label});const al=i.forwardRef(({bsPrefix:e,className:t,children:n,controlId:a,label:r,...s},o)=>(e=R(e,"form-floating"),Object(P.jsxs)(Ui,{ref:o,className:g()(t,e),controlId:a,...s,children:[n,Object(P.jsx)("label",{htmlFor:a,children:r})]})));al.displayName="FloatingLabel";var rl=al;const sl={_ref:u.a.any,validated:u.a.bool,as:u.a.elementType},ol=i.forwardRef(({className:e,validated:t,as:n="form",...a},r)=>Object(P.jsx)(n,{...a,ref:r,className:g()(e,t&&"was-validated")}));ol.displayName="Form",ol.propTypes=sl;var il=Object.assign(ol,{Group:Ui,Control:Hi,Floating:Wi,Check:Ki,Switch:nl,Label:Gi,Text:el,Range:Xi,Select:Ji,FloatingLabel:rl}),ll=["children","loading_state","n_submit","prevent_default_on_submit","setProps","className","class_name"],cl=function(e){var t=e.children,n=e.loading_state,a=e.n_submit,s=e.prevent_default_on_submit,i=e.setProps,c=e.className,u=e.class_name,d=o()(e,ll);return l.a.createElement(il,r()({onSubmit:function(e){s&&e.preventDefault(),i&&i({n_submit:a+1,n_submit_timestamp:Date.now()})},className:u||c},m(["n_submit_timestamp"],d),{"data-dash-is-loading":n&&n.is_loading||void 0}),t)};cl.defaultProps={prevent_default_on_submit:!0,n_submit:0,n_submit_timestamp:-1},cl.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,action:u.a.string,method:u.a.oneOf(["GET","POST"]),n_submit:u.a.number,n_submit_timestamp:u.a.number,prevent_default_on_submit:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var ul=cl,dl=["children","loading_state","className","class_name"],pl=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=o()(e,dl);return l.a.createElement(Hi.Feedback,r()({className:s||a},m(["setProps"],i),{"data-dash-is-loading":n&&n.is_loading||void 0}),t)};pl.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,type:u.a.string,tooltip:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var fl=pl,ml=["children","html_for","className","class_name","loading_state"],bl=function(e){var t=e.children,n=e.html_for,a=e.className,s=e.class_name,i=e.loading_state,c=o()(e,ml);return l.a.createElement(Wi,r()({htmlFor:n,className:s||a},m(["setProps"],c),{"data-dash-is-loading":i&&i.is_loading||void 0}),t)};bl.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,html_for:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var gl=bl,hl=["children","loading_state","color","style","className","class_name"];function yl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function vl(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};if("number"===t){var a=L.current.value,r=L.current.checkValidity()?Pl(a):NaN,s=Pl(n);Cl(s,r)?Object.keys(e).length&&b(e):b(kl(kl({},e),{},{value:r}))}else e.value=L.current.value,b(e)};return l.a.createElement("input",r()({ref:L,type:t,className:M,onChange:function(){h||A()},onBlur:function(){if(b){var e={n_blur:a+1,n_blur_timestamp:Date.now()};h?A(e):b(e)}},onKeyPress:function(e){if(b&&"Enter"===e.key){var t={n_submit:s+1,n_submit_timestamp:Date.now()};h?A(t):b(t)}}},m(["n_blur_timestamp","n_submit_timestamp","persistence","persistence_type","persisted_props"],D),{valid:c?"true":void 0,invalid:u?"true":void 0,"data-dash-is-loading":y&&y.is_loading||void 0,autoComplete:j||O,autoFocus:w||x,inputMode:E||N,maxLength:P||k,minLength:T||C,tabIndex:R||S,size:f}))};Tl.propTypes={id:u.a.string,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,type:u.a.oneOf(["text","number","password","email","range","search","tel","url","hidden"]),value:u.a.oneOfType([u.a.string,u.a.number]),disabled:u.a.bool,autocomplete:u.a.string,autoComplete:u.a.string,autofocus:u.a.oneOfType([u.a.oneOf(["autoFocus","autofocus","AUTOFOCUS"]),u.a.bool]),autoFocus:u.a.oneOfType([u.a.oneOf(["autoFocus","autofocus","AUTOFOCUS"]),u.a.bool]),inputmode:u.a.oneOf(["verbatim","latin","latin-name","latin-prose","full-width-latin","kana","katakana","numeric","tel","email","url"]),inputMode:u.a.oneOf(["verbatim","latin","latin-name","latin-prose","full-width-latin","kana","katakana","numeric","tel","email","url"]),list:u.a.string,max:u.a.oneOfType([u.a.string,u.a.number]),maxlength:u.a.oneOfType([u.a.string,u.a.number]),maxLength:u.a.oneOfType([u.a.string,u.a.number]),min:u.a.oneOfType([u.a.string,u.a.number]),minlength:u.a.oneOfType([u.a.string,u.a.number]),minLength:u.a.oneOfType([u.a.string,u.a.number]),step:u.a.oneOfType([u.a.string,u.a.number]),html_size:u.a.string,size:u.a.string,valid:u.a.bool,invalid:u.a.bool,required:u.a.oneOfType([u.a.oneOf(["required","REQUIRED"]),u.a.bool]),plaintext:u.a.bool,placeholder:u.a.oneOfType([u.a.string,u.a.number]),name:u.a.string,pattern:u.a.string,n_submit:u.a.number,n_submit_timestamp:u.a.number,n_blur:u.a.number,n_blur_timestamp:u.a.number,debounce:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string}),persistence:u.a.oneOfType([u.a.bool,u.a.string,u.a.number]),persisted_props:u.a.arrayOf(u.a.oneOf(["value"])),persistence_type:u.a.oneOf(["local","session","memory"]),tabindex:u.a.string,tabIndex:u.a.string},Tl.defaultProps={n_blur:0,n_blur_timestamp:-1,n_submit:0,n_submit_timestamp:-1,debounce:!1,persisted_props:["value"],persistence_type:"local",step:"any"};var Sl=Tl;const Rl=mt("input-group-text",{Component:"span"}),Dl=i.forwardRef(({bsPrefix:e,size:t,hasValidation:n,className:a,as:r="div",...s},o)=>{e=R(e,"input-group");const l=Object(i.useMemo)(()=>({}),[]);return Object(P.jsx)(Ko.Provider,{value:l,children:Object(P.jsx)(r,{ref:o,...s,className:g()(a,e,t&&`${e}-${t}`,n&&"has-validation")})})});Dl.displayName="InputGroup";var Ll=Object.assign(Dl,{Text:Rl,Radio:e=>Object(P.jsx)(Rl,{children:Object(P.jsx)(Ai,{type:"radio",...e})}),Checkbox:e=>Object(P.jsx)(Rl,{children:Object(P.jsx)(Ai,{type:"checkbox",...e})})}),Il=["children","loading_state","className","class_name"],Ml=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=o()(e,Il);return l.a.createElement(Ll,r()({className:s||a},m(["setProps"],i),{"data-dash-is-loading":n&&n.is_loading||void 0}),t)};Ml.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,size:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var Al=Ml,Fl=["children","loading_state","className","class_name"],Bl=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=o()(e,Fl);return l.a.createElement(Ll.Text,r()({className:s||a},m(["setProps"],i),{"data-dash-is-loading":n&&n.is_loading||void 0}),t)};Bl.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,key:u.a.string,class_name:u.a.string,className:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var $l=Bl,Kl=["children","html_for","width","xs","sm","md","lg","xl","xxl","align","size","className","class_name","color","style","loading_state","check"];function zl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Hl(e){for(var t=1;t0,xs:s||a,sm:i,md:c,lg:u,xl:d,xxl:p,className:k,style:w?_:Hl({color:v},_)},m(["setProps"],x),{"data-dash-is-loading":O&&O.is_loading||void 0}),t)},Vl=u.a.oneOfType([u.a.number,u.a.string]),Gl=u.a.oneOfType([u.a.string,u.a.number,u.a.shape({size:Vl,order:Vl,offset:Vl})]);Ul.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,hidden:u.a.bool,size:u.a.string,html_for:u.a.string,check:u.a.bool,width:Gl,xs:Gl,sm:Gl,md:Gl,lg:Gl,xl:Gl,align:u.a.oneOf(["start","center","end"]),color:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})},Ul.defaultProps={align:"center"};var Yl=Ul;const Xl=i.forwardRef(({bsPrefix:e,active:t,disabled:n,eventKey:a,className:r,variant:s,action:o,as:i,...l},c)=>{e=R(e,"list-group-item");const[u,d]=si({key:xo(a,l.href),active:t,...l}),p=qe(e=>{if(n)return e.preventDefault(),void e.stopPropagation();u.onClick(e)});n&&void 0===l.tabIndex&&(l.tabIndex=-1,l["aria-disabled"]=!0);const f=i||(o?l.href?"a":"button":"div");return Object(P.jsx)(f,{ref:c,...l,...u,onClick:p,className:g()(r,e,d.isActive&&"active",n&&"disabled",s&&`${e}-${s}`,o&&e+"-action")})});Xl.displayName="ListGroupItem";var Ql=Xl;const Jl=i.forwardRef((e,t)=>{const{className:n,bsPrefix:a,variant:r,horizontal:s,as:o="div",...i}=j(e,{activeKey:"onSelect"}),l=R(a,"list-group");let c;return s&&(c=!0===s?"horizontal":"horizontal-"+s),Object(P.jsx)(pi,{ref:t,...i,as:o,className:g()(n,l,r&&`${l}-${r}`,c&&`${l}-${c}`)})});Jl.displayName="ListGroup";var Zl=Object.assign(Jl,{Item:Ql}),ec=["children","loading_state","className","class_name","flush","tag"],tc=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=e.flush,c=e.tag,u=o()(e,ec);return l.a.createElement(Zl,r()({className:s||a,variant:i?"flush":null,as:c},m(["setProps"],u),{"data-dash-is-loading":n&&n.is_loading||void 0}),t)};tc.defaultProps={tag:"ul"},tc.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,tag:u.a.string,flush:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string}),horizontal:u.a.oneOfType([u.a.bool,u.a.string])};var nc=tc,ac=["children","disabled","loading_state","target","n_clicks","setProps","color","style","className","class_name"];function rc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function sc(e){for(var t=1;tthis.remove(e))}removeContainerStyle(e){const t=this.getElement();t.removeAttribute(pc),Object.assign(t.style,e.style)}add(e){let t=this.modals.indexOf(e);return-1!==t?t:(t=this.modals.length,this.modals.push(e),this.setModalAttributes(e),0!==t||(this.state={scrollBarWidth:this.getScrollbarWidth(),style:{}},this.handleContainerOverflow&&this.setContainerStyle(this.state)),t)}remove(e){const t=this.modals.indexOf(e);-1!==t&&(this.modals.splice(t,1),!this.modals.length&&this.handleContainerOverflow&&this.removeContainerStyle(this.state),this.removeModalAttributes(e))}isTopModal(e){return!!this.modals.length&&this.modals[this.modals.length-1]===e}};const mc=e=>{var t;return"undefined"==typeof document?null:null==e?L().body:("function"==typeof e&&(e=e()),e&&"current"in e&&(e=e.current),null!=(t=e)&&t.nodeType&&e||null)};function bc(e,t){const[n,a]=Object(i.useState)(()=>mc(e));if(!n){const t=mc(e);t&&a(t)}return Object(i.useEffect)(()=>{t&&n&&t(n)},[t,n]),Object(i.useEffect)(()=>{const t=mc(e);t!==n&&a(t)},[e,n]),n}const gc=["show","role","className","style","children","backdrop","keyboard","onBackdropClick","onEscapeKeyDown","transition","backdropTransition","autoFocus","enforceFocus","restoreFocus","restoreFocusOptions","renderDialog","renderBackdrop","manager","container","onShow","onHide","onExit","onExited","onExiting","onEnter","onEntering","onEntered"];let hc;function yc(e){const t=e||(hc||(hc=new fc),hc),n=Object(i.useRef)({dialog:null,backdrop:null});return Object.assign(n.current,{add:()=>t.add(n.current),remove:()=>t.remove(n.current),isTopModal:()=>t.isTopModal(n.current),setDialogRef:Object(i.useCallback)(e=>{n.current.dialog=e},[]),setBackdropRef:Object(i.useCallback)(e=>{n.current.backdrop=e},[])})}const vc=Object(i.forwardRef)((e,t)=>{let{show:n=!1,role:a="dialog",className:r,style:s,children:o,backdrop:l=!0,keyboard:c=!0,onBackdropClick:u,onEscapeKeyDown:d,transition:p,backdropTransition:f,autoFocus:m=!0,enforceFocus:b=!0,restoreFocus:g=!0,restoreFocusOptions:h,renderDialog:y,renderBackdrop:v=(e=>Object(P.jsx)("div",Object.assign({},e))),manager:_,container:O,onShow:j,onHide:x=(()=>{}),onExit:w,onExited:N,onExiting:E,onEnter:k,onEntering:C,onEntered:T}=e,S=function(e,t){if(null==e)return{};var n,a,r={},s=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}(e,gc);const R=bc(O),D=yc(_),L=Xe(),I=Qe(n),[M,A]=Object(i.useState)(!n),F=Object(i.useRef)(null);Object(i.useImperativeHandle)(t,()=>D,[D]),Y&&!I&&n&&(F.current=uc()),p||n||M?n&&M&&A(!1):A(!0);const B=Ge(()=>{if(D.add(),U.current=te(document,"keydown",W),q.current=te(document,"focus",()=>setTimeout(K),!0),j&&j(),m){const e=uc(document);D.dialog&&e&&!eo(D.dialog,e)&&(F.current=e,D.dialog.focus())}}),$=Ge(()=>{var e;(D.remove(),null==U.current||U.current(),null==q.current||q.current(),g)&&(null==(e=F.current)||null==e.focus||e.focus(h),F.current=null)});Object(i.useEffect)(()=>{n&&R&&B()},[n,R,B]),Object(i.useEffect)(()=>{M&&$()},[M,$]),dc(()=>{$()});const K=Ge(()=>{if(!b||!L()||!D.isTopModal())return;const e=uc();D.dialog&&e&&!eo(D.dialog,e)&&D.dialog.focus()}),H=Ge(e=>{e.target===e.currentTarget&&(null==u||u(e),!0===l&&x())}),W=Ge(e=>{c&&27===e.keyCode&&D.isTopModal()&&(null==d||d(e),e.defaultPrevented||x())}),q=Object(i.useRef)(),U=Object(i.useRef)(),V=(...e)=>{A(!0),null==N||N(...e)},G=p;if(!R||!(n||G&&!M))return null;const X=Object.assign({role:a,ref:D.setDialogRef,"aria-modal":"dialog"===a||void 0},S,{style:s,className:r,tabIndex:-1});let Q=y?y(X):Object(P.jsx)("div",Object.assign({},X,{children:i.cloneElement(o,{role:"document"})}));G&&(Q=Object(P.jsx)(G,{appear:!0,unmountOnExit:!0,in:!!n,onExit:w,onExiting:E,onExited:V,onEnter:k,onEntering:C,onEntered:T,children:Q}));let J=null;if(l){const e=f;J=v({ref:D.setBackdropRef,onClick:H}),e&&(J=Object(P.jsx)(e,{appear:!0,in:!!n,children:J}))}return Object(P.jsx)(P.Fragment,{children:z.a.createPortal(Object(P.jsxs)(P.Fragment,{children:[J,Q]}),R)})});vc.displayName="Modal";var _c=Object.assign(vc,{Manager:fc});function Oc(e,t){return e.classList?!!t&&e.classList.contains(t):-1!==(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")}function jc(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}const xc=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",wc=".sticky-top",Nc=".navbar-toggler";class Ec extends fc{adjustAndStore(e,t,n){const a=t.style[e];t.dataset[e]=a,$(t,{[e]:parseFloat($(t,e))+n+"px"})}restore(e,t){const n=t.dataset[e];void 0!==n&&(delete t.dataset[e],$(t,{[e]:n}))}setContainerStyle(e){super.setContainerStyle(e);const t=this.getElement();var n,a;if(a="modal-open",(n=t).classList?n.classList.add(a):Oc(n,a)||("string"==typeof n.className?n.className=n.className+" "+a:n.setAttribute("class",(n.className&&n.className.baseVal||"")+" "+a)),!e.scrollBarWidth)return;const r=this.isRTL?"paddingLeft":"paddingRight",s=this.isRTL?"marginLeft":"marginRight";Dr(t,xc).forEach(t=>this.adjustAndStore(r,t,e.scrollBarWidth)),Dr(t,wc).forEach(t=>this.adjustAndStore(s,t,-e.scrollBarWidth)),Dr(t,Nc).forEach(t=>this.adjustAndStore(s,t,e.scrollBarWidth))}removeContainerStyle(e){super.removeContainerStyle(e);const t=this.getElement();var n,a;a="modal-open",(n=t).classList?n.classList.remove(a):"string"==typeof n.className?n.className=jc(n.className,a):n.setAttribute("class",jc(n.className&&n.className.baseVal||"",a));const r=this.isRTL?"paddingLeft":"paddingRight",s=this.isRTL?"marginLeft":"marginRight";Dr(t,xc).forEach(e=>this.restore(r,e)),Dr(t,wc).forEach(e=>this.restore(s,e)),Dr(t,Nc).forEach(e=>this.restore(s,e))}}let kc;function Pc(e){return kc||(kc=new Ec(e)),kc}var Cc=Ec,Tc=mt("modal-body");var Sc=i.createContext({onHide(){}});const Rc=i.forwardRef(({bsPrefix:e,className:t,contentClassName:n,centered:a,size:r,fullscreen:s,children:o,scrollable:i,...l},c)=>{const u=(e=R(e,"modal"))+"-dialog",d="string"==typeof s?`${e}-fullscreen-${s}`:e+"-fullscreen";return Object(P.jsx)("div",{...l,ref:c,className:g()(u,t,r&&`${e}-${r}`,a&&u+"-centered",i&&u+"-scrollable",s&&d),children:Object(P.jsx)("div",{className:g()(e+"-content",n),children:o})})});Rc.displayName="ModalDialog";var Dc=Rc,Lc=mt("modal-footer");const Ic=i.forwardRef(({closeLabel:e,closeVariant:t,closeButton:n,onHide:a,children:r,...s},o)=>{const l=Object(i.useContext)(Sc),c=qe(()=>{null==l||l.onHide(),null==a||a()});return Object(P.jsxs)("div",{ref:o,...s,children:[r,n&&Object(P.jsx)(ut,{"aria-label":e,variant:t,onClick:c})]})});Ic.defaultProps={closeLabel:"Close",closeButton:!1};var Mc=Ic;const Ac=i.forwardRef(({bsPrefix:e,className:t,...n},a)=>(e=R(e,"modal-header"),Object(P.jsx)(Mc,{ref:a,...n,className:g()(t,e)})));Ac.displayName="ModalHeader",Ac.defaultProps={closeLabel:"Close",closeButton:!1};var Fc=Ac;var Bc=mt("modal-title",{Component:dt("h4")});const $c={show:!1,backdrop:!0,keyboard:!0,autoFocus:!0,enforceFocus:!0,restoreFocus:!0,animation:!0,dialogAs:Dc};function Kc(e){return Object(P.jsx)(it,{...e,timeout:null})}function zc(e){return Object(P.jsx)(it,{...e,timeout:null})}const Hc=i.forwardRef(({bsPrefix:e,className:t,style:n,dialogClassName:a,contentClassName:r,children:s,dialogAs:o,"aria-labelledby":l,show:c,animation:u,backdrop:d,keyboard:p,onEscapeKeyDown:f,onShow:m,onHide:b,container:h,autoFocus:y,enforceFocus:v,restoreFocus:_,restoreFocusOptions:O,onEntered:j,onExit:x,onExiting:w,onEnter:N,onEntering:E,onExited:k,backdropClassName:C,manager:T,...S},I)=>{const[M,A]=Object(i.useState)({}),[F,B]=Object(i.useState)(!1),$=Object(i.useRef)(!1),K=Object(i.useRef)(!1),z=Object(i.useRef)(null),[H,W]=Object(i.useState)(null),q=ce(I,W),U=qe(b),V=D();e=R(e,"modal");const G=Object(i.useMemo)(()=>({onHide:U}),[U]);function X(){return T||Pc({isRTL:V})}function Q(e){if(!Y)return;const t=X().getScrollbarWidth()>0,n=e.scrollHeight>L(e).documentElement.clientHeight;A({paddingRight:t&&!n?cc():void 0,paddingLeft:!t&&n?cc():void 0})}const J=qe(()=>{H&&Q(H.dialog)});ca(()=>{ee(window,"resize",J),null==z.current||z.current()});const te=()=>{$.current=!0},ne=e=>{$.current&&H&&e.target===H.dialog&&(K.current=!0),$.current=!1},re=()=>{B(!0),z.current=ae(H.dialog,()=>{B(!1)})},se=e=>{"static"!==d?K.current||e.target!==e.currentTarget?K.current=!1:null==b||b():(e=>{e.target===e.currentTarget&&re()})(e)},oe=Object(i.useCallback)(t=>Object(P.jsx)("div",{...t,className:g()(e+"-backdrop",C,!u&&"show")}),[u,C,e]),ie={...n,...M};u||(ie.display="block");return Object(P.jsx)(Sc.Provider,{value:G,children:Object(P.jsx)(_c,{show:c,ref:q,backdrop:d,container:h,keyboard:!0,autoFocus:y,enforceFocus:v,restoreFocus:_,restoreFocusOptions:O,onEscapeKeyDown:e=>{p||"static"!==d?p&&f&&f(e):(e.preventDefault(),re())},onShow:m,onHide:b,onEnter:(e,t)=>{e&&(e.style.display="block",Q(e)),null==N||N(e,t)},onEntering:(e,t)=>{null==E||E(e,t),Z(window,"resize",J)},onEntered:j,onExit:e=>{null==z.current||z.current(),null==x||x(e)},onExiting:w,onExited:e=>{e&&(e.style.display=""),null==k||k(e),ee(window,"resize",J)},manager:X(),transition:u?Kc:void 0,backdropTransition:u?zc:void 0,renderBackdrop:oe,renderDialog:n=>Object(P.jsx)("div",{role:"dialog",...n,style:ie,className:g()(t,e,F&&e+"-static"),onClick:d?se:void 0,onMouseUp:ne,"aria-labelledby":l,children:Object(P.jsx)(o,{...S,onMouseDown:te,className:a,contentClassName:r,children:s})})})})});Hc.displayName="Modal",Hc.defaultProps=$c;var Wc=Object.assign(Hc,{Body:Tc,Header:Fc,Title:Bc,Footer:Lc,Dialog:Dc,TRANSITION_DURATION:300,BACKDROP_TRANSITION_DURATION:150}),qc=["children","is_open","setProps","className","class_name","autoFocus","autofocus","labelledBy","labelledby","modalClassName","modal_class_name","contentClassName","content_class_name","backdropClassName","backdrop_class_name","tag","loading_state","fade"],Uc=function(e){var t=e.children,n=e.is_open,a=e.setProps,s=e.className,i=e.class_name,c=e.autoFocus,u=e.autofocus,d=e.labelledBy,p=e.labelledby,f=e.modalClassName,b=e.modal_class_name,g=(e.contentClassName,e.content_class_name,e.backdropClassName),h=e.backdrop_class_name,y=e.tag,v=e.loading_state,_=e.fade,O=o()(e,qc);return l.a.createElement(Wc,r()({animation:_,dialogAs:y,dialogClassName:i||s,className:b||f,backdropClassName:h||g,autoFocus:u||c,"aria-labelledby":p||d,show:n,onHide:function(){a&&a({is_open:!1})}},m(["persistence","persistence_type","persisted_props"],O),{"data-dash-is-loading":v&&v.is_loading||void 0}),t)};Uc.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,tag:u.a.string,is_open:u.a.bool,centered:u.a.bool,scrollable:u.a.bool,autofocus:u.a.bool,autoFocus:u.a.bool,size:u.a.string,role:u.a.string,labelledby:u.a.string,labelledBy:u.a.string,keyboard:u.a.bool,backdrop:u.a.oneOfType([u.a.bool,u.a.oneOf(["static"])]),modal_class_name:u.a.string,modalClassName:u.a.string,backdrop_class_name:u.a.string,backdropClassName:u.a.string,content_class_name:u.a.string,contentClassName:u.a.string,fade:u.a.bool,fullscreen:u.a.oneOf([u.a.bool,u.a.oneOf(["sm-down","md-down","lg-down","xl-down","xxl-down"])]),zindex:u.a.oneOfType([u.a.number,u.a.string]),zIndex:u.a.oneOfType([u.a.number,u.a.string])};var Vc=Uc,Gc=["children","loading_state","className","class_name","tag"],Yc=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=e.tag,c=o()(e,Gc);return l.a.createElement(Tc,r()({as:i,className:s||a,"data-dash-is-loading":n&&n.is_loading||void 0},m(["setProps"],c)),t)};Yc.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,tag:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var Xc=Yc,Qc=["children","loading_state","className","class_name","tag"],Jc=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=e.tag,c=o()(e,Qc);return l.a.createElement(Lc,r()({as:i,className:s||a,"data-dash-is-loading":n&&n.is_loading||void 0},m(["setProps"],c)),t)};Jc.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,tag:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var Zc=Jc,eu=["children","loading_state","className","class_name","tag","close_button"],tu=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=e.tag,c=e.close_button,u=o()(e,eu);return l.a.createElement(Fc,r()({as:i,className:s||a,closeButton:c,"data-dash-is-loading":n&&n.is_loading||void 0},m(["setProps"],u)),t)};tu.defaultProps={close_button:!0},tu.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,close_button:u.a.bool,tag:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var nu=tu,au=["children","loading_state","className","class_name","tag"],ru=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=e.tag,c=o()(e,au);return l.a.createElement(Bc,r()({as:i,className:s||a,"data-dash-is-loading":n&&n.is_loading||void 0},m(["setProps"],c)),t)};ru.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,tag:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var su=ru,ou=["children","loading_state","className","class_name","pills","justified","horizontal","vertical","navbar_scroll"],iu={start:"justify-content-start",center:"justify-content-center",end:"justify-content-end",around:"justify-content-around",between:"justify-content-between"},lu={xs:"flex-xs-column",sm:"flex-sm-column",md:"flex-md-column",lg:"flex-lg-column",xl:"flex-xl-column"},cu=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=e.pills,c=e.justified,u=e.horizontal,d=e.vertical,p=e.navbar_scroll,f=o()(e,ou),b=u&&iu[u],h=!0===d?"flex-column":d&&lu[d],y=g()(s||a,b,h);return l.a.createElement(hi,r()({className:y,variant:i?"pills":null,justify:c,navbarScroll:p},m(["setProps"],f),{"data-dash-is-loading":n&&n.is_loading||void 0}),t)};cu.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,pills:u.a.bool,card:u.a.bool,fill:u.a.bool,justified:u.a.bool,vertical:u.a.oneOfType([u.a.bool,u.a.string]),horizontal:u.a.oneOf(["start","center","end","between","around"]),navbar:u.a.bool,navbar_scroll:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var uu=cu;const du=i.forwardRef(({bsPrefix:e,className:t,as:n,...a},r)=>{e=R(e,"navbar-brand");const s=n||(a.href?"a":"span");return Object(P.jsx)(s,{...a,ref:r,className:g()(t,e)})});du.displayName="NavbarBrand";var pu=du;const fu=i.forwardRef(({children:e,bsPrefix:t,...n},a)=>{t=R(t,"navbar-collapse");const r=Object(i.useContext)(Ho);return Object(P.jsx)(he,{in:!(!r||!r.expanded),...n,children:Object(P.jsx)("div",{ref:a,className:t,children:e})})});fu.displayName="NavbarCollapse";var mu=fu;const bu=i.forwardRef(({bsPrefix:e,className:t,children:n,label:a,as:r="button",onClick:s,...o},l)=>{e=R(e,"navbar-toggler");const{onToggle:c,expanded:u}=Object(i.useContext)(Ho)||{},d=qe(e=>{s&&s(e),c&&c()});return"button"===r&&(o.type="button"),Object(P.jsx)(r,{...o,ref:l,onClick:d,"aria-label":a,className:g()(t,e,!u&&"collapsed"),children:n||Object(P.jsx)("span",{className:e+"-icon"})})});bu.displayName="NavbarToggle",bu.defaultProps={label:"Toggle navigation"};var gu=bu;const hu=mt("navbar-text",{Component:"span"}),yu=i.forwardRef((e,t)=>{const{bsPrefix:n,expand:a,variant:r,bg:s,fixed:o,sticky:l,className:c,as:u="nav",expanded:d,onToggle:p,onSelect:f,collapseOnSelect:m,...b}=j(e,{expanded:"onToggle"}),h=R(n,"navbar"),y=Object(i.useCallback)((...e)=>{null==f||f(...e),m&&d&&(null==p||p(!1))},[f,m,d,p]);void 0===b.role&&"nav"!==u&&(b.role="navigation");let v=h+"-expand";"string"==typeof a&&(v=`${v}-${a}`);const _=Object(i.useMemo)(()=>({onToggle:()=>null==p?void 0:p(!d),bsPrefix:h,expanded:!!d}),[h,d,p]);return Object(P.jsx)(Ho.Provider,{value:_,children:Object(P.jsx)(wo.Provider,{value:y,children:Object(P.jsx)(u,{ref:t,...b,className:g()(c,h,a&&v,r&&`${h}-${r}`,s&&"bg-"+s,l&&"sticky-"+l,o&&"fixed-"+o)})})})});yu.defaultProps={expand:!0,variant:"light",collapseOnSelect:!1},yu.displayName="Navbar";var vu=Object.assign(yu,{Brand:pu,Toggle:gu,Collapse:mu,Text:hu}),_u=["children","color","style","loading_state","className","class_name","light","dark","tag"];function Ou(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function ju(e){for(var t=1;t(e=R(e,"offcanvas"),Object(P.jsx)(de,{ref:r,addEndListener:se,...a,childRef:n.ref,children:(a,r)=>i.cloneElement(n,{...r,className:g()(t,n.props.className,(a===q||"exiting"===a)&&e+"-toggling",Wu[a])})})));qu.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1},qu.displayName="OffcanvasToggling";var Uu=qu;const Vu=i.forwardRef(({bsPrefix:e,className:t,...n},a)=>(e=R(e,"offcanvas-header"),Object(P.jsx)(Mc,{ref:a,...n,className:g()(t,e)})));Vu.displayName="OffcanvasHeader",Vu.defaultProps={closeLabel:"Close",closeButton:!1};var Gu=Vu;var Yu=mt("offcanvas-title",{Component:dt("h5")});function Xu(e){return Object(P.jsx)(Uu,{...e})}function Qu(e){return Object(P.jsx)(it,{...e})}const Ju=i.forwardRef(({bsPrefix:e,className:t,children:n,"aria-labelledby":a,placement:r,show:s,backdrop:o,keyboard:l,scroll:c,onEscapeKeyDown:u,onShow:d,onHide:p,container:f,autoFocus:m,enforceFocus:b,restoreFocus:h,restoreFocusOptions:y,onEntered:v,onExit:_,onExiting:O,onEnter:j,onEntering:x,onExited:w,backdropClassName:N,manager:E,...k},C)=>{const T=Object(i.useRef)(),S=qe(p);e=R(e,"offcanvas");const D=Object(i.useMemo)(()=>({onHide:S}),[S]);const L=Object(i.useCallback)(t=>Object(P.jsx)("div",{...t,className:g()(e+"-backdrop",N)}),[N,e]);return Object(P.jsx)(Sc.Provider,{value:D,children:Object(P.jsx)(_c,{show:s,ref:C,backdrop:o,container:f,keyboard:l,autoFocus:m,enforceFocus:b&&!c,restoreFocus:h,restoreFocusOptions:y,onEscapeKeyDown:u,onShow:d,onHide:p,onEnter:(e,...t)=>{e&&(e.style.visibility="visible"),null==j||j(e,...t)},onEntering:x,onEntered:v,onExit:_,onExiting:O,onExited:(e,...t)=>{e&&(e.style.visibility=""),null==w||w(...t)},manager:E||(c?(T.current||(T.current=new Cc({handleContainerOverflow:!1})),T.current):Pc()),transition:Xu,backdropTransition:Qu,renderBackdrop:L,renderDialog:s=>Object(P.jsx)("div",{role:"dialog",...s,...k,className:g()(t,e,`${e}-${r}`),"aria-labelledby":a,children:n})})})});Ju.displayName="Offcanvas",Ju.defaultProps={show:!1,backdrop:!0,keyboard:!0,scroll:!1,autoFocus:!0,enforceFocus:!0,restoreFocus:!0,placement:"start"};var Zu=Object.assign(Ju,{Body:Hu,Header:Gu,Title:Yu}),ed=["is_open","setProps","children","loading_state","class_name","className","backdrop","backdrop_class_name","backdropClassName","labelledby","labelledBy","scrollable","autofocus","autoFocus","close_button","title"],td=function(e){var t=e.is_open,n=e.setProps,a=e.children,s=e.loading_state,i=e.class_name,c=e.className,u=e.backdrop,d=e.backdrop_class_name,p=e.backdropClassName,f=e.labelledby,m=e.labelledBy,b=e.scrollable,g=e.autofocus,h=e.autoFocus,y=e.close_button,v=e.title,_=o()(e,ed),O=function(){n&&n({is_open:!t})},j=v||y?l.a.createElement(Zu.Header,{closeButton:y,onHide:"static"===u&&y?O:null},l.a.createElement(Zu.Title,null,v)):null;return l.a.createElement(Zu,r()({autoFocus:g||h,"aria-labelledby":f||m,className:i||c,backdropClassName:d||p,scroll:b,show:t,onHide:"static"!==u?O:null,backdrop:u||"static"===u,"data-dash-is-loading":s&&s.is_loading||void 0},_),j,l.a.createElement(Zu.Body,null,a))};td.defaultProps={close_button:!0,is_open:!1,backdrop:!0},td.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,labelledby:u.a.string,labelledBy:u.a.string,backdrop:u.a.oneOfType([u.a.bool,u.a.oneOf(["static"])]),backdrop_class_name:u.a.string,backdropClassName:u.a.string,keyboard:u.a.bool,is_open:u.a.bool,placement:u.a.oneOf(["start","end","top","bottom"]),scrollable:u.a.bool,autofocus:u.a.bool,autoFocus:u.a.bool,title:u.a.string,close_button:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var nd=td;const ad=i.forwardRef(({active:e,disabled:t,className:n,style:a,activeLabel:r,children:s,...o},i)=>{const l=e||t?"span":rt;return Object(P.jsx)("li",{ref:i,style:a,className:g()(n,"page-item",{active:e,disabled:t}),children:Object(P.jsxs)(l,{className:"page-link",disabled:t,...o,children:[s,e&&r&&Object(P.jsx)("span",{className:"visually-hidden",children:r})]})})});ad.defaultProps={active:!1,disabled:!1,activeLabel:"(current)"},ad.displayName="PageItem";var rd=ad;function sd(e,t,n=e){function a({children:e,...a}){return Object(P.jsxs)(ad,{...a,children:[Object(P.jsx)("span",{"aria-hidden":"true",children:e||t}),Object(P.jsx)("span",{className:"visually-hidden",children:n})]})}return a.displayName=e,a}const od=sd("First","«"),id=sd("Prev","‹","Previous"),ld=sd("Ellipsis","…","More"),cd=sd("Next","›"),ud=sd("Last","»"),dd=i.forwardRef(({bsPrefix:e,className:t,size:n,...a},r)=>{const s=R(e,"pagination");return Object(P.jsx)("ul",{ref:r,...a,className:g()(t,s,n&&`${s}-${n}`)})});dd.displayName="Pagination";var pd=Object.assign(dd,{First:od,Prev:id,Ellipsis:ld,Item:rd,Next:cd,Last:ud}),fd=["step","active_page","min_value","fully_expanded","previous_next","first_last","setProps","class_name","className","loading_state"],md=function(e){var t=e.step,n=e.active_page,a=e.min_value,s=e.fully_expanded,i=e.previous_next,c=e.first_last,u=e.setProps,d=e.class_name,p=e.className,f=e.loading_state,m=o()(e,fd),b=e.max_value;(b-a)%t!=0&&(b=b+t-(b-a)%t);var g=function(e){u&&u({active_page:e})},h=function(e){return l.a.createElement(pd.Item,{key:e,active:e===n,onClick:function(){return g(e)}},e)},y=[];if(c&&y.push(l.a.createElement(pd.First,{key:"first",disabled:n===a,onClick:function(){return g(a)}})),i&&y.push(l.a.createElement(pd.Prev,{key:"previous",disabled:n===a,onClick:function(){return g(n-t)}})),s||Math.floor((b-a)/t)+1<=7)for(var v=a;v<=b;v+=t)y.push(h(v));else y.push(h(a)),n<=a+3*t?(y.push(h(a+t)),y.push(h(a+2*t)),y.push(h(a+3*t)),y.push(h(a+4*t)),y.push(l.a.createElement(pd.Ellipsis,{disabled:!0,key:"ellipsis"}))):n>=b-3*t?(y.push(l.a.createElement(pd.Ellipsis,{disabled:!0,key:"ellipsis"})),y.push(h(b-4*t)),y.push(h(b-3*t)),y.push(h(b-2*t)),y.push(h(b-t))):(y.push(l.a.createElement(pd.Ellipsis,{disabled:!0,key:"ellipsis-1"})),y.push(h(n-t)),y.push(h(n)),y.push(h(n+t)),y.push(l.a.createElement(pd.Ellipsis,{disabled:!0,key:"ellipsis-2"}))),y.push(h(b));return i&&y.push(l.a.createElement(pd.Next,{key:"next",disabled:n===b,onClick:function(){return g(n+t)}})),c&&y.push(l.a.createElement(pd.Last,{key:"last",disabled:n===b,onClick:function(){return g(b)}})),l.a.createElement(pd,r()({className:d||p,"data-dash-is-loading":f&&f.is_loading||void 0},m),y)};md.defaultProps={min_value:1,step:1,active_page:1,fully_expanded:!0,previous_next:!1,first_last:!1},md.propTypes={id:u.a.string,class_name:u.a.string,className:u.a.string,style:u.a.object,size:u.a.oneOf(["sm","lg"]),min_value:u.a.number,max_value:u.a.number.isRequired,step:u.a.number,active_page:u.a.number,fully_expanded:u.a.bool,previous_next:u.a.bool,first_last:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var bd=md,gd=mt("popover-header"),hd=mt("popover-body");i.Component;function yd(e,t){let n=e;return"left"===e?n=t?"end":"start":"right"===e&&(n=t?"start":"end"),n}const vd=i.forwardRef(({bsPrefix:e,placement:t,className:n,style:a,children:r,body:s,arrowProps:o,popper:i,show:l,...c},u)=>{const d=R(e,"popover"),p=D(),[f]=(null==t?void 0:t.split("-"))||[],m=yd(f,p);return Object(P.jsxs)("div",{ref:u,role:"tooltip",style:a,"x-placement":f,className:g()(n,d,f&&"bs-popover-"+m),...c,children:[Object(P.jsx)("div",{className:"popover-arrow",...o}),s?Object(P.jsx)(hd,{children:r}):r]})});vd.defaultProps={placement:"right"};var _d=Object.assign(vd,{Header:gd,Body:hd,POPPER_OFFSET:[0,8]}),Od=n(16),jd=n.n(Od),xd=n(13),wd=n.n(xd);const Nd=i.forwardRef((e,t)=>{const{flip:n,offset:a,placement:r,containerPadding:s,popperConfig:o={},transition:l}=e,[c,u]=Ue(),[d,p]=Ue(),f=ni(u,t),m=bc(e.container),b=bc(e.target),[g,h]=Object(i.useState)(!e.show),y=Zs(b,c,io({placement:r,enableEvents:!!e.show,containerPadding:s||5,flip:n,offset:a,arrowElement:d,popperConfig:o}));e.show?g&&h(!1):e.transition||g||h(!0);const v=(...t)=>{h(!0),e.onExited&&e.onExited(...t)},_=e.show||l&&!g;if(so(c,e.onHide,{disabled:!e.rootClose||e.rootCloseDisabled,clickTrigger:e.rootCloseEvent}),!_)return null;let O=e.children(Object.assign({},y.attributes.popper,{style:y.styles.popper,ref:f}),{popper:y,placement:r,show:!!e.show,arrowProps:Object.assign({},y.attributes.arrow,{style:y.styles.arrow,ref:p})});if(l){const{onExit:t,onExiting:n,onEnter:a,onEntering:r,onEntered:s}=e;O=Object(P.jsx)(l,{in:e.show,appear:!0,onExit:t,onExiting:n,onExited:v,onEnter:a,onEntering:r,onEntered:s,children:O})}return m?z.a.createPortal(O,m):null});Nd.displayName="Overlay";var Ed=Nd;const kd={transition:it,rootClose:!1,show:!1,placement:"top"};const Pd=i.forwardRef(({children:e,transition:t,popperConfig:n={},...a},r)=>{const s=Object(i.useRef)({}),[o,l]=function(){const e=Object(i.useRef)(null),t=R(void 0,"popover"),n=Object(i.useMemo)(()=>({name:"offset",options:{offset:()=>e.current&&Oc(e.current,t)?_d.POPPER_OFFSET:[0,0]}}),[t]);return[e,[n]]}(),c=ce(r,o),u=!0===t?it:t||void 0;return Object(P.jsx)(Ed,{...a,ref:c,popperConfig:{...n,modifiers:l.concat(n.modifiers||[])},transition:u,children:(n,{arrowProps:a,placement:r,popper:o,show:l})=>{var c,u;!function(e,t){const{ref:n}=e,{ref:a}=t;e.ref=n.__wrapped||(n.__wrapped=e=>n(ue(e))),t.ref=a.__wrapped||(a.__wrapped=e=>a(ue(e)))}(n,a);const d=Object.assign(s.current,{state:null==o?void 0:o.state,scheduleUpdate:null==o?void 0:o.update,placement:r,outOfBoundaries:(null==o||null==(c=o.state)||null==(u=c.modifiersData.hide)?void 0:u.isReferenceHidden)||!1});return"function"==typeof e?e({...n,placement:r,show:l,...!t&&l&&{className:"show"},popper:d,arrowProps:a}):i.cloneElement(e,{...n,placement:r,arrowProps:a,popper:d,className:g()(e.props.className,!t&&l&&"show"),style:{...e.props.style,...n.style}})}})});Pd.displayName="Overlay",Pd.defaultProps=kd;var Cd=Pd,Td=["children","target","delay","trigger","defaultShow","setProps"];function Sd(e,t){return t&&(e===t||t.contains(e))}var Rd=function(e){if("object"!==pr()(e))return e;return"{"+Object.keys(e).sort().map((function(t){return JSON.stringify(t)+":"+((n=e[t])&&n.wild||JSON.stringify(n));var n})).join(",")+"}"},Dd=function(e){var t,n,a,s,c,u,d=e.children,p=e.target,f=e.delay,m=e.trigger,b=e.defaultShow,g=e.setProps,h=o()(e,Td),y=(t=!1,n=Object(i.useState)(t),a=Sr()(n,2),s=a[0],c=a[1],u=Object(i.useRef)(s),Object(i.useEffect)((function(){u.current=s}),[s]),[s,c,u]),v=Sr()(y,3),_=v[0],O=v[1],j=v[2],x=Object(i.useRef)(null),w=Object(i.useRef)(null),N=Object(i.useRef)(null),E=Object(i.useRef)(null),k="string"==typeof m?m.split(" "):[],P=Rd(p),C=function(){j.current&&(N.current=clearTimeout(N.current),O(!1),g&&g({is_open:!1}))},T=function(){j.current&&(clearTimeout(N.current),N.current=setTimeout(C,f.hide))},S=function(){j.current||(E.current=clearTimeout(E.current),O(!0),g&&g({is_open:!0}))},R=function(){j.current||(clearTimeout(E.current),E.current=setTimeout(S,f.show))},D=function(e){k.indexOf("legacy")>-1&&(j.current||Sd(e.target,w.current))?(N.current&&(N.current=clearTimeout(N.current)),j.current&&!Sd(e.target,x.current)?T():j.current||R()):k.indexOf("click")>-1&&Sd(e.target,w.current)&&(N.current&&(N.current=clearTimeout(N.current)),j.current?T():R())};Object(i.useEffect)((function(){if(!x.current){var e=document.querySelector("footer");e||(e=document.createElement("footer"),document.body.append(e)),x.current=e}O(b)}),[b]);var L=function(e){return new Promise((function(t){return setTimeout(t,e)}))},I=function(){var e=jd()(wd.a.mark((function e(t){var n,a,r=arguments;return wd.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:0,!(null===(a=document.getElementById(t))&&n<4)){e.next=6;break}return e.next=5,L(100*Math.pow(2,n));case 5:return e.abrupt("return",I(t,n+1));case 6:return e.abrupt("return",a);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return Object(i.useEffect)((function(){(function(){var e=jd()(wd.a.mark((function e(){return wd.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,I(P);case 2:w.current=e.sent,(t=w.current)&&(k.indexOf("hover")>-1&&(t.addEventListener("mouseover",R,!0),t.addEventListener("mouseout",T,!0)),k.indexOf("focus")>-1&&(t.addEventListener("focusin",S,!0),t.addEventListener("focusout",C,!0)),(k.indexOf("click")>-1||k.indexOf("legacy")>-1)&&document.addEventListener("click",D,!0),t.addEventListener("keydown",(function(e){"Escape"===e.key&&C()})));case 4:case"end":return e.stop()}var t}),e)})));return function(){return e.apply(this,arguments)}})()()}),[P]),l.a.createElement(Cd,r()({show:_,target:w.current},h),d)},Ld=["children","is_open","loading_state","className","class_name","style","id"],Id=function(e){var t=e.children,n=e.is_open,a=e.loading_state,s=e.className,i=e.class_name,c=e.style,u=e.id,d=o()(e,Ld);return l.a.createElement(Dd,r()({"data-dash-is-loading":a&&a.is_loading||void 0,defaultShow:n},d),l.a.createElement(_d,{style:c,id:u,className:i||s},t))};Id.defaultProps={delay:{show:0,hide:50},placement:"right",flip:!0},Id.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,placement:u.a.oneOf(["auto","auto-start","auto-end","top","top-start","top-end","right","right-start","right-end","bottom","bottom-start","bottom-end","left","left-start","left-end"]),target:u.a.oneOfType([u.a.string,u.a.object]),trigger:u.a.string,is_open:u.a.bool,hide_arrow:u.a.bool,inner_class_name:u.a.string,innerClassName:u.a.string,delay:u.a.oneOfType([u.a.shape({show:u.a.number,hide:u.a.number}),u.a.number]),offset:u.a.oneOfType([u.a.string,u.a.number]),flip:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var Md=Id,Ad=["children","loading_state","className","class_name"],Fd=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=o()(e,Ad);return l.a.createElement(hd,r()({className:s||a},m(["setProps"],i),{"data-dash-is-loading":n&&n.is_loading||void 0}),t)};Fd.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,tag:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var Bd=Fd,$d=["children","loading_state","className","class_name"],Kd=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=o()(e,$d);return l.a.createElement(gd,r()({className:s||a},m(["setProps"],i),{"data-dash-is-loading":n&&n.is_loading||void 0}),t)};Kd.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,tag:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var zd=Kd;function Hd(e,t,n){const a=(e-t)/(n-t)*100;return Math.round(1e3*a)/1e3}function Wd({min:e,now:t,max:n,label:a,visuallyHidden:r,striped:s,animated:o,className:i,style:l,variant:c,bsPrefix:u,...d},p){return Object(P.jsx)("div",{ref:p,...d,role:"progressbar",className:g()(i,u+"-bar",{["bg-"+c]:c,[u+"-bar-animated"]:o,[u+"-bar-striped"]:o||s}),style:{width:Hd(t,e,n)+"%",...l},"aria-valuenow":t,"aria-valuemin":e,"aria-valuemax":n,children:r?Object(P.jsx)("span",{className:"visually-hidden",children:a}):a})}const qd=i.forwardRef(({isChild:e,...t},n)=>{if(t.bsPrefix=R(t.bsPrefix,"progress"),e)return Wd(t,n);const{min:a,now:r,max:s,label:o,visuallyHidden:l,striped:c,animated:u,bsPrefix:d,variant:p,className:f,children:m,...b}=t;return Object(P.jsx)("div",{ref:n,...b,className:g()(f,d),children:m?ba(m,e=>Object(i.cloneElement)(e,{isChild:!0})):Wd({min:a,now:r,max:s,label:o,visuallyHidden:l,striped:c,animated:u,bsPrefix:d,variant:p},n)})});qd.displayName="ProgressBar",qd.defaultProps={min:0,max:100,animated:!1,isChild:!1,visuallyHidden:!1,striped:!1};var Ud=qd,Vd=["children","loading_state","color","className","class_name","value","hide_label","bar"],Gd=function(e){var t=e.children,n=e.loading_state,a=e.color,s=e.className,i=e.class_name,c=e.value,u=e.hide_label,d=e.bar,p=o()(e,Vd),f=Ot.has(a);return l.a.createElement(Ud,r()({className:i||s},m(["setProps"],p),{"data-dash-is-loading":n&&n.is_loading||void 0,now:c,isChild:d,variant:f?a:null,visuallyHidden:u}),t)};Gd.defaultProps={hide_label:!1},Gd.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,bar:u.a.bool,min:u.a.number,max:u.a.number,value:u.a.oneOfType([u.a.string,u.a.number]),label:u.a.string,hide_label:u.a.bool,animated:u.a.bool,striped:u.a.bool,color:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var Yd=Gd;function Xd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Qd(e){for(var t=1;t{const s=R(e,"row"),o=s+"-cols",i=[];return np.forEach(e=>{const t=a[e];let n;delete a[e],null!=t&&"object"==typeof t?({cols:n}=t):n=t;const r="xs"!==e?"-"+e:"";null!=n&&i.push(`${o}${r}-${n}`)}),Object(P.jsx)(n,{ref:r,...a,className:g()(t,s,...i)})});ap.displayName="Row";var rp=ap,sp=["children","className","class_name","align","justify","loading_state"],op={start:"align-items-start",center:"align-items-center",end:"align-items-end",stretch:"align-items-stretch",baseline:"align-items-baseline"},ip={start:"justify-content-start",center:"justify-content-center",end:"justify-content-end",around:"justify-content-around",between:"justify-content-between"},lp=function(e){var t=e.children,n=e.className,a=e.class_name,s=e.align,i=e.justify,c=e.loading_state,u=o()(e,sp),d=s&&op[s],p=i&&ip[i],f=g()(a||n,d,p);return l.a.createElement(rp,r()({className:f},m(["setProps"],u),{"data-dash-is-loading":c&&c.is_loading||void 0}),t)};lp.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,align:u.a.oneOf(["start","center","end","stretch","baseline"]),justify:u.a.oneOf(["start","center","end","around","between"]),loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var cp=lp,up=["className","class_name","html_size"],dp=function(e){var t=e.className,n=e.class_name,a=e.html_size,s=o()(e,up);return l.a.createElement(Ji,r()({},m(["setProps","options","persistence","persistence_type","persisted_props","loading_state"],s),{onChange:function(t){e.setProps&&e.setProps({value:t.target.value})},className:n||t,htmlSize:a}),l.a.createElement("option",{value:"",disabled:!0,hidden:!0},e.placeholder),e.options&&e.options.map((function(e){return l.a.createElement("option",{key:e.value,value:e.value,disabled:e.disabled,title:e.title},e.label)})))};dp.defaultProps={value:"",persisted_props:["value"],persistence_type:"local",placeholder:""},dp.propTypes={id:u.a.string,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,placeholder:u.a.string,value:u.a.oneOfType([u.a.string,u.a.number]),options:u.a.arrayOf(u.a.exact({label:u.a.oneOfType([u.a.string,u.a.number]).isRequired,value:u.a.string.isRequired,disabled:u.a.bool,title:u.a.string})),disabled:u.a.bool,required:u.a.oneOfType([u.a.oneOf(["required","REQUIRED"]),u.a.bool]),valid:u.a.bool,invalid:u.a.bool,size:u.a.string,html_size:u.a.string,persistence:u.a.oneOfType([u.a.bool,u.a.string,u.a.number]),persisted_props:u.a.arrayOf(u.a.oneOf(["value"])),persistence_type:u.a.oneOf(["local","session","memory"]),name:u.a.string};var pp=dp;const fp=i.forwardRef(({bsPrefix:e,variant:t,animation:n,size:a,as:r="div",className:s,...o},i)=>{const l=`${e=R(e,"spinner")}-${n}`;return Object(P.jsx)(r,{ref:i,...o,className:g()(s,l,a&&`${l}-${a}`,t&&"text-"+t)})});fp.displayName="Spinner";var mp=fp,bp=["children","color","loading_state","spinner_style","spinnerClassName","spinner_class_name","fullscreen","fullscreenClassName","fullscreen_class_name","fullscreen_style","delay_hide","delay_show","show_initially","type"];function gp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function hp(e){for(var t=1;t{t&&(r.current=!0)},[t]),t?e:a||!r.current&&n?null:e};const Np=["active","eventKey","mountOnEnter","transition","unmountOnExit"],Ep=["activeKey","getControlledId","getControllerId"],kp=["as"];function Pp(e,t){if(null==e)return{};var n,a,r={},s=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}function Cp(e){let{active:t,eventKey:n,mountOnEnter:a,transition:r,unmountOnExit:s}=e,o=Pp(e,Np);const l=Object(i.useContext)(ai);if(!l)return[o,{eventKey:n,isActive:t,mountOnEnter:a,transition:r,unmountOnExit:s}];const{activeKey:c,getControlledId:u,getControllerId:d}=l,p=Pp(l,Ep),f=xo(n);return[Object.assign({},o,{id:u(n),"aria-labelledby":d(n)}),{eventKey:n,isActive:null==t&&null!=f?xo(c)===f:t,transition:r||p.transition,mountOnEnter:null!=a?a:p.mountOnEnter,unmountOnExit:null!=s?s:p.unmountOnExit}]}const Tp=i.forwardRef((e,t)=>{let{as:n="div"}=e,a=Pp(e,kp);const[r,{isActive:s,onEnter:o,onEntering:i,onEntered:l,onExit:c,onExiting:u,onExited:d,mountOnEnter:p,unmountOnExit:f,transition:m=wp}]=Cp(a);return Object(P.jsx)(ai.Provider,{value:null,children:Object(P.jsx)(wo.Provider,{value:null,children:Object(P.jsx)(m,{in:s,onEnter:o,onEntering:i,onEntered:l,onExit:c,onExiting:u,onExited:d,mountOnEnter:p,unmountOnExit:f,children:Object(P.jsx)(n,Object.assign({},r,{ref:t,role:"tabpanel",hidden:!s,"aria-hidden":!s}))})})})});Tp.displayName="TabPanel";const Sp=e=>{const{id:t,generateChildId:n,onSelect:a,activeKey:r,defaultActiveKey:s,transition:o,mountOnEnter:l,unmountOnExit:c,children:u}=e,[d,p]=O(r,s,a),f=ho(t),m=Object(i.useMemo)(()=>n||((e,t)=>f?`${f}-${t}-${e}`:null),[f,n]),b=Object(i.useMemo)(()=>({onSelect:p,activeKey:d,transition:o,mountOnEnter:l||!1,unmountOnExit:c||!1,getControlledId:e=>m(e,"tabpane"),getControllerId:e=>m(e,"tab")}),[p,d,o,l,c,m]);return Object(P.jsx)(ai.Provider,{value:b,children:Object(P.jsx)(wo.Provider,{value:p||null,children:u})})};Sp.Panel=Tp;var Rp=Sp;function Dp(e){return"boolean"==typeof e?e?it:void 0:e}const Lp=({transition:e,...t})=>Object(P.jsx)(Rp,{...t,transition:Dp(e)});Lp.displayName="TabContainer";var Ip=Lp,Mp=mt("tab-content");const Ap=i.forwardRef(({bsPrefix:e,transition:t,...n},a)=>{const[{className:r,as:s="div",...o},{isActive:i,onEnter:l,onEntering:c,onEntered:u,onExit:d,onExiting:p,onExited:f,mountOnEnter:m,unmountOnExit:b,transition:h=wp}]=Cp({...n,transition:Dp(t)}),y=R(e,"tab-pane");return Object(P.jsx)(ai.Provider,{value:null,children:Object(P.jsx)(wo.Provider,{value:null,children:Object(P.jsx)(h,{in:i,onEnter:l,onEntering:c,onEntered:u,onExit:d,onExiting:p,onExited:f,mountOnEnter:m,unmountOnExit:b,children:Object(P.jsx)(s,{...o,ref:a,className:g()(r,y,i&&"active")})})})})});Ap.displayName="TabPane";var Fp=Ap;const Bp={eventKey:u.a.oneOfType([u.a.string,u.a.number]),title:u.a.node.isRequired,disabled:u.a.bool,tabClassName:u.a.string},$p=()=>{throw new Error("ReactBootstrap: The `Tab` component is not meant to be rendered! It's an abstract component that is only valid as a direct Child of the `Tabs` Component. For custom tabs components use TabPane and TabsContainer directly")};$p.propTypes=Bp;var Kp=Object.assign($p,{Container:Ip,Content:Mp,Pane:Fp}),zp=["children","tab_id","label","tab_style","active_tab_style","label_style","active_label_style","tabClassName","tab_class_name","activeTabClassName","active_tab_class_name","labelClassName","label_class_name","activeLabelClassName","active_label_class_name","loading_state"];function Hp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Wp(e){for(var t=1;t{const d=R(e,"table"),p=g()(t,d,i&&`${d}-${i}`,o&&`${d}-${o}`,n&&d+"-striped",a&&d+"-bordered",r&&d+"-borderless",s&&d+"-hover"),f=Object(P.jsx)("table",{...c,className:p,ref:u});if(l){let e=d+"-responsive";return"string"==typeof l&&(e=`${e}-${l}`),Object(P.jsx)("div",{className:e,children:f})}return f}),Gp=["children","loading_state","className","class_name","color","dark"],Yp=function(e){var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=e.color,c=e.dark,u=o()(e,Gp);return l.a.createElement(Vp,r()({className:s||a,variant:i||(c?"dark":void 0)},m(["setProps"],u),{"data-dash-is-loading":n&&n.is_loading||void 0}),t)};Yp.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,size:u.a.string,bordered:u.a.bool,borderless:u.a.bool,striped:u.a.bool,color:u.a.string,dark:u.a.bool,hover:u.a.bool,responsive:u.a.oneOfType([u.a.bool,u.a.string]),loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var Xp=Yp,Qp=["value","n_clicks","n_blur","n_submit","setProps","className","class_name","invalid","valid","size","debounce","loading_state","autoFocus","autofocus","maxLength","maxlength","minLength","minlength","readOnly","readonly","accessKey","accesskey","contentEditable","contenteditable","contextMenu","contextmenu","spellCheck","spellcheck","tabIndex","tabindex"],Jp=function(e){var t=e.value,n=e.n_clicks,a=e.n_blur,s=e.n_submit,c=e.setProps,u=e.className,d=e.class_name,p=e.invalid,f=e.valid,b=e.size,h=e.debounce,y=e.loading_state,v=e.autoFocus,_=e.autofocus,O=e.maxLength,j=e.maxlength,x=e.minLength,w=e.minlength,N=e.readOnly,E=e.readonly,k=e.accessKey,P=e.accesskey,C=e.contentEditable,T=e.contenteditable,S=e.contextMenu,R=e.contextmenu,D=e.spellCheck,L=e.spellcheck,I=e.tabIndex,M=e.tabindex,A=o()(e,Qp),F=Object(i.useState)(t||""),B=Sr()(F,2),$=B[0],K=B[1];Object(i.useEffect)((function(){t!==$&&K(t||"")}),[t]);var z=g()(d||u,p&&"is-invalid",f&&"is-valid",!!b&&"form-control-".concat(b),"form-control");return l.a.createElement("textarea",r()({value:$,className:z,onChange:function(e){var t=e.target.value;K(t),!h&&c&&c({value:t})},onBlur:function(){if(c){var e={n_blur:a+1,n_blur_timestamp:Date.now()};h&&(e.value=t),c(e)}},onKeyPress:function(e){if(c&&"Enter"===e.key){var n={n_submit:s+1,n_submit_timestamp:Date.now()};h&&(n.value=t),c(n)}},onClick:function(){c&&c({n_clicks:n+1,n_clicks_timestamp:Date.now()})},autoFocus:_||v,maxLength:j||O,minLength:w||x,readOnly:E||N,accessKey:P||k,contentEditable:T||C,contextMenu:R||S,spellCheck:L||D,tabIndex:M||I},m(["n_blur_timestamp","n_submit_timestamp","persistence","persistence_type","persisted_props"],A),{"data-dash-is-loading":y&&y.is_loading||void 0}))};Jp.propTypes={id:u.a.string,key:u.a.string,value:u.a.string,autofocus:u.a.string,autoFocus:u.a.string,cols:u.a.oneOfType([u.a.string,u.a.number]),disabled:u.a.oneOfType([u.a.string,u.a.bool]),form:u.a.string,maxlength:u.a.oneOfType([u.a.string,u.a.number]),maxLength:u.a.oneOfType([u.a.string,u.a.number]),minlength:u.a.oneOfType([u.a.string,u.a.number]),minLength:u.a.oneOfType([u.a.string,u.a.number]),name:u.a.string,placeholder:u.a.string,readonly:u.a.oneOfType([u.a.bool,u.a.oneOf(["readOnly","readonly","READONLY"])]),readOnly:u.a.oneOfType([u.a.bool,u.a.oneOf(["readOnly","readonly","READONLY"])]),required:u.a.oneOfType([u.a.oneOf(["required","REQUIRED"]),u.a.bool]),rows:u.a.oneOfType([u.a.string,u.a.number]),wrap:u.a.string,accesskey:u.a.string,accessKey:u.a.string,class_name:u.a.string,className:u.a.string,contenteditable:u.a.oneOfType([u.a.string,u.a.number]),contentEditable:u.a.oneOfType([u.a.string,u.a.number]),contextmenu:u.a.string,contextMenu:u.a.string,dir:u.a.string,draggable:u.a.oneOfType([u.a.oneOf(["true","false"]),u.a.bool]),hidden:u.a.string,lang:u.a.string,spellcheck:u.a.oneOfType([u.a.oneOf(["true","false"]),u.a.bool]),spellCheck:u.a.oneOfType([u.a.oneOf(["true","false"]),u.a.bool]),style:u.a.object,tabindex:u.a.oneOfType([u.a.string,u.a.number]),tabIndex:u.a.oneOfType([u.a.string,u.a.number]),title:u.a.string,setProps:u.a.func,size:u.a.string,valid:u.a.bool,invalid:u.a.bool,n_blur:u.a.number,n_blur_timestamp:u.a.number,n_submit:u.a.number,n_submit_timestamp:u.a.number,n_clicks:u.a.number,n_clicks_timestamp:u.a.number,debounce:u.a.bool,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string}),persistence:u.a.oneOfType([u.a.bool,u.a.string,u.a.number]),persisted_props:u.a.arrayOf(u.a.oneOf(["value"])),persistence_type:u.a.oneOf(["local","session","memory"])},Jp.defaultProps={n_blur:0,n_blur_timestamp:-1,n_submit:0,n_submit_timestamp:-1,n_clicks:0,n_clicks_timestamp:-1,debounce:!1,persisted_props:["value"],persistence_type:"local",value:""};var Zp=Jp;const ef={[q]:"showing",exiting:"showing show"},tf=i.forwardRef((e,t)=>Object(P.jsx)(it,{...e,ref:t,transitionClasses:ef}));tf.displayName="ToastFade";var nf=tf;var af=i.createContext({onClose(){}});const rf=i.forwardRef(({bsPrefix:e,closeLabel:t,closeVariant:n,closeButton:a,className:r,children:s,...o},l)=>{e=R(e,"toast-header");const c=Object(i.useContext)(af),u=qe(e=>{null==c||null==c.onClose||c.onClose(e)});return Object(P.jsxs)("div",{ref:l,...o,className:g()(e,r),children:[s,a&&Object(P.jsx)(ut,{"aria-label":t,variant:n,onClick:u,"data-dismiss":"toast"})]})});rf.displayName="ToastHeader",rf.defaultProps={closeLabel:"Close",closeButton:!0};var sf=rf,of=mt("toast-body");const lf=i.forwardRef(({bsPrefix:e,className:t,transition:n=nf,show:a=!0,animation:r=!0,delay:s=5e3,autohide:o=!1,onClose:l,bg:c,...u},d)=>{e=R(e,"toast");const p=Object(i.useRef)(s),f=Object(i.useRef)(l);Object(i.useEffect)(()=>{p.current=s,f.current=l},[s,l]);const m=da(),b=!(!o||!a),h=Object(i.useCallback)(()=>{b&&(null==f.current||f.current())},[b]);Object(i.useEffect)(()=>{m.set(h,p.current)},[m,h]);const y=Object(i.useMemo)(()=>({onClose:l}),[l]),v=!(!n||!r),_=Object(P.jsx)("div",{...u,ref:d,className:g()(e,t,c&&"bg-"+c,!v&&(a?"show":"hide")),role:"alert","aria-live":"assertive","aria-atomic":"true"});return Object(P.jsx)(af.Provider,{value:y,children:v&&n?Object(P.jsx)(n,{in:a,unmountOnExit:!0,children:_}):_})});lf.displayName="Toast";var cf=Object.assign(lf,{Body:of,Header:sf}),uf=["children","loading_state","header","icon","header_style","headerClassName","header_class_name","body_style","bodyClassName","body_class_name","dismissable","duration","n_dismiss","is_open","setProps","className","class_name","color"],df=function(e){var t=e.children,n=e.loading_state,a=e.header,s=e.icon,c=e.header_style,u=e.headerClassName,d=e.header_class_name,p=e.body_style,f=e.bodyClassName,b=e.body_class_name,h=e.dismissable,y=e.duration,v=e.n_dismiss,_=e.is_open,O=e.setProps,j=e.className,x=e.class_name,w=e.color,N=o()(e,uf),E=function(){O&&O({is_open:!1,n_dismiss:v+1,n_dismiss_timestamp:Date.now()})},k=Object(i.useRef)(null);return Object(i.useEffect)((function(){y&&(_?k.current=setTimeout(E,y):k.current&&(clearTimeout(k.current),k.current=null))}),[_]),l.a.createElement(cf,r()({show:_,onClose:h&&E,className:x||j,bg:w,"data-dash-is-loading":n&&n.is_loading||void 0},m(["n_dismiss_timestamp"],N)),l.a.createElement(cf.Header,{style:c,className:d||u,closeButton:h},s&&l.a.createElement("svg",{className:"rounded text-".concat(s),width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid slice",focusable:"false",role:"img"},l.a.createElement("rect",{fill:"currentColor",width:"100%",height:"100%"})),l.a.createElement("strong",{className:g()("me-auto",s&&"ms-2")},a)),l.a.createElement(cf.Body,{style:p,className:b||f},t))};df.defaultProps={is_open:!0,n_dismiss:0,n_dismiss_timestamp:-1,dismissable:!1},df.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,header_style:u.a.object,header_class_name:u.a.string,headerClassName:u.a.string,body_style:u.a.object,body_class_name:u.a.string,bodyClassName:u.a.string,tag:u.a.string,is_open:u.a.bool,key:u.a.string,header:u.a.string,dismissable:u.a.bool,duration:u.a.number,n_dismiss:u.a.number,n_dismiss_timestamp:u.a.number,icon:u.a.string,color:u.a.string,loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var pf=df;const ff=i.forwardRef(({bsPrefix:e,placement:t,className:n,style:a,children:r,arrowProps:s,popper:o,show:i,...l},c)=>{e=R(e,"tooltip");const u=D(),[d]=(null==t?void 0:t.split("-"))||[],p=yd(d,u);return Object(P.jsxs)("div",{ref:c,style:a,role:"tooltip","x-placement":d,className:g()(n,e,"bs-tooltip-"+p),...l,children:[Object(P.jsx)("div",{className:"tooltip-arrow",...s}),Object(P.jsx)("div",{className:e+"-inner",children:r})]})});ff.defaultProps={placement:"right"},ff.displayName="Tooltip";var mf=ff,bf=["id","children","loading_state","className","class_name","style"],gf=function(e){e.id;var t=e.children,n=e.loading_state,a=e.className,s=e.class_name,i=e.style,c=o()(e,bf);return l.a.createElement(Dd,r()({"data-dash-is-loading":n&&n.is_loading||void 0},m(["setProps"],c),{trigger:"hover focus"}),l.a.createElement(mf,{style:i,className:s||a},t))};gf.defaultProps={delay:{show:0,hide:50},placement:"auto",flip:!0},gf.propTypes={id:u.a.string,children:u.a.node,style:u.a.object,class_name:u.a.string,className:u.a.string,key:u.a.string,target:u.a.oneOfType([u.a.string,u.a.object]),placement:u.a.oneOf(["auto","auto-start","auto-end","top","top-start","top-end","right","right-start","right-end","bottom","bottom-start","bottom-end","left","left-start","left-end"]),flip:u.a.bool,delay:u.a.shape({show:u.a.number,hide:u.a.number}),loading_state:u.a.shape({is_loading:u.a.bool,prop_name:u.a.string,component_name:u.a.string})};var hf=gf}]); \ No newline at end of file diff --git a/inst/deps/dash_table/bundle.js b/inst/deps/dash_table/bundle.js index 7e973534..7ba49514 100644 --- a/inst/deps/dash_table/bundle.js +++ b/inst/deps/dash_table/bundle.js @@ -1,2 +1,2 @@ -!function(){var e,t,n,r,o={7800:function(e,t,n){var r;window,e.exports=(r=n(3804),function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t){e.exports=r},function(e,t,n){"use strict";n.r(t);var r=n(0),o=function(e,t){var n,o={isReady:new Promise((function(e){n=e})),get:Object(r.lazy)((function(){return Promise.resolve(t()).then((function(e){return setTimeout((function(){return regeneratorRuntime.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,regeneratorRuntime.awrap(n(!0));case 2:o.isReady=!0;case 3:case"end":return e.stop()}}))}),0),e}))}))};return Object.defineProperty(e,"_dashprivate_isLazyComponentReady",{get:function(){return o.isReady}}),o.get},i=function(e,t){Object.defineProperty(e,"_dashprivate_isLazyComponentReady",{get:function(){return u(t)}})},u=function(e){return e&&e._dashprivate_isLazyComponentReady};function a(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"/";if(e.enabled()){var o=new Date(Date.now()-c).toUTCString();document.cookie="".concat(t,"=;expires=").concat(o,";domain=").concat(n,";path=").concat(r)}}},{key:"get",value:function(t){if(t.length&&e.enabled())return t=t.toLowerCase(),(document.cookie.split(";").map((function(e){var t=e.split("=");return{id:t[0].trim(),value:t[1]}})).find((function(e){return t===e.id.toLocaleLowerCase()}))||{}).value}},{key:"set",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"/";if(e.enabled()){var i=new Date(Date.now()+s).toUTCString(),u="".concat(t,"=").concat(n,";expires=").concat(i,";domain=").concat(r,";path=").concat(o);e.get(t)&&e.delete(t,r,o),document.cookie=u}}}],null&&o(t.prototype,null),n&&o(t,n),e}();i=l,u="enabled",a=r.Z((function(){try{document.cookie="cookietest=1";var e=-1!==document.cookie.indexOf("cookietest=");return document.cookie="cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT",e}catch(e){return!1}})),u in i?Object.defineProperty(i,u,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[u]=a;var f,d,p=n(3936);function y(e,t){for(var n=0;n=1&&t<=31||127==t||0==o&&t>=48&&t<=57||1==o&&t>=48&&t<=57&&45==u?"\\"+t.toString(16)+" ":0==o&&1==r&&45==t||!(t>=128||45==t||95==t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122)?"\\"+n.charAt(o):n.charAt(o):i+="�";return i};return e.CSS||(e.CSS={}),e.CSS.escape=t,t}(r)},3462:function(e,t,n){"use strict";var r=(0,n(9098).Z)((function(e,t,n){var r={};for(var o in n)r[o]=n[o];return r[e]=t,r}));t.Z=r},5669:function(e,t,n){"use strict";var r=n(8969),o=n(3993),i=n(1353),u=n(2092),a=(0,i.Z)((function(e,t){return 1===e?(0,o.Z)(t):(0,r.Z)(e,(0,u.Z)(e,[],t))}));t.Z=a},8969:function(e,t,n){"use strict";function r(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,n){return t.apply(this,arguments)};case 3:return function(e,n,r){return t.apply(this,arguments)};case 4:return function(e,n,r,o){return t.apply(this,arguments)};case 5:return function(e,n,r,o,i){return t.apply(this,arguments)};case 6:return function(e,n,r,o,i,u){return t.apply(this,arguments)};case 7:return function(e,n,r,o,i,u,a){return t.apply(this,arguments)};case 8:return function(e,n,r,o,i,u,a,c){return t.apply(this,arguments)};case 9:return function(e,n,r,o,i,u,a,c,s){return t.apply(this,arguments)};case 10:return function(e,n,r,o,i,u,a,c,s,l){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}n.d(t,{Z:function(){return r}})},3993:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(6508);function o(e){return function t(n){return 0===arguments.length||(0,r.Z)(n)?t:e.apply(this,arguments)}}},1353:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(3993),o=n(6508);function i(e){return function t(n,i){switch(arguments.length){case 0:return t;case 1:return(0,o.Z)(n)?t:(0,r.Z)((function(t){return e(n,t)}));default:return(0,o.Z)(n)&&(0,o.Z)(i)?t:(0,o.Z)(n)?(0,r.Z)((function(t){return e(t,i)})):(0,o.Z)(i)?(0,r.Z)((function(t){return e(n,t)})):e(n,i)}}}},9098:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(3993),o=n(1353),i=n(6508);function u(e){return function t(n,u,a){switch(arguments.length){case 0:return t;case 1:return(0,i.Z)(n)?t:(0,o.Z)((function(t,r){return e(n,t,r)}));case 2:return(0,i.Z)(n)&&(0,i.Z)(u)?t:(0,i.Z)(n)?(0,o.Z)((function(t,n){return e(t,u,n)})):(0,i.Z)(u)?(0,o.Z)((function(t,r){return e(n,t,r)})):(0,r.Z)((function(t){return e(n,u,t)}));default:return(0,i.Z)(n)&&(0,i.Z)(u)&&(0,i.Z)(a)?t:(0,i.Z)(n)&&(0,i.Z)(u)?(0,o.Z)((function(t,n){return e(t,n,a)})):(0,i.Z)(n)&&(0,i.Z)(a)?(0,o.Z)((function(t,n){return e(t,u,n)})):(0,i.Z)(u)&&(0,i.Z)(a)?(0,o.Z)((function(t,r){return e(n,t,r)})):(0,i.Z)(n)?(0,r.Z)((function(t){return e(t,u,a)})):(0,i.Z)(u)?(0,r.Z)((function(t){return e(n,t,a)})):(0,i.Z)(a)?(0,r.Z)((function(t){return e(n,u,t)})):e(n,u,a)}}}},2092:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(8969),o=n(6508);function i(e,t,n){return function(){for(var u=[],a=0,c=e,s=0;s=arguments.length)?l=t[s]:(l=arguments[a],a+=1),u[s]=l,(0,o.Z)(l)||(c-=1),s+=1}return c<=0?n.apply(this,u):(0,r.Z)(c,i(e,u,n))}}},1294:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(5272);function o(e){return null!=e&&"function"==typeof e["@@transducer/step"]}function i(e,t,n){return function(){if(0===arguments.length)return n();var i=Array.prototype.slice.call(arguments,0),u=i.pop();if(!(0,r.Z)(u)){for(var a=0;a=0&&"[object Array]"===Object.prototype.toString.call(e)}},7201:function(e,t,n){"use strict";var r=n(3993),o=n(5272),i=n(3459),u=(0,r.Z)((function(e){return!!(0,o.Z)(e)||!!e&&"object"==typeof e&&!(0,i.Z)(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1))}));t.Z=u},9405:function(e,t){"use strict";t.Z=Number.isInteger||function(e){return e<<0===e}},6508:function(e,t,n){"use strict";function r(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}n.d(t,{Z:function(){return r}})},3459:function(e,t,n){"use strict";function r(e){return"[object String]"===Object.prototype.toString.call(e)}n.d(t,{Z:function(){return r}})},7900:function(e,t,n){"use strict";function r(e,t){for(var n=0,r=t.length,o=Array(r);n=0;)t=c[n],(0,o.Z)(t,e)&&!l(r,t)&&(r[r.length]=t),n-=1;return r})):(0,r.Z)((function(e){return Object(e)!==e?[]:Object.keys(e)}))},8981:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(1353),o=n(1294),i=n(7900),u=n(4320),a=n(5643),c=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=a.Z.init,e.prototype["@@transducer/result"]=a.Z.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),s=(0,r.Z)((function(e,t){return new c(e,t)})),l=n(5669),f=n(9619),d=(0,r.Z)((0,o.Z)(["fantasy-land/map","map"],s,(function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return(0,l.Z)(t.length,(function(){return e.call(this,t.apply(this,arguments))}));case"[object Object]":return(0,u.Z)((function(n,r){return n[r]=e(t[r]),n}),{},(0,f.Z)(t));default:return(0,i.Z)(e,t)}})))},841:function(e,t,n){"use strict";var r=n(1353),o=n(3459),i=(0,r.Z)((function(e,t){var n=e<0?t.length+e:e;return(0,o.Z)(t)?t.charAt(n):t[n]}));t.Z=i},9398:function(e,t,n){"use strict";var r=n(8969),o=(0,n(3993).Z)((function(e){var t,n=!1;return(0,r.Z)(e.length,(function(){return n?t:(n=!0,t=e.apply(this,arguments))}))}));t.Z=o},1987:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(1353),o=n(9405),i=n(841),u=(0,r.Z)((function(e,t){return e.map((function(e){for(var n,r=t,u=0;u1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"/";if(e.enabled()){var o=new Date(Date.now()-c).toUTCString();document.cookie="".concat(t,"=;expires=").concat(o,";domain=").concat(n,";path=").concat(r)}}},{key:"get",value:function(t){if(t.length&&e.enabled())return t=t.toLowerCase(),(document.cookie.split(";").map((function(e){var t=e.split("=");return{id:t[0].trim(),value:t[1]}})).find((function(e){return t===e.id.toLocaleLowerCase()}))||{}).value}},{key:"set",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"/";if(e.enabled()){var i=new Date(Date.now()+s).toUTCString(),u="".concat(t,"=").concat(n,";expires=").concat(i,";domain=").concat(r,";path=").concat(o);e.get(t)&&e.delete(t,r,o),document.cookie=u}}}],null&&o(t.prototype,null),n&&o(t,n),e}();i=l,u="enabled",a=r.Z((function(){try{document.cookie="cookietest=1";var e=-1!==document.cookie.indexOf("cookietest=");return document.cookie="cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT",e}catch(e){return!1}})),u in i?Object.defineProperty(i,u,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[u]=a;var f,d,p=n(3936);function y(e,t){for(var n=0;n=1&&t<=31||127==t||0==o&&t>=48&&t<=57||1==o&&t>=48&&t<=57&&45==u?"\\"+t.toString(16)+" ":0==o&&1==r&&45==t||!(t>=128||45==t||95==t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122)?"\\"+n.charAt(o):n.charAt(o):i+="�";return i};return e.CSS||(e.CSS={}),e.CSS.escape=t,t}(r)},3462:function(e,t,n){"use strict";var r=(0,n(9098).Z)((function(e,t,n){var r={};for(var o in n)r[o]=n[o];return r[e]=t,r}));t.Z=r},5669:function(e,t,n){"use strict";var r=n(8969),o=n(3993),i=n(1353),u=n(2092),a=(0,i.Z)((function(e,t){return 1===e?(0,o.Z)(t):(0,r.Z)(e,(0,u.Z)(e,[],t))}));t.Z=a},8969:function(e,t,n){"use strict";function r(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,n){return t.apply(this,arguments)};case 3:return function(e,n,r){return t.apply(this,arguments)};case 4:return function(e,n,r,o){return t.apply(this,arguments)};case 5:return function(e,n,r,o,i){return t.apply(this,arguments)};case 6:return function(e,n,r,o,i,u){return t.apply(this,arguments)};case 7:return function(e,n,r,o,i,u,a){return t.apply(this,arguments)};case 8:return function(e,n,r,o,i,u,a,c){return t.apply(this,arguments)};case 9:return function(e,n,r,o,i,u,a,c,s){return t.apply(this,arguments)};case 10:return function(e,n,r,o,i,u,a,c,s,l){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}n.d(t,{Z:function(){return r}})},3993:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(6508);function o(e){return function t(n){return 0===arguments.length||(0,r.Z)(n)?t:e.apply(this,arguments)}}},1353:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(3993),o=n(6508);function i(e){return function t(n,i){switch(arguments.length){case 0:return t;case 1:return(0,o.Z)(n)?t:(0,r.Z)((function(t){return e(n,t)}));default:return(0,o.Z)(n)&&(0,o.Z)(i)?t:(0,o.Z)(n)?(0,r.Z)((function(t){return e(t,i)})):(0,o.Z)(i)?(0,r.Z)((function(t){return e(n,t)})):e(n,i)}}}},9098:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(3993),o=n(1353),i=n(6508);function u(e){return function t(n,u,a){switch(arguments.length){case 0:return t;case 1:return(0,i.Z)(n)?t:(0,o.Z)((function(t,r){return e(n,t,r)}));case 2:return(0,i.Z)(n)&&(0,i.Z)(u)?t:(0,i.Z)(n)?(0,o.Z)((function(t,n){return e(t,u,n)})):(0,i.Z)(u)?(0,o.Z)((function(t,r){return e(n,t,r)})):(0,r.Z)((function(t){return e(n,u,t)}));default:return(0,i.Z)(n)&&(0,i.Z)(u)&&(0,i.Z)(a)?t:(0,i.Z)(n)&&(0,i.Z)(u)?(0,o.Z)((function(t,n){return e(t,n,a)})):(0,i.Z)(n)&&(0,i.Z)(a)?(0,o.Z)((function(t,n){return e(t,u,n)})):(0,i.Z)(u)&&(0,i.Z)(a)?(0,o.Z)((function(t,r){return e(n,t,r)})):(0,i.Z)(n)?(0,r.Z)((function(t){return e(t,u,a)})):(0,i.Z)(u)?(0,r.Z)((function(t){return e(n,t,a)})):(0,i.Z)(a)?(0,r.Z)((function(t){return e(n,u,t)})):e(n,u,a)}}}},2092:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(8969),o=n(6508);function i(e,t,n){return function(){for(var u=[],a=0,c=e,s=0;s=arguments.length)?l=t[s]:(l=arguments[a],a+=1),u[s]=l,(0,o.Z)(l)||(c-=1),s+=1}return c<=0?n.apply(this,u):(0,r.Z)(c,i(e,u,n))}}},1294:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(5272);function o(e){return null!=e&&"function"==typeof e["@@transducer/step"]}function i(e,t,n){return function(){if(0===arguments.length)return n();var i=Array.prototype.slice.call(arguments,0),u=i.pop();if(!(0,r.Z)(u)){for(var a=0;a=0&&"[object Array]"===Object.prototype.toString.call(e)}},7201:function(e,t,n){"use strict";var r=n(3993),o=n(5272),i=n(3459),u=(0,r.Z)((function(e){return!!(0,o.Z)(e)||!!e&&"object"==typeof e&&!(0,i.Z)(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1))}));t.Z=u},9405:function(e,t){"use strict";t.Z=Number.isInteger||function(e){return e<<0===e}},6508:function(e,t,n){"use strict";function r(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}n.d(t,{Z:function(){return r}})},3459:function(e,t,n){"use strict";function r(e){return"[object String]"===Object.prototype.toString.call(e)}n.d(t,{Z:function(){return r}})},7900:function(e,t,n){"use strict";function r(e,t){for(var n=0,r=t.length,o=Array(r);n=0;)t=c[n],(0,o.Z)(t,e)&&!l(r,t)&&(r[r.length]=t),n-=1;return r})):(0,r.Z)((function(e){return Object(e)!==e?[]:Object.keys(e)}))},8981:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(1353),o=n(1294),i=n(7900),u=n(4320),a=n(5643),c=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=a.Z.init,e.prototype["@@transducer/result"]=a.Z.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),s=(0,r.Z)((function(e,t){return new c(e,t)})),l=n(5669),f=n(9619),d=(0,r.Z)((0,o.Z)(["fantasy-land/map","map"],s,(function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return(0,l.Z)(t.length,(function(){return e.call(this,t.apply(this,arguments))}));case"[object Object]":return(0,u.Z)((function(n,r){return n[r]=e(t[r]),n}),{},(0,f.Z)(t));default:return(0,i.Z)(e,t)}})))},841:function(e,t,n){"use strict";var r=n(1353),o=n(3459),i=(0,r.Z)((function(e,t){var n=e<0?t.length+e:e;return(0,o.Z)(t)?t.charAt(n):t[n]}));t.Z=i},9398:function(e,t,n){"use strict";var r=n(8969),o=(0,n(3993).Z)((function(e){var t,n=!1;return(0,r.Z)(e.length,(function(){return n?t:(n=!0,t=e.apply(this,arguments))}))}));t.Z=o},1987:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(1353),o=n(9405),i=n(841),u=(0,r.Z)((function(e,t){return e.map((function(e){for(var n,r=t,u=0;u { };\n }\n let fn;\n let fnStyle = '';\n switch (level) {\n case LogLevel.TRACE:\n case LogLevel.INFO:\n fn = window.console.log;\n fnStyle = 'color: white; background-color: #3166A2;';\n break;\n case DebugLevel.DEBUG:\n case LogLevel.WARNING:\n fn = window.console.warn;\n fnStyle = 'color: white; background-color: #E9B606;';\n break;\n case LogLevel.ERROR:\n case LogLevel.FATAL:\n fn = window.console.error;\n fnStyle = 'color: white; background-color: #FF0000;';\n break;\n default:\n throw new Error(`Unknown log ${level}`);\n }\n const prefix = `${fnStyle && __highlightPrefix ? '%c' : ''}[${LogString[level].toUpperCase()}]`;\n if (fnStyle && __highlightPrefix) {\n return fn.bind(window.console, prefix, fnStyle);\n }\n else {\n return fn.bind(window.console, prefix);\n }\n}\nconst logger = {\n setDebugLevel(level) {\n __debugLevel = level;\n },\n setLogLevel(level) {\n __logLevel = level;\n }\n};\nObject.defineProperties(logger, {\n trace: {\n get: () => {\n return logFn(LogLevel.TRACE, __logLevel);\n },\n configurable: false,\n enumerable: false\n },\n info: {\n get: () => {\n return logFn(LogLevel.INFO, __logLevel);\n },\n configurable: false,\n enumerable: false\n },\n warning: {\n get: () => {\n return logFn(LogLevel.WARNING, __logLevel);\n },\n configurable: false,\n enumerable: false\n },\n error: {\n get: () => {\n return logFn(LogLevel.ERROR, __logLevel);\n },\n configurable: false,\n enumerable: false\n },\n fatal: {\n get: () => {\n return logFn(LogLevel.FATAL, __logLevel);\n },\n configurable: false,\n enumerable: false\n },\n debug: {\n get: () => {\n return logFn(DebugLevel.DEBUG, __debugLevel);\n },\n configurable: false,\n enumerable: false\n }\n});\nObject.freeze(logger);\nexport default logger;\nexport { DebugLevel, LogLevel };\n","import * as R from 'ramda';\nconst __1day = 86400 * 1000;\nconst __20years = 86400 * 1000 * 365 * 20;\nexport default class CookieStorage {\n // From https://github.com/Modernizr/Modernizr/blob/f4d3aa0b3c9eeb7338e8d89ed77929a8e969c502/feature-detects/cookies.js#L1\n // try..catch because some in situations `document.cookie` is exposed but throws a\n // SecurityError if you try to access it; e.g. documents created from data URIs\n // or in sandboxed iframes (depending on flags/context)\n static enabled = R.once(() => {\n try {\n // Create cookie\n document.cookie = 'cookietest=1';\n const ret = document.cookie.indexOf('cookietest=') !== -1;\n // Delete cookie\n document.cookie =\n 'cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT';\n return ret;\n }\n catch (e) {\n return false;\n }\n });\n static delete(id, domain = '', path = '/') {\n if (!CookieStorage.enabled()) {\n return;\n }\n const expires = new Date(Date.now() - __1day).toUTCString();\n document.cookie = `${id}=;expires=${expires};domain=${domain};path=${path}`;\n }\n static get(id) {\n if (!id.length) {\n return;\n }\n if (!CookieStorage.enabled()) {\n return;\n }\n id = id.toLowerCase();\n const cookies = document.cookie.split(';').map(cookie => {\n const fragments = cookie.split('=');\n return {\n id: fragments[0].trim(),\n value: fragments[1]\n };\n });\n return (cookies.find(cookie => id === cookie.id.toLocaleLowerCase()) ||\n {}).value;\n }\n static set(id, value, domain = '', path = '/') {\n if (!CookieStorage.enabled()) {\n return;\n }\n const expires = new Date(Date.now() + __20years).toUTCString();\n const entry = `${id}=${value};expires=${expires};domain=${domain};path=${path}`;\n if (CookieStorage.get(id)) {\n CookieStorage.delete(id, domain, path);\n }\n document.cookie = entry;\n }\n}\n","import CookieStorage from 'core/storage/Cookie';\nimport { DebugLevel, LogLevel } from 'core/Logger';\nconst DASH_DEBUG = 'dash_debug';\nconst DASH_LOG = 'dash_log';\nexport default class Environment {\n static _supportsCssVariables = Boolean(window.CSS?.supports?.('.some-selector', 'var(--some-var)'));\n static _activeEdge = Environment._supportsCssVariables\n ? '1px solid var(--accent)'\n : '1px solid hotpink';\n static get searchParams() {\n return ((typeof URL !== 'undefined' &&\n URL.prototype &&\n URL.prototype.constructor &&\n new URL(window.location.href).searchParams) || { get: () => null });\n }\n static get debugLevel() {\n const debug = this.searchParams.get(DASH_DEBUG) || CookieStorage.get(DASH_DEBUG);\n return debug\n ? DebugLevel[debug] || DebugLevel.NONE\n : DebugLevel.NONE;\n }\n static get logLevel() {\n const log = this.searchParams.get(DASH_LOG) || CookieStorage.get(DASH_LOG);\n return log ? LogLevel[log] || LogLevel.ERROR : LogLevel.ERROR;\n }\n static get defaultEdge() {\n return '1px solid #d3d3d3';\n }\n static get activeEdge() {\n return Environment._activeEdge;\n }\n static get supportsCssVariables() {\n return Environment._supportsCssVariables;\n }\n}\n","export default class LazyLoader {\n static get xlsx() {\n return import(\n /* webpackChunkName: \"export\", webpackMode: \"lazy\" */ 'xlsx');\n }\n static get hljs() {\n return Promise.resolve(window.hljs ||\n import(\n /* webpackChunkName: \"highlight\", webpackMode: \"lazy\" */ '../third-party/highlight.js').then(result => result.default));\n }\n static table() {\n return import(\n /* webpackChunkName: \"table\", webpackMode: \"lazy\" */ 'dash-table/dash/fragments/DataTable');\n }\n}\n","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Creates a new list out of the two supplied by applying the function to each\n * equally-positioned pair in the lists. The returned list is truncated to the\n * length of the shorter of the two input lists.\n *\n * @function\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> c) -> [a] -> [b] -> [c]\n * @param {Function} fn The function used to combine the two elements into one value.\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by combining same-indexed elements of `list1` and `list2`\n * using `fn`.\n * @example\n *\n * const f = (x, y) => {\n * // ...\n * };\n * R.zipWith(f, [1, 2, 3], ['a', 'b', 'c']);\n * //=> [f(1, 'a'), f(2, 'b'), f(3, 'c')]\n * @symb R.zipWith(fn, [a, b, c], [d, e, f]) = [fn(a, d), fn(b, e), fn(c, f)]\n */\n\nvar zipWith =\n/*#__PURE__*/\n_curry3(function zipWith(fn, a, b) {\n var rv = [];\n var idx = 0;\n var len = Math.min(a.length, b.length);\n\n while (idx < len) {\n rv[idx] = fn(a[idx], b[idx]);\n idx += 1;\n }\n\n return rv;\n});\n\nexport default zipWith;","\nimport * as R from 'ramda';\nimport React, {Component, Suspense} from 'react';\nimport PropTypes from 'prop-types';\nimport {asyncDecorator} from '@plotly/dash-component-plugins';\nimport LazyLoader from 'dash-table/LazyLoader';\n/**\n * Dash DataTable is an interactive table component designed for\n * viewing, editing, and exploring large datasets.\n * DataTable is rendered with standard, semantic HTML markup,\n * which makes it accessible, responsive, and easy to style. This\n * component was written from scratch in React.js specifically for the\n * Dash community. Its API was designed to be ergonomic and its behavior\n * is completely customizable through its properties.\n */\nexport default class DataTable extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\nconst RealDataTable = asyncDecorator(DataTable, LazyLoader.table);\nexport const defaultProps = {\n page_action: 'native',\n page_current: 0,\n page_size: 250,\n css: [],\n filter_query: '',\n filter_action: 'none',\n sort_as_null: [],\n sort_action: 'none',\n sort_mode: 'single',\n sort_by: [],\n style_as_list_view: false,\n derived_viewport_data: [],\n derived_viewport_indices: [],\n derived_viewport_row_ids: [],\n derived_viewport_selected_rows: [],\n derived_viewport_selected_row_ids: [],\n derived_virtual_data: [],\n derived_virtual_indices: [],\n derived_virtual_row_ids: [],\n derived_virtual_selected_rows: [],\n derived_virtual_selected_row_ids: [],\n dropdown: {},\n dropdown_conditional: [],\n dropdown_data: [],\n fill_width: true,\n filter_options: {},\n fixed_columns: {\n headers: false,\n data: 0\n },\n fixed_rows: {\n headers: false,\n data: 0\n },\n markdown_options: {\n link_target: '_blank',\n html: false\n },\n tooltip: {},\n tooltip_conditional: [],\n tooltip_data: [],\n tooltip_header: {},\n tooltip_delay: 350,\n tooltip_duration: 2000,\n column_selectable: false,\n editable: false,\n export_columns: 'visible',\n export_format: 'none',\n include_headers_on_copy_paste: false,\n selected_cells: [],\n selected_columns: [],\n selected_rows: [],\n selected_row_ids: [],\n cell_selectable: true,\n row_selectable: false,\n style_table: {},\n style_cell_conditional: [],\n style_data_conditional: [],\n style_filter_conditional: [],\n style_header_conditional: [],\n virtualization: false,\n persisted_props: [\n 'columns.name',\n 'filter_query',\n 'hidden_columns',\n 'selected_columns',\n 'selected_rows',\n 'sort_by'\n ],\n persistence_type: 'local'\n};\nexport const propTypes = {\n /**\n * The contents of the table.\n * The keys of each item in data should match the column IDs.\n * Each item can also have an 'id' key, whose value is its row ID. If there\n * is a column with ID='id' this will display the row ID, otherwise it is\n * just used to reference the row for selections, filtering, etc.\n * Example:\n * [\n * {'column-1': 4.5, 'column-2': 'montreal', 'column-3': 'canada'},\n * {'column-1': 8, 'column-2': 'boston', 'column-3': 'america'}\n * ]\n */\n data: PropTypes.arrayOf(\n PropTypes.objectOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool\n ])\n )\n ),\n /**\n * Columns describes various aspects about each individual column.\n * `name` and `id` are the only required parameters.\n */\n columns: PropTypes.arrayOf(\n PropTypes.exact({\n /**\n * If true, the user can clear the column by clicking on the `clear`\n * action button on the column. If there are multiple header rows, true\n * will display the action button on each row.\n * If `last`, the `clear` action button will only appear on the last header\n * row. If `first` it will only appear on the first header row. These\n * are respectively shortcut equivalents to `[false, ..., false, true]` and\n * `[true, false, ..., false]`.\n * If there are merged, multi-header columns then you can choose\n * which column header row to display the `clear` action button in by\n * supplying an array of booleans.\n * For example, `[true, false]` will display the `clear` action button\n * on the first row, but not the second row.\n * If the `clear` action button appears on a merged column, then clicking\n * on that button will clear *all* of the merged columns associated with it.\n * Unlike `column.deletable`, this action does not remove the column(s)\n * from the table. It only removed the associated entries from `data`.\n */\n clearable: PropTypes.oneOfType([\n PropTypes.oneOf(['first', 'last']),\n PropTypes.bool,\n PropTypes.arrayOf(PropTypes.bool)\n ]),\n /**\n * If true, the user can remove the column by clicking on the `delete`\n * action button on the column. If there are multiple header rows, true\n * will display the action button on each row.\n * If `last`, the `delete` action button will only appear on the last header\n * row. If `first` it will only appear on the first header row. These\n * are respectively shortcut equivalents to `[false, ..., false, true]` and\n * `[true, false, ..., false]`.\n * If there are merged, multi-header columns then you can choose\n * which column header row to display the `delete` action button in by\n * supplying an array of booleans.\n * For example, `[true, false]` will display the `delete` action button\n * on the first row, but not the second row.\n * If the `delete` action button appears on a merged column, then clicking\n * on that button will remove *all* of the merged columns associated with it.\n */\n deletable: PropTypes.oneOfType([\n PropTypes.oneOf(['first', 'last']),\n PropTypes.bool,\n PropTypes.arrayOf(PropTypes.bool)\n ]),\n /**\n * There are two `editable` flags in the table.\n * This is the column-level editable flag and there is\n * also the table-level `editable` flag.\n * These flags determine whether the contents of the table\n * are editable or not.\n * If the column-level `editable` flag is set it overrides\n * the table-level `editable` flag for that column.\n */\n editable: PropTypes.bool,\n /**\n * There are two `filter_options` props in the table.\n * This is the column-level filter_options prop and there is\n * also the table-level `filter_options` prop.\n * These props determine whether the applicable filter relational\n * operators will default to `sensitive` or `insensitive` comparison.\n * If the column-level `filter_options` prop is set it overrides\n * the table-level `filter_options` prop for that column.\n */\n filter_options: PropTypes.shape({\n case: PropTypes.oneOf(['sensitive', 'insensitive'])\n }),\n /**\n * If true, the user can hide the column by clicking on the `hide`\n * action button on the column. If there are multiple header rows, true\n * will display the action button on each row.\n * If `last`, the `hide` action button will only appear on the last header\n * row. If `first` it will only appear on the first header row. These\n * are respectively shortcut equivalents to `[false, ..., false, true]` and\n * `[true, false, ..., false]`.\n * If there are merged, multi-header columns then you can choose\n * which column header row to display the `hide` action button in by\n * supplying an array of booleans.\n * For example, `[true, false]` will display the `hide` action button\n * on the first row, but not the second row.\n * If the `hide` action button appears on a merged column, then clicking\n * on that button will hide *all* of the merged columns associated with it.\n */\n hideable: PropTypes.oneOfType([\n PropTypes.oneOf(['first', 'last']),\n PropTypes.bool,\n PropTypes.arrayOf(PropTypes.bool)\n ]),\n /**\n * If true, the user can rename the column by clicking on the `rename`\n * action button on the column. If there are multiple header rows, true\n * will display the action button on each row.\n * If `last`, the `rename` action button will only appear on the last header\n * row. If `first` it will only appear on the first header row. These\n * are respectively shortcut equivalents to `[false, ..., false, true]` and\n * `[true, false, ..., false]`.\n * If there are merged, multi-header columns then you can choose\n * which column header row to display the `rename` action button in by\n * supplying an array of booleans.\n * For example, `[true, false]` will display the `rename` action button\n * on the first row, but not the second row.\n * If the `rename` action button appears on a merged column, then clicking\n * on that button will rename *all* of the merged columns associated with it.\n */\n renamable: PropTypes.oneOfType([\n PropTypes.oneOf(['first', 'last']),\n PropTypes.bool,\n PropTypes.arrayOf(PropTypes.bool)\n ]),\n /**\n * If true, the user can select the column by clicking on the checkbox or radio button\n * in the column. If there are multiple header rows, true will display the input\n * on each row.\n * If `last`, the input will only appear on the last header row. If `first` it will only\n * appear on the first header row. These are respectively shortcut equivalents to\n * `[false, ..., false, true]` and `[true, false, ..., false]`.\n * If there are merged, multi-header columns then you can choose which column header\n * row to display the input in by supplying an array of booleans.\n * For example, `[true, false]` will display the `selectable` input on the first row,\n * but now on the second row.\n * If the `selectable` input appears on a merged columns, then clicking on that input\n * will select *all* of the merged columns associated with it.\n * The table-level prop `column_selectable` is used to determine the type of column\n * selection to use.\n *\n */\n selectable: PropTypes.oneOfType([\n PropTypes.oneOf(['first', 'last']),\n PropTypes.bool,\n PropTypes.arrayOf(PropTypes.bool)\n ]),\n /**\n * The formatting applied to the column's data.\n * This prop is derived from the [d3-format](https://github.com/d3/d3-format) library specification. Apart from\n * being structured slightly differently (under a single prop), the usage is the same.\n * See also dash_table.FormatTemplate. It contains helper functions for typical number formats.\n */\n format: PropTypes.exact({\n /**\n * Represents localization specific formatting information.\n * When left unspecified, will use the default value provided by d3-format.\n */\n locale: PropTypes.exact({\n /**\n * (default: ['$', '']). A list of two strings representing the\n * prefix and suffix symbols. Typically used for currency, and implemented using d3's\n * currency format, but you can use this for other symbols such as measurement units\n */\n symbol: PropTypes.arrayOf(PropTypes.string),\n /**\n * (default: '.'). The string used for the decimal separator\n */\n decimal: PropTypes.string,\n /**\n * (default: ','). The string used for the groups separator\n */\n group: PropTypes.string,\n /**\n * (default: [3]). A list of integers representing the grouping pattern. The default is\n * 3 for thousands.\n */\n grouping: PropTypes.arrayOf(PropTypes.number),\n /**\n * A list of ten strings used as replacements for numbers 0-9\n */\n numerals: PropTypes.arrayOf(PropTypes.string),\n /**\n * (default: '%'). The string used for the percentage symbol\n */\n percent: PropTypes.string,\n /**\n * (default: True). Separates integers with 4-digits or less\n */\n separate_4digits: PropTypes.bool\n }),\n /**\n * A value that will be used in place of the nully value during formatting.\n * If the value type matches the column type, it will be formatted normally.\n */\n nully: PropTypes.any,\n /**\n * A number representing the SI unit to use during formatting.\n * See `dash_table.Format.Prefix` enumeration for the list of valid values\n */\n prefix: PropTypes.number,\n /**\n * (default: ''). Represents the d3 rules to apply when formatting the number.\n */\n specifier: PropTypes.string\n }),\n /**\n * The `id` of the column.\n * The column `id` is used to match cells in data with particular columns.\n * The `id` is not visible in the table.\n */\n id: PropTypes.string.isRequired,\n /**\n * The `name` of the column, as it appears in the column header.\n * If `name` is a list of strings, then the columns\n * will render with multiple headers rows.\n */\n name: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]).isRequired,\n /**\n * The `presentation` to use to display data. Markdown can be used on\n * columns with type 'text'. See 'dropdown' for more info.\n * Defaults to 'input' for ['datetime', 'numeric', 'text', 'any'].\n */\n presentation: PropTypes.oneOf(['input', 'dropdown', 'markdown']),\n /**\n * The `on_change` behavior of the column for user-initiated modifications.\n */\n on_change: PropTypes.exact({\n /**\n * (default 'coerce'): 'none': do not validate data;\n * 'coerce': check if the data corresponds to the destination type and\n * attempts to coerce it into the destination type if not;\n * 'validate': check if the data corresponds to the destination type (no coercion).\n */\n action: PropTypes.oneOf(['coerce', 'none', 'validate']),\n /**\n * (default 'reject'): What to do with the value if the action fails.\n * 'accept': use the invalid value;\n * 'default': replace the provided value with `validation.default`;\n * 'reject': do not modify the existing value.\n */\n failure: PropTypes.oneOf(['accept', 'default', 'reject'])\n }),\n /**\n * An array of string, number and boolean values that are treated as `null`\n * (i.e. ignored and always displayed last) when sorting.\n * This value overrides the table-level `sort_as_null`.\n */\n sort_as_null: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool\n ])\n ),\n /**\n * The `validation` options for user input processing that can accept, reject or apply a\n * default value.\n */\n validation: PropTypes.exact({\n /**\n * Allow the use of nully values. (undefined, null, NaN) (default: False)\n */\n allow_null: PropTypes.bool,\n /**\n * The default value to apply with on_change.failure = 'default'. (default: None)\n */\n default: PropTypes.any,\n /**\n * This is for `datetime` columns only. Allow 2-digit years (default: False).\n * If True, we interpret years as ranging from now-70 to now+29 - in 2019\n * this is 1949 to 2048 but in 2020 it will be different. If used with\n * `action: 'coerce'`, will convert user input to a 4-digit year.\n */\n allow_YY: PropTypes.bool\n }),\n /**\n * The data-type provides support for per column typing and allows for data\n * validation and coercion.\n * 'numeric': represents both floats and ints.\n * 'text': represents a string.\n * 'datetime': a string representing a date or date-time, in the form:\n * 'YYYY-MM-DD HH:MM:SS.ssssss' or some truncation thereof. Years must\n * have 4 digits, unless you use `validation.allow_YY: true`. Also\n * accepts 'T' or 't' between date and time, and allows timezone info\n * at the end. To convert these strings to Python `datetime` objects,\n * use `dateutil.parser.isoparse`. In R use `parse_iso_8601` from the\n * `parsedate` library.\n * WARNING: these parsers do not work with 2-digit years, if you use\n * `validation.allow_YY: true` and do not coerce to 4-digit years.\n * And parsers that do work with 2-digit years may make a different\n * guess about the century than we make on the front end.\n * 'any': represents any type of data.\n * Defaults to 'any' if undefined.\n *\n *\n */\n type: PropTypes.oneOf(['any', 'numeric', 'text', 'datetime'])\n })\n ),\n /**\n * The row and column indices and IDs of the currently active cell.\n * `row_id` is only returned if the data rows have an `id` key.\n */\n active_cell: PropTypes.exact({\n row: PropTypes.number,\n column: PropTypes.number,\n row_id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n column_id: PropTypes.string\n }),\n /**\n * If true, headers are included when copying from the table to different\n * tabs and elsewhere. Note that headers are ignored when copying from the table onto itself and\n * between two tables within the same tab.\n */\n include_headers_on_copy_paste: PropTypes.bool,\n /**\n * The localization specific formatting information applied to all columns in the table.\n * This prop is derived from the [d3.formatLocale](https://github.com/d3/d3-format#formatLocale) data structure specification.\n * When left unspecified, each individual nested prop will default to a pre-determined value.\n */\n locale_format: PropTypes.exact({\n /**\n * (default: ['$', '']). A list of two strings representing the\n * prefix and suffix symbols. Typically used for currency, and implemented using d3's\n * currency format, but you can use this for other symbols such as measurement units.\n */\n symbol: PropTypes.arrayOf(PropTypes.string),\n /**\n * (default: '.'). The string used for the decimal separator.\n */\n decimal: PropTypes.string,\n /**\n * (default: ','). The string used for the groups separator.\n */\n group: PropTypes.string,\n /**\n * (default: [3]). A list of integers representing the grouping pattern.\n */\n grouping: PropTypes.arrayOf(PropTypes.number),\n /**\n * A list of ten strings used as replacements for numbers 0-9.\n */\n numerals: PropTypes.arrayOf(PropTypes.string),\n /**\n * (default: '%'). The string used for the percentage symbol.\n */\n percent: PropTypes.string,\n /**\n * (default: True). Separate integers with 4-digits or less.\n */\n separate_4digits: PropTypes.bool\n }),\n /**\n * The `markdown_options` property allows customization of the markdown cells behavior.\n */\n markdown_options: PropTypes.exact({\n /**\n * (default: '_blank'). The link's behavior (_blank opens the link in a\n * new tab, _parent opens the link in the parent frame, _self opens the link in the\n * current tab, and _top opens the link in the top frame) or a string\n */\n link_target: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf(['_blank', '_parent', '_self', '_top'])\n ]),\n /**\n * (default: False) If True, html may be used in markdown cells\n * Be careful enabling html if the content being rendered can come\n * from an untrusted user, as this may create an XSS vulnerability.\n */\n html: PropTypes.bool\n }),\n /**\n * The `css` property is a way to embed CSS selectors and rules\n * onto the page.\n * We recommend starting with the `style_*` properties\n * before using this `css` property.\n * Example:\n * [\n * {\"selector\": \".dash-spreadsheet\", \"rule\": 'font-family: \"monospace\"'}\n * ]\n */\n css: PropTypes.arrayOf(\n PropTypes.exact({\n selector: PropTypes.string.isRequired,\n rule: PropTypes.string.isRequired\n })\n ),\n /**\n * The previous state of `data`. `data_previous`\n * has the same structure as `data` and it will be updated\n * whenever `data` changes, either through a callback or\n * by editing the table.\n * This is a read-only property: setting this property will not\n * have any impact on the table.\n */\n data_previous: PropTypes.arrayOf(PropTypes.object),\n /**\n * The unix timestamp when the data was last edited.\n * Use this property with other timestamp properties\n * (such as `n_clicks_timestamp` in `dash_html_components`)\n * to determine which property has changed within a callback.\n */\n data_timestamp: PropTypes.number,\n /**\n * If True, then the data in all of the cells is editable.\n * When `editable` is True, particular columns can be made\n * uneditable by setting `editable` to `False` inside the `columns`\n * property.\n * If False, then the data in all of the cells is uneditable.\n * When `editable` is False, particular columns can be made\n * editable by setting `editable` to `True` inside the `columns`\n * property.\n */\n editable: PropTypes.bool,\n /**\n * When selecting multiple cells\n * (via clicking on a cell and then shift-clicking on another cell),\n * `end_cell` represents the row / column coordinates and IDs of the cell\n * in one of the corners of the region.\n * `start_cell` represents the coordinates of the other corner.\n */\n end_cell: PropTypes.exact({\n row: PropTypes.number,\n column: PropTypes.number,\n row_id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n column_id: PropTypes.string\n }),\n /**\n * Denotes the columns that will be used in the export data file.\n * If `all`, all columns will be used (visible + hidden). If `visible`,\n * only the visible columns will be used. Defaults to `visible`.\n */\n export_columns: PropTypes.oneOf(['all', 'visible']),\n /**\n * Denotes the type of the export data file,\n * Defaults to `'none'`\n */\n export_format: PropTypes.oneOf(['csv', 'xlsx', 'none']),\n /**\n * Denotes the format of the headers in the export data file.\n * If `'none'`, there will be no header. If `'display'`, then the header\n * of the data file will be be how it is currently displayed. Note that\n * `'display'` is only supported for `'xlsx'` export_format and will behave\n * like `'names'` for `'csv'` export format. If `'ids'` or `'names'`,\n * then the headers of data file will be the column id or the column\n * names, respectively\n */\n export_headers: PropTypes.oneOf(['none', 'ids', 'names', 'display']),\n /**\n * `fill_width` toggles between a set of CSS for two common behaviors:\n * True: The table container's width will grow to fill the available space;\n * False: The table container's width will equal the width of its content.\n */\n fill_width: PropTypes.bool,\n /**\n * List of columns ids of the columns that are currently hidden.\n * See the associated nested prop `columns.hideable`.\n */\n hidden_columns: PropTypes.arrayOf(PropTypes.string),\n /**\n * The ID of the table.\n */\n id: PropTypes.string,\n /**\n * If True, then the `active_cell` is in a focused state.\n */\n is_focused: PropTypes.bool,\n /**\n * If True, then column headers that have neighbors with duplicate names\n * will be merged into a single cell.\n * This will be applied for single column headers and multi-column\n * headers.\n */\n merge_duplicate_headers: PropTypes.bool,\n /**\n * `fixed_columns` will \"fix\" the set of columns so that\n * they remain visible when scrolling horizontally across\n * the unfixed columns. `fixed_columns` fixes columns\n * from left-to-right.\n * If `headers` is False, no columns are fixed.\n * If `headers` is True, all operation columns (see `row_deletable` and `row_selectable`)\n * are fixed. Additional data columns can be fixed by\n * assigning a number to `data`.\n *\n * Note that fixing columns introduces some changes to the\n * underlying markup of the table and may impact the\n * way that your columns are rendered or sized.\n * View the documentation examples to learn more.\n *\n */\n fixed_columns: PropTypes.oneOfType([\n PropTypes.exact({\n /**\n * Example `{'headers':False, 'data':0}` No columns are fixed (the default)\n */\n data: PropTypes.oneOf([0]),\n headers: PropTypes.oneOf([false])\n }),\n PropTypes.exact({\n /**\n * Example `{'headers':True, 'data':1}` one column is fixed.\n */\n data: PropTypes.number,\n headers: PropTypes.oneOf([true]).isRequired\n })\n ]),\n /**\n * `fixed_rows` will \"fix\" the set of rows so that\n * they remain visible when scrolling vertically down\n * the table. `fixed_rows` fixes rows\n * from top-to-bottom, starting from the headers.\n * If `headers` is False, no rows are fixed.\n * If `headers` is True, all header and filter rows (see `filter_action`) are\n * fixed. Additional data rows can be fixed by assigning\n * a number to `data`. Note that fixing rows introduces some changes to the\n * underlying markup of the table and may impact the\n * way that your columns are rendered or sized.\n * View the documentation examples to learn more.\n */\n fixed_rows: PropTypes.oneOfType([\n PropTypes.exact({\n /**\n * Example `{'headers':False, 'data':0}` No rows are fixed (the default)\n */\n data: PropTypes.oneOf([0]),\n headers: PropTypes.oneOf([false])\n }),\n PropTypes.exact({\n /**\n * Example `{'headers':True, 'data':1}` one row is fixed.\n */\n data: PropTypes.number,\n headers: PropTypes.oneOf([true]).isRequired\n })\n ]),\n /**\n * If `single`, then the user can select a single column or group\n * of merged columns via the radio button that will appear in the\n * header rows.\n * If `multi`, then the user can select multiple columns or groups\n * of merged columns via the checkbox that will appear in the header\n * rows.\n * If false, then the user will not be able to select columns and no\n * input will appear in the header rows.\n * When a column is selected, its id will be contained in `selected_columns`\n * and `derived_viewport_selected_columns`.\n */\n column_selectable: PropTypes.oneOf(['single', 'multi', false]),\n /**\n * If True, then a `x` will appear next to each `row`\n * and the user can delete the row.\n */\n row_deletable: PropTypes.bool,\n /**\n * If True (default), then it is possible to click and navigate\n * table cells.\n */\n cell_selectable: PropTypes.bool,\n /**\n * If `single`, then the user can select a single row\n * via a radio button that will appear next to each row.\n * If `multi`, then the user can select multiple rows\n * via a checkbox that will appear next to each row.\n * If false, then the user will not be able to select rows\n * and no additional UI elements will appear.\n * When a row is selected, its index will be contained\n * in `selected_rows`.\n */\n row_selectable: PropTypes.oneOf(['single', 'multi', false]),\n /**\n * `selected_cells` represents the set of cells that are selected,\n * as an array of objects, each item similar to `active_cell`.\n * Multiple cells can be selected by holding down shift and\n * clicking on a different cell or holding down shift and navigating\n * with the arrow keys.\n */\n selected_cells: PropTypes.arrayOf(\n PropTypes.exact({\n row: PropTypes.number,\n column: PropTypes.number,\n row_id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n column_id: PropTypes.string\n })\n ),\n /**\n * `selected_rows` contains the indices of rows that\n * are selected via the UI elements that appear when\n * `row_selectable` is `'single'` or `'multi'`.\n */\n selected_rows: PropTypes.arrayOf(PropTypes.number),\n /**\n * `selected_columns` contains the ids of columns that\n * are selected via the UI elements that appear when\n * `column_selectable` is `'single' or 'multi'`.\n */\n selected_columns: PropTypes.arrayOf(PropTypes.string),\n /**\n * `selected_row_ids` contains the ids of rows that\n * are selected via the UI elements that appear when\n * `row_selectable` is `'single'` or `'multi'`.\n */\n selected_row_ids: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n /**\n * Dash-assigned callback that gets fired when the user makes changes.\n */\n setProps: PropTypes.func,\n /**\n * When selecting multiple cells\n * (via clicking on a cell and then shift-clicking on another cell),\n * `start_cell` represents the [row, column] coordinates of the cell\n * in one of the corners of the region.\n * `end_cell` represents the coordinates of the other corner.\n */\n start_cell: PropTypes.exact({\n row: PropTypes.number,\n column: PropTypes.number,\n row_id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n column_id: PropTypes.string\n }),\n /**\n * If True, then the table will be styled like a list view\n * and not have borders between the columns.\n */\n style_as_list_view: PropTypes.bool,\n /**\n * `page_action` refers to a mode of the table where\n * not all of the rows are displayed at once: only a subset\n * are displayed (a \"page\") and the next subset of rows\n * can viewed by clicking \"Next\" or \"Previous\" buttons\n * at the bottom of the page.\n * Pagination is used to improve performance: instead of\n * rendering all of the rows at once (which can be expensive),\n * we only display a subset of them.\n * With pagination, we can either page through data that exists\n * in the table (e.g. page through `10,000` rows in `data` `100` rows at a time)\n * or we can update the data on-the-fly with callbacks\n * when the user clicks on the \"Previous\" or \"Next\" buttons.\n * These modes can be toggled with this `page_action` parameter:\n * `'native'`: all data is passed to the table up-front, paging logic is\n * handled by the table;\n * `'custom'`: data is passed to the table one page at a time, paging logic\n * is handled via callbacks;\n * `'none'`: disables paging, render all of the data at once.\n */\n page_action: PropTypes.oneOf(['custom', 'native', 'none']),\n /**\n * `page_current` represents which page the user is on.\n * Use this property to index through data in your callbacks with\n * backend paging.\n */\n page_current: PropTypes.number,\n /**\n * `page_count` represents the number of the pages in the\n * paginated table. This is really only useful when performing\n * backend pagination, since the front end is able to use the\n * full size of the table to calculate the number of pages.\n */\n page_count: PropTypes.number,\n /**\n * `page_size` represents the number of rows that will be\n * displayed on a particular page when `page_action` is `'custom'` or `'native'`\n */\n page_size: PropTypes.number,\n /**\n * `dropdown` specifies dropdown options for different columns.\n * Each entry refers to the column ID.\n * The `clearable` property defines whether the value can be deleted.\n * The `options` property refers to the `options` of the dropdown.\n */\n dropdown: PropTypes.objectOf(\n PropTypes.exact({\n clearable: PropTypes.bool,\n options: PropTypes.arrayOf(\n PropTypes.exact({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool\n ]).isRequired\n })\n ).isRequired\n })\n ),\n /**\n * `dropdown_conditional` specifies dropdown options in various columns and cells.\n * This property allows you to specify different dropdowns\n * depending on certain conditions. For example, you may\n * render different \"city\" dropdowns in a row depending on the\n * current value in the \"state\" column.\n */\n dropdown_conditional: PropTypes.arrayOf(\n PropTypes.exact({\n clearable: PropTypes.bool,\n if: PropTypes.exact({\n column_id: PropTypes.string,\n filter_query: PropTypes.string\n }),\n options: PropTypes.arrayOf(\n PropTypes.exact({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool\n ]).isRequired\n })\n ).isRequired\n })\n ),\n /**\n * `dropdown_data` specifies dropdown options on a row-by-row, column-by-column basis.\n * Each item in the array corresponds to the corresponding dropdowns for the `data` item\n * at the same index. Each entry in the item refers to the Column ID.\n */\n dropdown_data: PropTypes.arrayOf(\n PropTypes.objectOf(\n PropTypes.exact({\n clearable: PropTypes.bool,\n options: PropTypes.arrayOf(\n PropTypes.exact({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool\n ]).isRequired\n })\n ).isRequired\n })\n )\n ),\n /**\n * `tooltip` is the column based tooltip configuration applied to all rows. The key is the column\n * id and the value is a tooltip configuration.\n * Example: {i: {'value': i, 'use_with: 'both'} for i in df.columns}\n */\n tooltip: PropTypes.objectOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.exact({\n /**\n * Represents the delay in milliseconds before\n * the tooltip is shown when hovering a cell. This overrides\n * the table's `tooltip_delay` property. If set to `None`,\n * the tooltip will be shown immediately.\n */\n delay: PropTypes.number,\n /**\n * represents the duration in milliseconds\n * during which the tooltip is shown when hovering a cell.\n * This overrides the table's `tooltip_duration` property.\n * If set to `None`, the tooltip will not disappear.\n */\n duration: PropTypes.number,\n /**\n * refers to the type of tooltip syntax used\n * for the tooltip generation. Can either be `markdown`\n * or `text`. Defaults to `text`.\n */\n type: PropTypes.oneOf(['text', 'markdown']),\n /**\n * Refers to whether the tooltip will be shown\n * only on data or headers. Can be `both`, `data`, `header`.\n * Defaults to `both`.\n */\n use_with: PropTypes.oneOf(['both', 'data', 'header']),\n /**\n * refers to the syntax-based content of\n * the tooltip. This value is required. Alternatively, the value of the\n * property can also be a plain string. The `text` syntax will be used in\n * that case.\n */\n value: PropTypes.string.isRequired\n })\n ])\n ),\n /**\n * `tooltip_conditional` represents the tooltip shown\n * for different columns and cells.\n * This property allows you to specify different tooltips\n * depending on certain conditions. For example, you may have\n * different tooltips in the same column based on the value\n * of a certain data property.\n * Priority is from first to last defined conditional tooltip\n * in the list. Higher priority (more specific) conditional\n * tooltips should be put at the beginning of the list.\n */\n tooltip_conditional: PropTypes.arrayOf(\n PropTypes.exact({\n /**\n * The `delay` represents the delay in milliseconds before\n * the tooltip is shown when hovering a cell. This overrides\n * the table's `tooltip_delay` property. If set to `None`,\n * the tooltip will be shown immediately.\n */\n delay: PropTypes.number,\n /**\n * The `duration` represents the duration in milliseconds\n * during which the tooltip is shown when hovering a cell.\n * This overrides the table's `tooltip_duration` property.\n * If set to `None`, the tooltip will not disappear.\n */\n duration: PropTypes.number,\n /**\n * The `if` refers to the condition that needs to be fulfilled\n * in order for the associated tooltip configuration to be\n * used. If multiple conditions are defined, all conditions\n * must be met for the tooltip to be used by a cell.\n */\n if: PropTypes.exact({\n /**\n * `column_id` refers to the column ID that must be matched.\n */\n column_id: PropTypes.string,\n /**\n * `filter_query` refers to the query that must evaluate to True.\n */\n filter_query: PropTypes.string,\n /**\n * `row_index` refers to the index of the row in the source `data`.\n */\n row_index: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOf(['odd', 'even'])\n ])\n }).isRequired,\n /**\n * The `type` refers to the type of tooltip syntax used\n * for the tooltip generation. Can either be `markdown`\n * or `text`. Defaults to `text`.\n */\n type: PropTypes.oneOf(['text', 'markdown']),\n /**\n * The `value` refers to the syntax-based content of the tooltip. This value is required.\n */\n value: PropTypes.string.isRequired\n })\n ),\n /**\n * `tooltip_data` represents the tooltip shown\n * for different columns and cells.\n * A list of dicts for which each key is\n * a column id and the value is a tooltip configuration.\n */\n tooltip_data: PropTypes.arrayOf(\n PropTypes.objectOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.exact({\n /**\n * The `delay` represents the delay in milliseconds before\n * the tooltip is shown when hovering a cell. This overrides\n * the table's `tooltip_delay` property. If set to `None`,\n * the tooltip will be shown immediately.\n */\n delay: PropTypes.number,\n /**\n * The `duration` represents the duration in milliseconds\n * during which the tooltip is shown when hovering a cell.\n * This overrides the table's `tooltip_duration` property.\n * If set to `None`, the tooltip will not disappear.\n * Alternatively, the value of the property can also be\n * a plain string. The `text` syntax will be used in\n * that case.\n */\n duration: PropTypes.number,\n /**\n * For each tooltip configuration,\n * The `type` refers to the type of tooltip syntax used\n * for the tooltip generation. Can either be `markdown`\n * or `text`. Defaults to `text`.\n */\n type: PropTypes.oneOf(['text', 'markdown']),\n /**\n * The `value` refers to the syntax-based content of the tooltip. This value is required.\n */\n value: PropTypes.string.isRequired\n })\n ])\n )\n ),\n /**\n * `tooltip_header` represents the tooltip shown\n * for each header column and optionally each header row.\n * Example to show long column names in a tooltip: {i: i for i in df.columns}.\n * Example to show different column names in a tooltip: {'Rep': 'Republican', 'Dem': 'Democrat'}.\n * If the table has multiple rows of headers, then use a list as the value of the\n * `tooltip_header` items.\n *\n *\n */\n tooltip_header: PropTypes.objectOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.exact({\n /**\n * The `delay` represents the delay in milliseconds before\n * the tooltip is shown when hovering a cell. This overrides\n * the table's `tooltip_delay` property. If set to `None`,\n * the tooltip will be shown immediately.\n */\n delay: PropTypes.number,\n /**\n * The `duration` represents the duration in milliseconds\n * during which the tooltip is shown when hovering a cell.\n * This overrides the table's `tooltip_duration` property.\n * If set to `None`, the tooltip will not disappear.\n * Alternatively, the value of the property can also be\n * a plain string. The `text` syntax will be used in\n * that case.\n */\n duration: PropTypes.number,\n /**\n * For each tooltip configuration,\n * The `type` refers to the type of tooltip syntax used\n * for the tooltip generation. Can either be `markdown`\n * or `text`. Defaults to `text`.\n */\n type: PropTypes.oneOf(['text', 'markdown']),\n /**\n * The `value` refers to the syntax-based content of the tooltip. This value is required.\n */\n value: PropTypes.string.isRequired\n }),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOf([null]),\n PropTypes.string,\n PropTypes.exact({\n delay: PropTypes.number,\n duration: PropTypes.number,\n type: PropTypes.oneOf(['text', 'markdown']),\n value: PropTypes.string.isRequired\n })\n ])\n )\n ])\n ),\n /**\n * `tooltip_delay` represents the table-wide delay in milliseconds before\n * the tooltip is shown when hovering a cell. If set to `None`, the tooltip\n * will be shown immediately.\n * Defaults to 350.\n */\n tooltip_delay: PropTypes.number,\n /**\n * `tooltip_duration` represents the table-wide duration in milliseconds\n * during which the tooltip will be displayed when hovering a cell. If\n * set to `None`, the tooltip will not disappear.\n * Defaults to 2000.\n */\n tooltip_duration: PropTypes.number,\n /**\n * If `filter_action` is enabled, then the current filtering\n * string is represented in this `filter_query`\n * property.\n */\n filter_query: PropTypes.string,\n /**\n * The `filter_action` property controls the behavior of the `filtering` UI.\n * If `'none'`, then the filtering UI is not displayed.\n * If `'native'`, then the filtering UI is displayed and the filtering\n * logic is handled by the table. That is, it is performed on the data\n * that exists in the `data` property.\n * If `'custom'`, then the filtering UI is displayed but it is the\n * responsibility of the developer to program the filtering\n * through a callback (where `filter_query` or `derived_filter_query_structure` would be the input\n * and `data` would be the output).\n */\n filter_action: PropTypes.oneOfType([\n PropTypes.oneOf(['custom', 'native', 'none']),\n PropTypes.shape({\n type: PropTypes.oneOf(['custom', 'native']).isRequired,\n operator: PropTypes.oneOf(['and', 'or'])\n })\n ]),\n /**\n * There are two `filter_options` props in the table.\n * This is the table-level filter_options prop and there is\n * also the column-level `filter_options` prop.\n * These props determine whether the applicable filter relational\n * operators will default to `sensitive` or `insensitive` comparison.\n * If the column-level `filter_options` prop is set it overrides\n * the table-level `filter_options` prop for that column.\n */\n filter_options: PropTypes.shape({\n case: PropTypes.oneOf(['sensitive', 'insensitive'])\n }),\n /**\n * The `sort_action` property enables data to be\n * sorted on a per-column basis.\n * If `'none'`, then the sorting UI is not displayed.\n * If `'native'`, then the sorting UI is displayed and the sorting\n * logic is handled by the table. That is, it is performed on the data\n * that exists in the `data` property.\n * If `'custom'`, the the sorting UI is displayed but it is the\n * responsibility of the developer to program the sorting\n * through a callback (where `sort_by` would be the input and `data`\n * would be the output).\n * Clicking on the sort arrows will update the\n * `sort_by` property.\n */\n sort_action: PropTypes.oneOf(['custom', 'native', 'none']),\n /**\n * Sorting can be performed across multiple columns\n * (e.g. sort by country, sort within each country,\n * sort by year) or by a single column.\n * NOTE - With multi-column sort, it's currently\n * not possible to determine the order in which\n * the columns were sorted through the UI.\n * See [https://github.com/plotly/dash-table/issues/170](https://github.com/plotly/dash-table/issues/170)\n */\n sort_mode: PropTypes.oneOf(['single', 'multi']),\n /**\n * `sort_by` describes the current state\n * of the sorting UI.\n * That is, if the user clicked on the sort arrow\n * of a column, then this property will be updated\n * with the column ID and the direction\n * (`asc` or `desc`) of the sort.\n * For multi-column sorting, this will be a list of\n * sorting parameters, in the order in which they were\n * clicked.\n */\n sort_by: PropTypes.arrayOf(\n PropTypes.exact({\n column_id: PropTypes.string.isRequired,\n direction: PropTypes.oneOf(['asc', 'desc']).isRequired\n })\n ),\n /**\n * An array of string, number and boolean values that are treated as `None`\n * (i.e. ignored and always displayed last) when sorting.\n * This value will be used by columns without `sort_as_null`.\n * Defaults to `[]`.\n */\n sort_as_null: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool\n ])\n ),\n /**\n * CSS styles to be applied to the outer `table` container.\n * This is commonly used for setting properties like the\n * width or the height of the table.\n */\n style_table: PropTypes.object,\n /**\n * CSS styles to be applied to each individual cell of the table.\n * This includes the header cells, the `data` cells, and the filter\n * cells.\n */\n style_cell: PropTypes.object,\n /**\n * CSS styles to be applied to each individual data cell.\n * That is, unlike `style_cell`, it excludes the header and filter cells.\n */\n style_data: PropTypes.object,\n /**\n * CSS styles to be applied to the filter cells.\n * Note that this may change in the future as we build out a\n * more complex filtering UI.\n */\n style_filter: PropTypes.object,\n /**\n * CSS styles to be applied to each individual header cell.\n * That is, unlike `style_cell`, it excludes the `data` and filter cells.\n */\n style_header: PropTypes.object,\n /**\n * Conditional CSS styles for the cells.\n * This can be used to apply styles to cells on a per-column basis.\n */\n style_cell_conditional: PropTypes.arrayOf(\n PropTypes.shape({\n if: PropTypes.exact({\n column_id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n column_type: PropTypes.oneOf([\n 'any',\n 'numeric',\n 'text',\n 'datetime'\n ])\n })\n })\n ),\n /**\n * Conditional CSS styles for the data cells.\n * This can be used to apply styles to data cells on a per-column basis.\n */\n style_data_conditional: PropTypes.arrayOf(\n PropTypes.shape({\n if: PropTypes.exact({\n column_id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n column_type: PropTypes.oneOf([\n 'any',\n 'numeric',\n 'text',\n 'datetime'\n ]),\n filter_query: PropTypes.string,\n state: PropTypes.oneOf(['active', 'selected']),\n row_index: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOf(['odd', 'even']),\n PropTypes.arrayOf(PropTypes.number)\n ]),\n column_editable: PropTypes.bool\n })\n })\n ),\n /**\n * Conditional CSS styles for the filter cells.\n * This can be used to apply styles to filter cells on a per-column basis.\n */\n style_filter_conditional: PropTypes.arrayOf(\n PropTypes.shape({\n if: PropTypes.exact({\n column_id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n column_type: PropTypes.oneOf([\n 'any',\n 'numeric',\n 'text',\n 'datetime'\n ]),\n column_editable: PropTypes.bool\n })\n })\n ),\n /**\n * Conditional CSS styles for the header cells.\n * This can be used to apply styles to header cells on a per-column basis.\n */\n style_header_conditional: PropTypes.arrayOf(\n PropTypes.shape({\n if: PropTypes.exact({\n column_id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n column_type: PropTypes.oneOf([\n 'any',\n 'numeric',\n 'text',\n 'datetime'\n ]),\n header_index: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.number),\n PropTypes.oneOf(['odd', 'even'])\n ]),\n column_editable: PropTypes.bool\n })\n })\n ),\n /**\n * This property tells the table to use virtualization when rendering.\n * Assumptions are that:\n * the width of the columns is fixed;\n * the height of the rows is always the same; and\n * runtime styling changes will not affect width and height vs. first rendering\n */\n virtualization: PropTypes.bool,\n /**\n * This property represents the current structure of\n * `filter_query` as a tree structure. Each node of the\n * query structure has:\n * type (string; required):\n * 'open-block',\n * 'logical-operator',\n * 'relational-operator',\n * 'unary-operator', or\n * 'expression';\n * subType (string; optional):\n * 'open-block': '()',\n * 'logical-operator': '&&', '||',\n * 'relational-operator': '=', '>=', '>', '<=', '<', '!=', 'contains',\n * 'unary-operator': '!', 'is bool', 'is even', 'is nil', 'is num', 'is object', 'is odd', 'is prime', 'is str',\n * 'expression': 'value', 'field';\n * value (any):\n * 'expression, value': passed value,\n * 'expression, field': the field/prop name.\n * block (nested query structure; optional).\n * left (nested query structure; optional).\n * right (nested query structure; optional).\n * If the query is invalid or empty, the `derived_filter_query_structure` will\n * be `None`.\n */\n derived_filter_query_structure: PropTypes.object,\n /**\n * This property represents the current state of `data`\n * on the current page. This property will be updated\n * on paging, sorting, and filtering.\n */\n derived_viewport_data: PropTypes.arrayOf(PropTypes.object),\n /**\n * `derived_viewport_indices` indicates the order in which the original\n * rows appear after being filtered, sorted, and/or paged.\n * `derived_viewport_indices` contains indices for the current page,\n * while `derived_virtual_indices` contains indices across all pages.\n */\n derived_viewport_indices: PropTypes.arrayOf(PropTypes.number),\n /**\n * `derived_viewport_row_ids` lists row IDs in the order they appear\n * after being filtered, sorted, and/or paged.\n * `derived_viewport_row_ids` contains IDs for the current page,\n * while `derived_virtual_row_ids` contains IDs across all pages.\n */\n derived_viewport_row_ids: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n /**\n * `derived_viewport_selected_columns` contains the ids of the\n * `selected_columns` that are not currently hidden.\n */\n derived_viewport_selected_columns: PropTypes.arrayOf(PropTypes.string),\n /**\n * `derived_viewport_selected_rows` represents the indices of the\n * `selected_rows` from the perspective of the `derived_viewport_indices`.\n */\n derived_viewport_selected_rows: PropTypes.arrayOf(PropTypes.number),\n /**\n * `derived_viewport_selected_row_ids` represents the IDs of the\n * `selected_rows` on the currently visible page.\n */\n derived_viewport_selected_row_ids: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n /**\n * This property represents the visible state of `data`\n * across all pages after the front-end sorting and filtering\n * as been applied.\n */\n derived_virtual_data: PropTypes.arrayOf(PropTypes.object),\n /**\n * `derived_virtual_indices` indicates the order in which the original\n * rows appear after being filtered and sorted.\n * `derived_viewport_indices` contains indices for the current page,\n * while `derived_virtual_indices` contains indices across all pages.\n */\n derived_virtual_indices: PropTypes.arrayOf(PropTypes.number),\n /**\n * `derived_virtual_row_ids` indicates the row IDs in the order in which\n * they appear after being filtered and sorted.\n * `derived_viewport_row_ids` contains IDs for the current page,\n * while `derived_virtual_row_ids` contains IDs across all pages.\n */\n derived_virtual_row_ids: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n /**\n * `derived_virtual_selected_rows` represents the indices of the\n * `selected_rows` from the perspective of the `derived_virtual_indices`.\n */\n derived_virtual_selected_rows: PropTypes.arrayOf(PropTypes.number),\n /**\n * `derived_virtual_selected_row_ids` represents the IDs of the\n * `selected_rows` as they appear after filtering and sorting,\n * across all pages.\n */\n derived_virtual_selected_row_ids: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string\n }),\n /**\n * Used to allow user interactions in this component to be persisted when\n * the component - or the page - is refreshed. If `persisted` is truthy and\n * hasn't changed from its previous value, any `persisted_props` that the\n * user has changed while using the app will keep those changes, as long as\n * the new prop value also matches what was given originally.\n * Used in conjunction with `persistence_type` and `persisted_props`.\n */\n persistence: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.number\n ]),\n /**\n * Properties whose user interactions will persist after refreshing the\n * component or the page.\n */\n persisted_props: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'columns.name',\n 'data',\n 'filter_query',\n 'hidden_columns',\n 'selected_columns',\n 'selected_rows',\n 'sort_by'\n ])\n ),\n /**\n * Where persisted user changes will be stored:\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n persistence_type: PropTypes.oneOf(['local', 'session', 'memory'])\n};\nDataTable.persistenceTransforms = {\n columns: {\n name: {\n extract: propValue => R.pluck('name', propValue),\n apply: (storedValue, propValue) =>\n R.zipWith(R.assoc('name'), storedValue, propValue)\n }\n }\n};\nDataTable.defaultProps = defaultProps;\nDataTable.propTypes = propTypes;\n","/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\n;(function(root, factory) {\n\t// https://github.com/umdjs/umd/blob/master/returnExports.js\n\tif (typeof exports == 'object') {\n\t\t// For Node.js.\n\t\tmodule.exports = factory(root);\n\t} else if (typeof define == 'function' && define.amd) {\n\t\t// For AMD. Register as an anonymous module.\n\t\tdefine([], factory.bind(root, root));\n\t} else {\n\t\t// For browser globals (not exposing the function separately).\n\t\tfactory(root);\n\t}\n}(typeof global != 'undefined' ? global : this, function(root) {\n\n\tif (root.CSS && root.CSS.escape) {\n\t\treturn root.CSS.escape;\n\t}\n\n\t// https://drafts.csswg.org/cssom/#serialize-an-identifier\n\tvar cssEscape = function(value) {\n\t\tif (arguments.length == 0) {\n\t\t\tthrow new TypeError('`CSS.escape` requires an argument.');\n\t\t}\n\t\tvar string = String(value);\n\t\tvar length = string.length;\n\t\tvar index = -1;\n\t\tvar codeUnit;\n\t\tvar result = '';\n\t\tvar firstCodeUnit = string.charCodeAt(0);\n\t\twhile (++index < length) {\n\t\t\tcodeUnit = string.charCodeAt(index);\n\t\t\t// Note: there’s no need to special-case astral symbols, surrogate\n\t\t\t// pairs, or lone surrogates.\n\n\t\t\t// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\n\t\t\t// (U+FFFD).\n\t\t\tif (codeUnit == 0x0000) {\n\t\t\t\tresult += '\\uFFFD';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\n\t\t\t\t// U+007F, […]\n\t\t\t\t(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\n\t\t\t\t// If the character is the first character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039), […]\n\t\t\t\t(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\n\t\t\t\t// If the character is the second character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\n\t\t\t\t(\n\t\t\t\t\tindex == 1 &&\n\t\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\n\t\t\t\t\tfirstCodeUnit == 0x002D\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n\t\t\t\tresult += '\\\\' + codeUnit.toString(16) + ' ';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is the first character and is a `-` (U+002D), and\n\t\t\t\t// there is no second character, […]\n\t\t\t\tindex == 0 &&\n\t\t\t\tlength == 1 &&\n\t\t\t\tcodeUnit == 0x002D\n\t\t\t) {\n\t\t\t\tresult += '\\\\' + string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If the character is not handled by one of the above rules and is\n\t\t\t// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\n\t\t\t// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\n\t\t\t// U+005A), or [a-z] (U+0061 to U+007A), […]\n\t\t\tif (\n\t\t\t\tcodeUnit >= 0x0080 ||\n\t\t\t\tcodeUnit == 0x002D ||\n\t\t\t\tcodeUnit == 0x005F ||\n\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\n\t\t\t\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\n\t\t\t\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\n\t\t\t) {\n\t\t\t\t// the character itself\n\t\t\t\tresult += string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Otherwise, the escaped character.\n\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character\n\t\t\tresult += '\\\\' + string.charAt(index);\n\n\t\t}\n\t\treturn result;\n\t};\n\n\tif (!root.CSS) {\n\t\troot.CSS = {};\n\t}\n\n\troot.CSS.escape = cssEscape;\n\treturn cssEscape;\n\n}));\n","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc, R.pick\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\n\nvar assoc =\n/*#__PURE__*/\n_curry3(function assoc(prop, val, obj) {\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n result[prop] = val;\n return result;\n});\n\nexport default assoc;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _curryN from \"./internal/_curryN.js\";\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});\n\nexport default curryN;","export default function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}","import _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _curry2 from \"./_curry2.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n}","import _arity from \"./_arity.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n\n combinedIdx += 1;\n }\n\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n}","export default function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","import _isArray from \"./_isArray.js\";\nimport _isTransformer from \"./_isTransformer.js\";\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\nexport default function _dispatchable(methodNames, xf, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n\n var args = Array.prototype.slice.call(arguments, 0);\n var obj = args.pop();\n\n if (!_isArray(obj)) {\n var idx = 0;\n\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, args);\n }\n\n idx += 1;\n }\n\n if (_isTransformer(obj)) {\n var transducer = xf.apply(null, args);\n return transducer(obj);\n }\n }\n\n return fn.apply(this, arguments);\n };\n}","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","import _curry1 from \"./_curry1.js\";\nimport _isArray from \"./_isArray.js\";\nimport _isString from \"./_isString.js\";\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\n\nvar _isArrayLike =\n/*#__PURE__*/\n_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n\n if (!x) {\n return false;\n }\n\n if (typeof x !== 'object') {\n return false;\n }\n\n if (_isString(x)) {\n return false;\n }\n\n if (x.nodeType === 1) {\n return !!x.length;\n }\n\n if (x.length === 0) {\n return true;\n }\n\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n\n return false;\n});\n\nexport default _isArrayLike;","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nexport default Number.isInteger || function _isInteger(n) {\n return n << 0 === n;\n};","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","export default function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n\n return result;\n}","var XWrap =\n/*#__PURE__*/\nfunction () {\n function XWrap(fn) {\n this.f = fn;\n }\n\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nexport default function _xwrap(fn) {\n return new XWrap(fn);\n}","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\nvar bind =\n/*#__PURE__*/\n_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\n\nexport default bind;","import _isArrayLike from \"./_isArrayLike.js\";\nimport _xwrap from \"./_xwrap.js\";\nimport bind from \"../bind.js\";\n\nfunction _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n idx += 1;\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n step = iter.next();\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\nexport default function _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n\n if (_isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n }\n\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n}","export default {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nexport default keys;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XMap =\n/*#__PURE__*/\nfunction () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap =\n/*#__PURE__*/\n_curry2(function _xmap(f, xf) {\n return new XMap(f, xf);\n});\n\nexport default _xmap;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _map from \"./internal/_map.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xmap from \"./internal/_xmap.js\";\nimport curryN from \"./curryN.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\n\nvar map =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n\n case '[object Object]':\n return _reduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n\n default:\n return _map(fn, functor);\n }\n}));\n\nexport default map;","import _curry2 from \"./internal/_curry2.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * const list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\n\nvar nth =\n/*#__PURE__*/\n_curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});\n\nexport default nth;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\n/**\n * Accepts a function `fn` and returns a function that guards invocation of\n * `fn` such that `fn` can only ever be called once, no matter how many times\n * the returned function is invoked. The first value calculated is returned in\n * subsequent invocations.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a... -> b) -> (a... -> b)\n * @param {Function} fn The function to wrap in a call-only-once wrapper.\n * @return {Function} The wrapped function.\n * @example\n *\n * const addOneOnce = R.once(x => x + 1);\n * addOneOnce(10); //=> 11\n * addOneOnce(addOneOnce(50)); //=> 11\n */\n\nvar once =\n/*#__PURE__*/\n_curry1(function once(fn) {\n var called = false;\n var result;\n return _arity(fn.length, function () {\n if (called) {\n return result;\n }\n\n called = true;\n result = fn.apply(this, arguments);\n return result;\n });\n});\n\nexport default once;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport nth from \"./nth.js\";\n/**\n * Retrieves the values at given paths of an object.\n *\n * @func\n * @memberOf R\n * @since v0.27.1\n * @category Object\n * @typedefn Idx = [String | Int]\n * @sig [Idx] -> {a} -> [a | Undefined]\n * @param {Array} pathsArray The array of paths to be fetched.\n * @param {Object} obj The object to retrieve the nested properties from.\n * @return {Array} A list consisting of values at paths specified by \"pathsArray\".\n * @see R.path\n * @example\n *\n * R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3]\n * R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined]\n */\n\nvar paths =\n/*#__PURE__*/\n_curry2(function paths(pathsArray, obj) {\n return pathsArray.map(function (paths) {\n var val = obj;\n var idx = 0;\n var p;\n\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n\n p = paths[idx];\n val = _isInteger(p) ? nth(p, val) : val[p];\n idx += 1;\n }\n\n return val;\n });\n});\n\nexport default paths;","import _curry2 from \"./internal/_curry2.js\";\nimport paths from \"./paths.js\";\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop, R.nth\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1\n * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2\n */\n\nvar path =\n/*#__PURE__*/\n_curry2(function path(pathAr, obj) {\n return paths([pathAr], obj)[0];\n});\n\nexport default path;","import _curry2 from \"./internal/_curry2.js\";\nimport path from \"./path.js\";\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig Idx -> {s: a} -> a | Undefined\n * @param {String|Number} p The property name or array index\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path, R.nth\n * @example\n *\n * R.prop('x', {x: 100}); //=> 100\n * R.prop('x', {}); //=> undefined\n * R.prop(0, [100]); //=> 100\n * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4\n */\n\nvar prop =\n/*#__PURE__*/\n_curry2(function prop(p, obj) {\n return path([p], obj);\n});\n\nexport default prop;","import _curry2 from \"./internal/_curry2.js\";\nimport map from \"./map.js\";\nimport prop from \"./prop.js\";\n/**\n * Returns a new list by plucking the same named property off all objects in\n * the list supplied.\n *\n * `pluck` will work on\n * any [functor](https://github.com/fantasyland/fantasy-land#functor) in\n * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => k -> f {k: v} -> f v\n * @param {Number|String} key The key name to pluck off of each object.\n * @param {Array} f The array or functor to consider.\n * @return {Array} The list of values for the given key.\n * @see R.props\n * @example\n *\n * var getAges = R.pluck('age');\n * getAges([{name: 'fred', age: 29}, {name: 'wilma', age: 27}]); //=> [29, 27]\n *\n * R.pluck(0, [[1, 2], [3, 4]]); //=> [1, 3]\n * R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5}\n * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5]\n * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5]\n */\n\nvar pluck =\n/*#__PURE__*/\n_curry2(function pluck(p, list) {\n return map(prop(p), list);\n});\n\nexport default pluck;","module.exports = window[\"PropTypes\"];","module.exports = window[\"React\"];","module.exports = window[\"ReactDOM\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + {\"108\":\"async-table\",\"471\":\"async-export\",\"790\":\"async-highlight\"}[chunkId] + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","var getCurrentScript = function() {\n var script = document.currentScript;\n if (!script) {\n /* Shim for IE11 and below */\n /* Do not take into account async scripts and inline scripts */\n\n var doc_scripts = document.getElementsByTagName('script');\n var scripts = [];\n\n for (var i = 0; i < doc_scripts.length; i++) {\n scripts.push(doc_scripts[i]);\n }\n\n scripts = scripts.filter(function(s) { return !s.async && !s.text && !s.textContent; });\n script = scripts.slice(-1)[0];\n }\n\n return script;\n};\n\nvar isLocalScript = function(script) {\n return /\\/_dash-component-suites\\//.test(script.src);\n};\n\nObject.defineProperty(__webpack_require__, 'p', {\n get: (function () {\n var script = getCurrentScript();\n\n var url = script.src.split('/').slice(0, -1).join('/') + '/';\n\n return function() {\n return url;\n };\n })()\n});\n\nif (typeof jsonpScriptSrc !== 'undefined') {\n var __jsonpScriptSrc__ = jsonpScriptSrc;\n jsonpScriptSrc = function(chunkId) {\n var script = getCurrentScript();\n var isLocal = isLocalScript(script);\n\n var src = __jsonpScriptSrc__(chunkId);\n\n if(!isLocal) {\n return src;\n }\n\n var srcFragments = src.split('/');\n var fileFragments = srcFragments.slice(-1)[0].split('.');\n\n fileFragments.splice(1, 0, \"v5_0_0m1633805732\");\n srcFragments.splice(-1, 1, fileFragments.join('.'))\n\n return srcFragments.join('/');\n };\n}\n","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t296: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) var result = runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdash_table\"] = self[\"webpackChunkdash_table\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import 'css.escape'; // polyfill\nimport Environment from 'core/environment';\nimport Logger from 'core/Logger';\nimport DataTable from 'dash-table/dash/DataTable';\nLogger.setDebugLevel(Environment.debugLevel);\nLogger.setLogLevel(Environment.logLevel);\nexport { DataTable };\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://dash_table/webpack/runtime/create fake namespace object","webpack://dash_table/webpack/runtime/load script","webpack://dash_table/./node_modules/@plotly/dash-component-plugins/dist/index.js","webpack://dash_table/./src/core/Logger/DebugLevel.ts","webpack://dash_table/./src/core/Logger/LogLevel.ts","webpack://dash_table/./src/core/Logger/index.ts","webpack://dash_table/./src/core/storage/Cookie.ts","webpack://dash_table/./src/core/environment/index.ts","webpack://dash_table/./src/dash-table/LazyLoader.ts","webpack://dash_table/./node_modules/ramda/es/zipWith.js","webpack://dash_table/./src/dash-table/dash/DataTable.js","webpack://dash_table/./node_modules/css.escape/css.escape.js","webpack://dash_table/./node_modules/ramda/es/assoc.js","webpack://dash_table/./node_modules/ramda/es/curryN.js","webpack://dash_table/./node_modules/ramda/es/internal/_arity.js","webpack://dash_table/./node_modules/ramda/es/internal/_curry1.js","webpack://dash_table/./node_modules/ramda/es/internal/_curry2.js","webpack://dash_table/./node_modules/ramda/es/internal/_curry3.js","webpack://dash_table/./node_modules/ramda/es/internal/_curryN.js","webpack://dash_table/./node_modules/ramda/es/internal/_isTransformer.js","webpack://dash_table/./node_modules/ramda/es/internal/_dispatchable.js","webpack://dash_table/./node_modules/ramda/es/internal/_has.js","webpack://dash_table/./node_modules/ramda/es/internal/_isArray.js","webpack://dash_table/./node_modules/ramda/es/internal/_isArrayLike.js","webpack://dash_table/./node_modules/ramda/es/internal/_isInteger.js","webpack://dash_table/./node_modules/ramda/es/internal/_isPlaceholder.js","webpack://dash_table/./node_modules/ramda/es/internal/_isString.js","webpack://dash_table/./node_modules/ramda/es/internal/_map.js","webpack://dash_table/./node_modules/ramda/es/internal/_xwrap.js","webpack://dash_table/./node_modules/ramda/es/bind.js","webpack://dash_table/./node_modules/ramda/es/internal/_reduce.js","webpack://dash_table/./node_modules/ramda/es/internal/_xfBase.js","webpack://dash_table/./node_modules/ramda/es/internal/_isArguments.js","webpack://dash_table/./node_modules/ramda/es/keys.js","webpack://dash_table/./node_modules/ramda/es/internal/_xmap.js","webpack://dash_table/./node_modules/ramda/es/map.js","webpack://dash_table/./node_modules/ramda/es/nth.js","webpack://dash_table/./node_modules/ramda/es/once.js","webpack://dash_table/./node_modules/ramda/es/paths.js","webpack://dash_table/./node_modules/ramda/es/path.js","webpack://dash_table/./node_modules/ramda/es/prop.js","webpack://dash_table/./node_modules/ramda/es/pluck.js","webpack://dash_table/external \"PropTypes\"","webpack://dash_table/external \"React\"","webpack://dash_table/external \"ReactDOM\"","webpack://dash_table/webpack/bootstrap","webpack://dash_table/webpack/runtime/compat get default export","webpack://dash_table/webpack/runtime/define property getters","webpack://dash_table/webpack/runtime/ensure chunk","webpack://dash_table/webpack/runtime/get javascript chunk filename","webpack://dash_table/webpack/runtime/global","webpack://dash_table/webpack/runtime/hasOwnProperty shorthand","webpack://dash_table/webpack/runtime/make namespace object","webpack://dash_table/webpack/runtime/publicPath","webpack://dash_table/webpack/runtime/compat","webpack://dash_table/webpack/runtime/jsonp chunk loading","webpack://dash_table/./src/dash-table/index.ts"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","e","window","module","exports","n","t","r","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","isReady","Promise","lazy","resolve","then","setTimeout","regeneratorRuntime","async","prev","next","awrap","stop","u","_dashprivate_isLazyComponentReady","a","length","configurable","writable","key","f","TypeError","this","dispatchEvent","CustomEvent","addEventListener","removeEventListener","DebugLevel","LogLevel","LogString","__logLevel","__debugLevel","logFn","level","currentLevel","fn","console","log","warn","error","Error","prefix","toUpperCase","logger","setDebugLevel","setLogLevel","defineProperties","trace","info","warning","fatal","debug","freeze","__1day","__20years","CookieStorage","id","domain","path","enabled","expires","Date","now","toUTCString","document","cookie","toLowerCase","split","map","fragments","trim","find","toLocaleLowerCase","entry","delete","R","ret","indexOf","DASH_DEBUG","DASH_LOG","Environment","URL","constructor","location","href","searchParams","_activeEdge","_supportsCssVariables","Boolean","CSS","supports","LazyLoader","hljs","result","b","rv","idx","len","Math","min","DataTable","Suspense","fallback","RealDataTable","props","Component","asyncDecorator","defaultProps","page_action","page_current","page_size","css","filter_query","filter_action","sort_as_null","sort_action","sort_mode","sort_by","style_as_list_view","derived_viewport_data","derived_viewport_indices","derived_viewport_row_ids","derived_viewport_selected_rows","derived_viewport_selected_row_ids","derived_virtual_data","derived_virtual_indices","derived_virtual_row_ids","derived_virtual_selected_rows","derived_virtual_selected_row_ids","dropdown","dropdown_conditional","dropdown_data","fill_width","filter_options","fixed_columns","headers","data","fixed_rows","markdown_options","link_target","html","tooltip","tooltip_conditional","tooltip_data","tooltip_header","tooltip_delay","tooltip_duration","column_selectable","editable","export_columns","export_format","include_headers_on_copy_paste","selected_cells","selected_columns","selected_rows","selected_row_ids","cell_selectable","row_selectable","style_table","style_cell_conditional","style_data_conditional","style_filter_conditional","style_header_conditional","virtualization","persisted_props","persistence_type","propTypes","PropTypes","columns","clearable","deletable","case","hideable","renamable","selectable","format","locale","symbol","decimal","group","grouping","numerals","percent","separate_4digits","nully","specifier","name","isRequired","presentation","on_change","action","failure","validation","allow_null","allow_YY","type","active_cell","row","column","row_id","column_id","locale_format","selector","rule","data_previous","data_timestamp","end_cell","export_headers","hidden_columns","is_focused","merge_duplicate_headers","row_deletable","setProps","start_cell","page_count","options","label","if","delay","duration","use_with","row_index","operator","direction","style_cell","style_data","style_filter","style_header","column_type","state","column_editable","header_index","derived_filter_query_structure","derived_viewport_selected_columns","loading_state","is_loading","prop_name","component_name","persistence","persistenceTransforms","extract","propValue","apply","storedValue","root","g","escape","cssEscape","arguments","codeUnit","string","String","index","firstCodeUnit","charCodeAt","toString","charAt","factory","assoc","prop","val","obj","curryN","_arity","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","_curry1","f1","_curry2","f2","_b","_a","_curry3","f3","_c","_curryN","received","combined","argsIdx","left","combinedIdx","_isTransformer","_dispatchable","methodNames","xf","args","Array","slice","pop","_isArray","transducer","_has","isArray","_isArrayLike","x","nodeType","Number","isInteger","_isPlaceholder","_isString","_map","functor","XWrap","acc","thisObj","_iterableReduce","iter","step","done","_methodReduce","methodName","symIterator","iterator","_reduce","list","_xwrap","_arrayReduce","reduce","init","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","hasArgsEnumBug","contains","item","keys","nIdx","ks","checkArgsLength","XMap","_xfBase","input","nth","offset","once","called","pathsArray","paths","_isInteger","pathAr","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","getPrototypeOf","__proto__","mode","ns","def","current","getOwnPropertyNames","forEach","definition","chunkId","all","promises","globalThis","Function","url","push","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","target","head","appendChild","scriptUrl","importScripts","currentScript","replace","getCurrentScript","doc_scripts","filter","text","textContent","join","jsonpScriptSrc","__jsonpScriptSrc__","isLocal","test","srcFragments","fileFragments","splice","installedChunks","j","installedChunkData","promise","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","self","Logger"],"mappings":"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","file":"bundle.js","sourcesContent":["var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"dash_table:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","!function(e,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],n):\"object\"==typeof exports?exports[\"dash-component-plugins\"]=n(require(\"react\")):e[\"dash-component-plugins\"]=n(e.React)}(window,(function(e){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&n&&\"string\"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p=\"\",t(t.s=1)}([function(n,t){n.exports=e},function(e,n,t){\"use strict\";t.r(n);var r=t(0),o=function(e,n){var t,o={isReady:new Promise((function(e){t=e})),get:Object(r.lazy)((function(){return Promise.resolve(n()).then((function(e){return setTimeout((function(){return regeneratorRuntime.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,regeneratorRuntime.awrap(t(!0));case 2:o.isReady=!0;case 3:case\"end\":return e.stop()}}))}),0),e}))}))};return Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return o.isReady}}),o.get},i=function(e,n){Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return u(n)}})},u=function(e){return e&&e._dashprivate_isLazyComponentReady};function a(e,n){for(var t=0;t { };\n }\n let fn;\n let fnStyle = '';\n switch (level) {\n case LogLevel.TRACE:\n case LogLevel.INFO:\n fn = window.console.log;\n fnStyle = 'color: white; background-color: #3166A2;';\n break;\n case DebugLevel.DEBUG:\n case LogLevel.WARNING:\n fn = window.console.warn;\n fnStyle = 'color: white; background-color: #E9B606;';\n break;\n case LogLevel.ERROR:\n case LogLevel.FATAL:\n fn = window.console.error;\n fnStyle = 'color: white; background-color: #FF0000;';\n break;\n default:\n throw new Error(`Unknown log ${level}`);\n }\n const prefix = `${fnStyle && __highlightPrefix ? '%c' : ''}[${LogString[level].toUpperCase()}]`;\n if (fnStyle && __highlightPrefix) {\n return fn.bind(window.console, prefix, fnStyle);\n }\n else {\n return fn.bind(window.console, prefix);\n }\n}\nconst logger = {\n setDebugLevel(level) {\n __debugLevel = level;\n },\n setLogLevel(level) {\n __logLevel = level;\n }\n};\nObject.defineProperties(logger, {\n trace: {\n get: () => {\n return logFn(LogLevel.TRACE, __logLevel);\n },\n configurable: false,\n enumerable: false\n },\n info: {\n get: () => {\n return logFn(LogLevel.INFO, __logLevel);\n },\n configurable: false,\n enumerable: false\n },\n warning: {\n get: () => {\n return logFn(LogLevel.WARNING, __logLevel);\n },\n configurable: false,\n enumerable: false\n },\n error: {\n get: () => {\n return logFn(LogLevel.ERROR, __logLevel);\n },\n configurable: false,\n enumerable: false\n },\n fatal: {\n get: () => {\n return logFn(LogLevel.FATAL, __logLevel);\n },\n configurable: false,\n enumerable: false\n },\n debug: {\n get: () => {\n return logFn(DebugLevel.DEBUG, __debugLevel);\n },\n configurable: false,\n enumerable: false\n }\n});\nObject.freeze(logger);\nexport default logger;\nexport { DebugLevel, LogLevel };\n","import * as R from 'ramda';\nconst __1day = 86400 * 1000;\nconst __20years = 86400 * 1000 * 365 * 20;\nexport default class CookieStorage {\n // From https://github.com/Modernizr/Modernizr/blob/f4d3aa0b3c9eeb7338e8d89ed77929a8e969c502/feature-detects/cookies.js#L1\n // try..catch because some in situations `document.cookie` is exposed but throws a\n // SecurityError if you try to access it; e.g. documents created from data URIs\n // or in sandboxed iframes (depending on flags/context)\n static enabled = R.once(() => {\n try {\n // Create cookie\n document.cookie = 'cookietest=1';\n const ret = document.cookie.indexOf('cookietest=') !== -1;\n // Delete cookie\n document.cookie =\n 'cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT';\n return ret;\n }\n catch (e) {\n return false;\n }\n });\n static delete(id, domain = '', path = '/') {\n if (!CookieStorage.enabled()) {\n return;\n }\n const expires = new Date(Date.now() - __1day).toUTCString();\n document.cookie = `${id}=;expires=${expires};domain=${domain};path=${path}`;\n }\n static get(id) {\n if (!id.length) {\n return;\n }\n if (!CookieStorage.enabled()) {\n return;\n }\n id = id.toLowerCase();\n const cookies = document.cookie.split(';').map(cookie => {\n const fragments = cookie.split('=');\n return {\n id: fragments[0].trim(),\n value: fragments[1]\n };\n });\n return (cookies.find(cookie => id === cookie.id.toLocaleLowerCase()) ||\n {}).value;\n }\n static set(id, value, domain = '', path = '/') {\n if (!CookieStorage.enabled()) {\n return;\n }\n const expires = new Date(Date.now() + __20years).toUTCString();\n const entry = `${id}=${value};expires=${expires};domain=${domain};path=${path}`;\n if (CookieStorage.get(id)) {\n CookieStorage.delete(id, domain, path);\n }\n document.cookie = entry;\n }\n}\n","import CookieStorage from 'core/storage/Cookie';\nimport { DebugLevel, LogLevel } from 'core/Logger';\nconst DASH_DEBUG = 'dash_debug';\nconst DASH_LOG = 'dash_log';\nexport default class Environment {\n static _supportsCssVariables = Boolean(window.CSS?.supports?.('.some-selector', 'var(--some-var)'));\n static _activeEdge = Environment._supportsCssVariables\n ? '1px solid var(--accent)'\n : '1px solid hotpink';\n static get searchParams() {\n return ((typeof URL !== 'undefined' &&\n URL.prototype &&\n URL.prototype.constructor &&\n new URL(window.location.href).searchParams) || { get: () => null });\n }\n static get debugLevel() {\n const debug = this.searchParams.get(DASH_DEBUG) || CookieStorage.get(DASH_DEBUG);\n return debug\n ? DebugLevel[debug] || DebugLevel.NONE\n : DebugLevel.NONE;\n }\n static get logLevel() {\n const log = this.searchParams.get(DASH_LOG) || CookieStorage.get(DASH_LOG);\n return log ? LogLevel[log] || LogLevel.ERROR : LogLevel.ERROR;\n }\n static get defaultEdge() {\n return '1px solid #d3d3d3';\n }\n static get activeEdge() {\n return Environment._activeEdge;\n }\n static get supportsCssVariables() {\n return Environment._supportsCssVariables;\n }\n}\n","export default class LazyLoader {\n static get xlsx() {\n return import(\n /* webpackChunkName: \"export\", webpackMode: \"lazy\" */ 'xlsx');\n }\n static get hljs() {\n return Promise.resolve(window.hljs ||\n import(\n /* webpackChunkName: \"highlight\", webpackMode: \"lazy\" */ '../third-party/highlight.js').then(result => result.default));\n }\n static table() {\n return import(\n /* webpackChunkName: \"table\", webpackMode: \"lazy\" */ 'dash-table/dash/fragments/DataTable');\n }\n}\n","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Creates a new list out of the two supplied by applying the function to each\n * equally-positioned pair in the lists. The returned list is truncated to the\n * length of the shorter of the two input lists.\n *\n * @function\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> c) -> [a] -> [b] -> [c]\n * @param {Function} fn The function used to combine the two elements into one value.\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by combining same-indexed elements of `list1` and `list2`\n * using `fn`.\n * @example\n *\n * const f = (x, y) => {\n * // ...\n * };\n * R.zipWith(f, [1, 2, 3], ['a', 'b', 'c']);\n * //=> [f(1, 'a'), f(2, 'b'), f(3, 'c')]\n * @symb R.zipWith(fn, [a, b, c], [d, e, f]) = [fn(a, d), fn(b, e), fn(c, f)]\n */\n\nvar zipWith =\n/*#__PURE__*/\n_curry3(function zipWith(fn, a, b) {\n var rv = [];\n var idx = 0;\n var len = Math.min(a.length, b.length);\n\n while (idx < len) {\n rv[idx] = fn(a[idx], b[idx]);\n idx += 1;\n }\n\n return rv;\n});\n\nexport default zipWith;","\nimport * as R from 'ramda';\nimport React, {Component, Suspense} from 'react';\nimport PropTypes from 'prop-types';\nimport {asyncDecorator} from '@plotly/dash-component-plugins';\nimport LazyLoader from 'dash-table/LazyLoader';\n/**\n * Dash DataTable is an interactive table component designed for\n * viewing, editing, and exploring large datasets.\n * DataTable is rendered with standard, semantic HTML
markup,\n * which makes it accessible, responsive, and easy to style. This\n * component was written from scratch in React.js specifically for the\n * Dash community. Its API was designed to be ergonomic and its behavior\n * is completely customizable through its properties.\n */\nexport default class DataTable extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\nconst RealDataTable = asyncDecorator(DataTable, LazyLoader.table);\nexport const defaultProps = {\n page_action: 'native',\n page_current: 0,\n page_size: 250,\n css: [],\n filter_query: '',\n filter_action: 'none',\n sort_as_null: [],\n sort_action: 'none',\n sort_mode: 'single',\n sort_by: [],\n style_as_list_view: false,\n derived_viewport_data: [],\n derived_viewport_indices: [],\n derived_viewport_row_ids: [],\n derived_viewport_selected_rows: [],\n derived_viewport_selected_row_ids: [],\n derived_virtual_data: [],\n derived_virtual_indices: [],\n derived_virtual_row_ids: [],\n derived_virtual_selected_rows: [],\n derived_virtual_selected_row_ids: [],\n dropdown: {},\n dropdown_conditional: [],\n dropdown_data: [],\n fill_width: true,\n filter_options: {},\n fixed_columns: {\n headers: false,\n data: 0\n },\n fixed_rows: {\n headers: false,\n data: 0\n },\n markdown_options: {\n link_target: '_blank',\n html: false\n },\n tooltip: {},\n tooltip_conditional: [],\n tooltip_data: [],\n tooltip_header: {},\n tooltip_delay: 350,\n tooltip_duration: 2000,\n column_selectable: false,\n editable: false,\n export_columns: 'visible',\n export_format: 'none',\n include_headers_on_copy_paste: false,\n selected_cells: [],\n selected_columns: [],\n selected_rows: [],\n selected_row_ids: [],\n cell_selectable: true,\n row_selectable: false,\n style_table: {},\n style_cell_conditional: [],\n style_data_conditional: [],\n style_filter_conditional: [],\n style_header_conditional: [],\n virtualization: false,\n persisted_props: [\n 'columns.name',\n 'filter_query',\n 'hidden_columns',\n 'selected_columns',\n 'selected_rows',\n 'sort_by'\n ],\n persistence_type: 'local'\n};\nexport const propTypes = {\n /**\n * The contents of the table.\n * The keys of each item in data should match the column IDs.\n * Each item can also have an 'id' key, whose value is its row ID. If there\n * is a column with ID='id' this will display the row ID, otherwise it is\n * just used to reference the row for selections, filtering, etc.\n * Example:\n * [\n * {'column-1': 4.5, 'column-2': 'montreal', 'column-3': 'canada'},\n * {'column-1': 8, 'column-2': 'boston', 'column-3': 'america'}\n * ]\n */\n data: PropTypes.arrayOf(\n PropTypes.objectOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool\n ])\n )\n ),\n /**\n * Columns describes various aspects about each individual column.\n * `name` and `id` are the only required parameters.\n */\n columns: PropTypes.arrayOf(\n PropTypes.exact({\n /**\n * If true, the user can clear the column by clicking on the `clear`\n * action button on the column. If there are multiple header rows, true\n * will display the action button on each row.\n * If `last`, the `clear` action button will only appear on the last header\n * row. If `first` it will only appear on the first header row. These\n * are respectively shortcut equivalents to `[false, ..., false, true]` and\n * `[true, false, ..., false]`.\n * If there are merged, multi-header columns then you can choose\n * which column header row to display the `clear` action button in by\n * supplying an array of booleans.\n * For example, `[true, false]` will display the `clear` action button\n * on the first row, but not the second row.\n * If the `clear` action button appears on a merged column, then clicking\n * on that button will clear *all* of the merged columns associated with it.\n * Unlike `column.deletable`, this action does not remove the column(s)\n * from the table. It only removed the associated entries from `data`.\n */\n clearable: PropTypes.oneOfType([\n PropTypes.oneOf(['first', 'last']),\n PropTypes.bool,\n PropTypes.arrayOf(PropTypes.bool)\n ]),\n /**\n * If true, the user can remove the column by clicking on the `delete`\n * action button on the column. If there are multiple header rows, true\n * will display the action button on each row.\n * If `last`, the `delete` action button will only appear on the last header\n * row. If `first` it will only appear on the first header row. These\n * are respectively shortcut equivalents to `[false, ..., false, true]` and\n * `[true, false, ..., false]`.\n * If there are merged, multi-header columns then you can choose\n * which column header row to display the `delete` action button in by\n * supplying an array of booleans.\n * For example, `[true, false]` will display the `delete` action button\n * on the first row, but not the second row.\n * If the `delete` action button appears on a merged column, then clicking\n * on that button will remove *all* of the merged columns associated with it.\n */\n deletable: PropTypes.oneOfType([\n PropTypes.oneOf(['first', 'last']),\n PropTypes.bool,\n PropTypes.arrayOf(PropTypes.bool)\n ]),\n /**\n * There are two `editable` flags in the table.\n * This is the column-level editable flag and there is\n * also the table-level `editable` flag.\n * These flags determine whether the contents of the table\n * are editable or not.\n * If the column-level `editable` flag is set it overrides\n * the table-level `editable` flag for that column.\n */\n editable: PropTypes.bool,\n /**\n * There are two `filter_options` props in the table.\n * This is the column-level filter_options prop and there is\n * also the table-level `filter_options` prop.\n * These props determine whether the applicable filter relational\n * operators will default to `sensitive` or `insensitive` comparison.\n * If the column-level `filter_options` prop is set it overrides\n * the table-level `filter_options` prop for that column.\n */\n filter_options: PropTypes.shape({\n case: PropTypes.oneOf(['sensitive', 'insensitive'])\n }),\n /**\n * If true, the user can hide the column by clicking on the `hide`\n * action button on the column. If there are multiple header rows, true\n * will display the action button on each row.\n * If `last`, the `hide` action button will only appear on the last header\n * row. If `first` it will only appear on the first header row. These\n * are respectively shortcut equivalents to `[false, ..., false, true]` and\n * `[true, false, ..., false]`.\n * If there are merged, multi-header columns then you can choose\n * which column header row to display the `hide` action button in by\n * supplying an array of booleans.\n * For example, `[true, false]` will display the `hide` action button\n * on the first row, but not the second row.\n * If the `hide` action button appears on a merged column, then clicking\n * on that button will hide *all* of the merged columns associated with it.\n */\n hideable: PropTypes.oneOfType([\n PropTypes.oneOf(['first', 'last']),\n PropTypes.bool,\n PropTypes.arrayOf(PropTypes.bool)\n ]),\n /**\n * If true, the user can rename the column by clicking on the `rename`\n * action button on the column. If there are multiple header rows, true\n * will display the action button on each row.\n * If `last`, the `rename` action button will only appear on the last header\n * row. If `first` it will only appear on the first header row. These\n * are respectively shortcut equivalents to `[false, ..., false, true]` and\n * `[true, false, ..., false]`.\n * If there are merged, multi-header columns then you can choose\n * which column header row to display the `rename` action button in by\n * supplying an array of booleans.\n * For example, `[true, false]` will display the `rename` action button\n * on the first row, but not the second row.\n * If the `rename` action button appears on a merged column, then clicking\n * on that button will rename *all* of the merged columns associated with it.\n */\n renamable: PropTypes.oneOfType([\n PropTypes.oneOf(['first', 'last']),\n PropTypes.bool,\n PropTypes.arrayOf(PropTypes.bool)\n ]),\n /**\n * If true, the user can select the column by clicking on the checkbox or radio button\n * in the column. If there are multiple header rows, true will display the input\n * on each row.\n * If `last`, the input will only appear on the last header row. If `first` it will only\n * appear on the first header row. These are respectively shortcut equivalents to\n * `[false, ..., false, true]` and `[true, false, ..., false]`.\n * If there are merged, multi-header columns then you can choose which column header\n * row to display the input in by supplying an array of booleans.\n * For example, `[true, false]` will display the `selectable` input on the first row,\n * but now on the second row.\n * If the `selectable` input appears on a merged columns, then clicking on that input\n * will select *all* of the merged columns associated with it.\n * The table-level prop `column_selectable` is used to determine the type of column\n * selection to use.\n *\n */\n selectable: PropTypes.oneOfType([\n PropTypes.oneOf(['first', 'last']),\n PropTypes.bool,\n PropTypes.arrayOf(PropTypes.bool)\n ]),\n /**\n * The formatting applied to the column's data.\n * This prop is derived from the [d3-format](https://github.com/d3/d3-format) library specification. Apart from\n * being structured slightly differently (under a single prop), the usage is the same.\n * See also dash_table.FormatTemplate. It contains helper functions for typical number formats.\n */\n format: PropTypes.exact({\n /**\n * Represents localization specific formatting information.\n * When left unspecified, will use the default value provided by d3-format.\n */\n locale: PropTypes.exact({\n /**\n * (default: ['$', '']). A list of two strings representing the\n * prefix and suffix symbols. Typically used for currency, and implemented using d3's\n * currency format, but you can use this for other symbols such as measurement units\n */\n symbol: PropTypes.arrayOf(PropTypes.string),\n /**\n * (default: '.'). The string used for the decimal separator\n */\n decimal: PropTypes.string,\n /**\n * (default: ','). The string used for the groups separator\n */\n group: PropTypes.string,\n /**\n * (default: [3]). A list of integers representing the grouping pattern. The default is\n * 3 for thousands.\n */\n grouping: PropTypes.arrayOf(PropTypes.number),\n /**\n * A list of ten strings used as replacements for numbers 0-9\n */\n numerals: PropTypes.arrayOf(PropTypes.string),\n /**\n * (default: '%'). The string used for the percentage symbol\n */\n percent: PropTypes.string,\n /**\n * (default: True). Separates integers with 4-digits or less\n */\n separate_4digits: PropTypes.bool\n }),\n /**\n * A value that will be used in place of the nully value during formatting.\n * If the value type matches the column type, it will be formatted normally.\n */\n nully: PropTypes.any,\n /**\n * A number representing the SI unit to use during formatting.\n * See `dash_table.Format.Prefix` enumeration for the list of valid values\n */\n prefix: PropTypes.number,\n /**\n * (default: ''). Represents the d3 rules to apply when formatting the number.\n */\n specifier: PropTypes.string\n }),\n /**\n * The `id` of the column.\n * The column `id` is used to match cells in data with particular columns.\n * The `id` is not visible in the table.\n */\n id: PropTypes.string.isRequired,\n /**\n * The `name` of the column, as it appears in the column header.\n * If `name` is a list of strings, then the columns\n * will render with multiple headers rows.\n */\n name: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]).isRequired,\n /**\n * The `presentation` to use to display data. Markdown can be used on\n * columns with type 'text'. See 'dropdown' for more info.\n * Defaults to 'input' for ['datetime', 'numeric', 'text', 'any'].\n */\n presentation: PropTypes.oneOf(['input', 'dropdown', 'markdown']),\n /**\n * The `on_change` behavior of the column for user-initiated modifications.\n */\n on_change: PropTypes.exact({\n /**\n * (default 'coerce'): 'none': do not validate data;\n * 'coerce': check if the data corresponds to the destination type and\n * attempts to coerce it into the destination type if not;\n * 'validate': check if the data corresponds to the destination type (no coercion).\n */\n action: PropTypes.oneOf(['coerce', 'none', 'validate']),\n /**\n * (default 'reject'): What to do with the value if the action fails.\n * 'accept': use the invalid value;\n * 'default': replace the provided value with `validation.default`;\n * 'reject': do not modify the existing value.\n */\n failure: PropTypes.oneOf(['accept', 'default', 'reject'])\n }),\n /**\n * An array of string, number and boolean values that are treated as `null`\n * (i.e. ignored and always displayed last) when sorting.\n * This value overrides the table-level `sort_as_null`.\n */\n sort_as_null: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool\n ])\n ),\n /**\n * The `validation` options for user input processing that can accept, reject or apply a\n * default value.\n */\n validation: PropTypes.exact({\n /**\n * Allow the use of nully values. (undefined, null, NaN) (default: False)\n */\n allow_null: PropTypes.bool,\n /**\n * The default value to apply with on_change.failure = 'default'. (default: None)\n */\n default: PropTypes.any,\n /**\n * This is for `datetime` columns only. Allow 2-digit years (default: False).\n * If True, we interpret years as ranging from now-70 to now+29 - in 2019\n * this is 1949 to 2048 but in 2020 it will be different. If used with\n * `action: 'coerce'`, will convert user input to a 4-digit year.\n */\n allow_YY: PropTypes.bool\n }),\n /**\n * The data-type provides support for per column typing and allows for data\n * validation and coercion.\n * 'numeric': represents both floats and ints.\n * 'text': represents a string.\n * 'datetime': a string representing a date or date-time, in the form:\n * 'YYYY-MM-DD HH:MM:SS.ssssss' or some truncation thereof. Years must\n * have 4 digits, unless you use `validation.allow_YY: true`. Also\n * accepts 'T' or 't' between date and time, and allows timezone info\n * at the end. To convert these strings to Python `datetime` objects,\n * use `dateutil.parser.isoparse`. In R use `parse_iso_8601` from the\n * `parsedate` library.\n * WARNING: these parsers do not work with 2-digit years, if you use\n * `validation.allow_YY: true` and do not coerce to 4-digit years.\n * And parsers that do work with 2-digit years may make a different\n * guess about the century than we make on the front end.\n * 'any': represents any type of data.\n * Defaults to 'any' if undefined.\n *\n *\n */\n type: PropTypes.oneOf(['any', 'numeric', 'text', 'datetime'])\n })\n ),\n /**\n * The row and column indices and IDs of the currently active cell.\n * `row_id` is only returned if the data rows have an `id` key.\n */\n active_cell: PropTypes.exact({\n row: PropTypes.number,\n column: PropTypes.number,\n row_id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n column_id: PropTypes.string\n }),\n /**\n * If true, headers are included when copying from the table to different\n * tabs and elsewhere. Note that headers are ignored when copying from the table onto itself and\n * between two tables within the same tab.\n */\n include_headers_on_copy_paste: PropTypes.bool,\n /**\n * The localization specific formatting information applied to all columns in the table.\n * This prop is derived from the [d3.formatLocale](https://github.com/d3/d3-format#formatLocale) data structure specification.\n * When left unspecified, each individual nested prop will default to a pre-determined value.\n */\n locale_format: PropTypes.exact({\n /**\n * (default: ['$', '']). A list of two strings representing the\n * prefix and suffix symbols. Typically used for currency, and implemented using d3's\n * currency format, but you can use this for other symbols such as measurement units.\n */\n symbol: PropTypes.arrayOf(PropTypes.string),\n /**\n * (default: '.'). The string used for the decimal separator.\n */\n decimal: PropTypes.string,\n /**\n * (default: ','). The string used for the groups separator.\n */\n group: PropTypes.string,\n /**\n * (default: [3]). A list of integers representing the grouping pattern.\n */\n grouping: PropTypes.arrayOf(PropTypes.number),\n /**\n * A list of ten strings used as replacements for numbers 0-9.\n */\n numerals: PropTypes.arrayOf(PropTypes.string),\n /**\n * (default: '%'). The string used for the percentage symbol.\n */\n percent: PropTypes.string,\n /**\n * (default: True). Separate integers with 4-digits or less.\n */\n separate_4digits: PropTypes.bool\n }),\n /**\n * The `markdown_options` property allows customization of the markdown cells behavior.\n */\n markdown_options: PropTypes.exact({\n /**\n * (default: '_blank'). The link's behavior (_blank opens the link in a\n * new tab, _parent opens the link in the parent frame, _self opens the link in the\n * current tab, and _top opens the link in the top frame) or a string\n */\n link_target: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf(['_blank', '_parent', '_self', '_top'])\n ]),\n /**\n * (default: False) If True, html may be used in markdown cells\n * Be careful enabling html if the content being rendered can come\n * from an untrusted user, as this may create an XSS vulnerability.\n */\n html: PropTypes.bool\n }),\n /**\n * The `css` property is a way to embed CSS selectors and rules\n * onto the page.\n * We recommend starting with the `style_*` properties\n * before using this `css` property.\n * Example:\n * [\n * {\"selector\": \".dash-spreadsheet\", \"rule\": 'font-family: \"monospace\"'}\n * ]\n */\n css: PropTypes.arrayOf(\n PropTypes.exact({\n selector: PropTypes.string.isRequired,\n rule: PropTypes.string.isRequired\n })\n ),\n /**\n * The previous state of `data`. `data_previous`\n * has the same structure as `data` and it will be updated\n * whenever `data` changes, either through a callback or\n * by editing the table.\n * This is a read-only property: setting this property will not\n * have any impact on the table.\n */\n data_previous: PropTypes.arrayOf(PropTypes.object),\n /**\n * The unix timestamp when the data was last edited.\n * Use this property with other timestamp properties\n * (such as `n_clicks_timestamp` in `dash_html_components`)\n * to determine which property has changed within a callback.\n */\n data_timestamp: PropTypes.number,\n /**\n * If True, then the data in all of the cells is editable.\n * When `editable` is True, particular columns can be made\n * uneditable by setting `editable` to `False` inside the `columns`\n * property.\n * If False, then the data in all of the cells is uneditable.\n * When `editable` is False, particular columns can be made\n * editable by setting `editable` to `True` inside the `columns`\n * property.\n */\n editable: PropTypes.bool,\n /**\n * When selecting multiple cells\n * (via clicking on a cell and then shift-clicking on another cell),\n * `end_cell` represents the row / column coordinates and IDs of the cell\n * in one of the corners of the region.\n * `start_cell` represents the coordinates of the other corner.\n */\n end_cell: PropTypes.exact({\n row: PropTypes.number,\n column: PropTypes.number,\n row_id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n column_id: PropTypes.string\n }),\n /**\n * Denotes the columns that will be used in the export data file.\n * If `all`, all columns will be used (visible + hidden). If `visible`,\n * only the visible columns will be used. Defaults to `visible`.\n */\n export_columns: PropTypes.oneOf(['all', 'visible']),\n /**\n * Denotes the type of the export data file,\n * Defaults to `'none'`\n */\n export_format: PropTypes.oneOf(['csv', 'xlsx', 'none']),\n /**\n * Denotes the format of the headers in the export data file.\n * If `'none'`, there will be no header. If `'display'`, then the header\n * of the data file will be be how it is currently displayed. Note that\n * `'display'` is only supported for `'xlsx'` export_format and will behave\n * like `'names'` for `'csv'` export format. If `'ids'` or `'names'`,\n * then the headers of data file will be the column id or the column\n * names, respectively\n */\n export_headers: PropTypes.oneOf(['none', 'ids', 'names', 'display']),\n /**\n * `fill_width` toggles between a set of CSS for two common behaviors:\n * True: The table container's width will grow to fill the available space;\n * False: The table container's width will equal the width of its content.\n */\n fill_width: PropTypes.bool,\n /**\n * List of columns ids of the columns that are currently hidden.\n * See the associated nested prop `columns.hideable`.\n */\n hidden_columns: PropTypes.arrayOf(PropTypes.string),\n /**\n * The ID of the table.\n */\n id: PropTypes.string,\n /**\n * If True, then the `active_cell` is in a focused state.\n */\n is_focused: PropTypes.bool,\n /**\n * If True, then column headers that have neighbors with duplicate names\n * will be merged into a single cell.\n * This will be applied for single column headers and multi-column\n * headers.\n */\n merge_duplicate_headers: PropTypes.bool,\n /**\n * `fixed_columns` will \"fix\" the set of columns so that\n * they remain visible when scrolling horizontally across\n * the unfixed columns. `fixed_columns` fixes columns\n * from left-to-right.\n * If `headers` is False, no columns are fixed.\n * If `headers` is True, all operation columns (see `row_deletable` and `row_selectable`)\n * are fixed. Additional data columns can be fixed by\n * assigning a number to `data`.\n *\n * Note that fixing columns introduces some changes to the\n * underlying markup of the table and may impact the\n * way that your columns are rendered or sized.\n * View the documentation examples to learn more.\n *\n */\n fixed_columns: PropTypes.oneOfType([\n PropTypes.exact({\n /**\n * Example `{'headers':False, 'data':0}` No columns are fixed (the default)\n */\n data: PropTypes.oneOf([0]),\n headers: PropTypes.oneOf([false])\n }),\n PropTypes.exact({\n /**\n * Example `{'headers':True, 'data':1}` one column is fixed.\n */\n data: PropTypes.number,\n headers: PropTypes.oneOf([true]).isRequired\n })\n ]),\n /**\n * `fixed_rows` will \"fix\" the set of rows so that\n * they remain visible when scrolling vertically down\n * the table. `fixed_rows` fixes rows\n * from top-to-bottom, starting from the headers.\n * If `headers` is False, no rows are fixed.\n * If `headers` is True, all header and filter rows (see `filter_action`) are\n * fixed. Additional data rows can be fixed by assigning\n * a number to `data`. Note that fixing rows introduces some changes to the\n * underlying markup of the table and may impact the\n * way that your columns are rendered or sized.\n * View the documentation examples to learn more.\n */\n fixed_rows: PropTypes.oneOfType([\n PropTypes.exact({\n /**\n * Example `{'headers':False, 'data':0}` No rows are fixed (the default)\n */\n data: PropTypes.oneOf([0]),\n headers: PropTypes.oneOf([false])\n }),\n PropTypes.exact({\n /**\n * Example `{'headers':True, 'data':1}` one row is fixed.\n */\n data: PropTypes.number,\n headers: PropTypes.oneOf([true]).isRequired\n })\n ]),\n /**\n * If `single`, then the user can select a single column or group\n * of merged columns via the radio button that will appear in the\n * header rows.\n * If `multi`, then the user can select multiple columns or groups\n * of merged columns via the checkbox that will appear in the header\n * rows.\n * If false, then the user will not be able to select columns and no\n * input will appear in the header rows.\n * When a column is selected, its id will be contained in `selected_columns`\n * and `derived_viewport_selected_columns`.\n */\n column_selectable: PropTypes.oneOf(['single', 'multi', false]),\n /**\n * If True, then a `x` will appear next to each `row`\n * and the user can delete the row.\n */\n row_deletable: PropTypes.bool,\n /**\n * If True (default), then it is possible to click and navigate\n * table cells.\n */\n cell_selectable: PropTypes.bool,\n /**\n * If `single`, then the user can select a single row\n * via a radio button that will appear next to each row.\n * If `multi`, then the user can select multiple rows\n * via a checkbox that will appear next to each row.\n * If false, then the user will not be able to select rows\n * and no additional UI elements will appear.\n * When a row is selected, its index will be contained\n * in `selected_rows`.\n */\n row_selectable: PropTypes.oneOf(['single', 'multi', false]),\n /**\n * `selected_cells` represents the set of cells that are selected,\n * as an array of objects, each item similar to `active_cell`.\n * Multiple cells can be selected by holding down shift and\n * clicking on a different cell or holding down shift and navigating\n * with the arrow keys.\n */\n selected_cells: PropTypes.arrayOf(\n PropTypes.exact({\n row: PropTypes.number,\n column: PropTypes.number,\n row_id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n column_id: PropTypes.string\n })\n ),\n /**\n * `selected_rows` contains the indices of rows that\n * are selected via the UI elements that appear when\n * `row_selectable` is `'single'` or `'multi'`.\n */\n selected_rows: PropTypes.arrayOf(PropTypes.number),\n /**\n * `selected_columns` contains the ids of columns that\n * are selected via the UI elements that appear when\n * `column_selectable` is `'single' or 'multi'`.\n */\n selected_columns: PropTypes.arrayOf(PropTypes.string),\n /**\n * `selected_row_ids` contains the ids of rows that\n * are selected via the UI elements that appear when\n * `row_selectable` is `'single'` or `'multi'`.\n */\n selected_row_ids: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n /**\n * Dash-assigned callback that gets fired when the user makes changes.\n */\n setProps: PropTypes.func,\n /**\n * When selecting multiple cells\n * (via clicking on a cell and then shift-clicking on another cell),\n * `start_cell` represents the [row, column] coordinates of the cell\n * in one of the corners of the region.\n * `end_cell` represents the coordinates of the other corner.\n */\n start_cell: PropTypes.exact({\n row: PropTypes.number,\n column: PropTypes.number,\n row_id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n column_id: PropTypes.string\n }),\n /**\n * If True, then the table will be styled like a list view\n * and not have borders between the columns.\n */\n style_as_list_view: PropTypes.bool,\n /**\n * `page_action` refers to a mode of the table where\n * not all of the rows are displayed at once: only a subset\n * are displayed (a \"page\") and the next subset of rows\n * can viewed by clicking \"Next\" or \"Previous\" buttons\n * at the bottom of the page.\n * Pagination is used to improve performance: instead of\n * rendering all of the rows at once (which can be expensive),\n * we only display a subset of them.\n * With pagination, we can either page through data that exists\n * in the table (e.g. page through `10,000` rows in `data` `100` rows at a time)\n * or we can update the data on-the-fly with callbacks\n * when the user clicks on the \"Previous\" or \"Next\" buttons.\n * These modes can be toggled with this `page_action` parameter:\n * `'native'`: all data is passed to the table up-front, paging logic is\n * handled by the table;\n * `'custom'`: data is passed to the table one page at a time, paging logic\n * is handled via callbacks;\n * `'none'`: disables paging, render all of the data at once.\n */\n page_action: PropTypes.oneOf(['custom', 'native', 'none']),\n /**\n * `page_current` represents which page the user is on.\n * Use this property to index through data in your callbacks with\n * backend paging.\n */\n page_current: PropTypes.number,\n /**\n * `page_count` represents the number of the pages in the\n * paginated table. This is really only useful when performing\n * backend pagination, since the front end is able to use the\n * full size of the table to calculate the number of pages.\n */\n page_count: PropTypes.number,\n /**\n * `page_size` represents the number of rows that will be\n * displayed on a particular page when `page_action` is `'custom'` or `'native'`\n */\n page_size: PropTypes.number,\n /**\n * `dropdown` specifies dropdown options for different columns.\n * Each entry refers to the column ID.\n * The `clearable` property defines whether the value can be deleted.\n * The `options` property refers to the `options` of the dropdown.\n */\n dropdown: PropTypes.objectOf(\n PropTypes.exact({\n clearable: PropTypes.bool,\n options: PropTypes.arrayOf(\n PropTypes.exact({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool\n ]).isRequired\n })\n ).isRequired\n })\n ),\n /**\n * `dropdown_conditional` specifies dropdown options in various columns and cells.\n * This property allows you to specify different dropdowns\n * depending on certain conditions. For example, you may\n * render different \"city\" dropdowns in a row depending on the\n * current value in the \"state\" column.\n */\n dropdown_conditional: PropTypes.arrayOf(\n PropTypes.exact({\n clearable: PropTypes.bool,\n if: PropTypes.exact({\n column_id: PropTypes.string,\n filter_query: PropTypes.string\n }),\n options: PropTypes.arrayOf(\n PropTypes.exact({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool\n ]).isRequired\n })\n ).isRequired\n })\n ),\n /**\n * `dropdown_data` specifies dropdown options on a row-by-row, column-by-column basis.\n * Each item in the array corresponds to the corresponding dropdowns for the `data` item\n * at the same index. Each entry in the item refers to the Column ID.\n */\n dropdown_data: PropTypes.arrayOf(\n PropTypes.objectOf(\n PropTypes.exact({\n clearable: PropTypes.bool,\n options: PropTypes.arrayOf(\n PropTypes.exact({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool\n ]).isRequired\n })\n ).isRequired\n })\n )\n ),\n /**\n * `tooltip` is the column based tooltip configuration applied to all rows. The key is the column\n * id and the value is a tooltip configuration.\n * Example: {i: {'value': i, 'use_with: 'both'} for i in df.columns}\n */\n tooltip: PropTypes.objectOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.exact({\n /**\n * Represents the delay in milliseconds before\n * the tooltip is shown when hovering a cell. This overrides\n * the table's `tooltip_delay` property. If set to `None`,\n * the tooltip will be shown immediately.\n */\n delay: PropTypes.number,\n /**\n * represents the duration in milliseconds\n * during which the tooltip is shown when hovering a cell.\n * This overrides the table's `tooltip_duration` property.\n * If set to `None`, the tooltip will not disappear.\n */\n duration: PropTypes.number,\n /**\n * refers to the type of tooltip syntax used\n * for the tooltip generation. Can either be `markdown`\n * or `text`. Defaults to `text`.\n */\n type: PropTypes.oneOf(['text', 'markdown']),\n /**\n * Refers to whether the tooltip will be shown\n * only on data or headers. Can be `both`, `data`, `header`.\n * Defaults to `both`.\n */\n use_with: PropTypes.oneOf(['both', 'data', 'header']),\n /**\n * refers to the syntax-based content of\n * the tooltip. This value is required. Alternatively, the value of the\n * property can also be a plain string. The `text` syntax will be used in\n * that case.\n */\n value: PropTypes.string.isRequired\n })\n ])\n ),\n /**\n * `tooltip_conditional` represents the tooltip shown\n * for different columns and cells.\n * This property allows you to specify different tooltips\n * depending on certain conditions. For example, you may have\n * different tooltips in the same column based on the value\n * of a certain data property.\n * Priority is from first to last defined conditional tooltip\n * in the list. Higher priority (more specific) conditional\n * tooltips should be put at the beginning of the list.\n */\n tooltip_conditional: PropTypes.arrayOf(\n PropTypes.exact({\n /**\n * The `delay` represents the delay in milliseconds before\n * the tooltip is shown when hovering a cell. This overrides\n * the table's `tooltip_delay` property. If set to `None`,\n * the tooltip will be shown immediately.\n */\n delay: PropTypes.number,\n /**\n * The `duration` represents the duration in milliseconds\n * during which the tooltip is shown when hovering a cell.\n * This overrides the table's `tooltip_duration` property.\n * If set to `None`, the tooltip will not disappear.\n */\n duration: PropTypes.number,\n /**\n * The `if` refers to the condition that needs to be fulfilled\n * in order for the associated tooltip configuration to be\n * used. If multiple conditions are defined, all conditions\n * must be met for the tooltip to be used by a cell.\n */\n if: PropTypes.exact({\n /**\n * `column_id` refers to the column ID that must be matched.\n */\n column_id: PropTypes.string,\n /**\n * `filter_query` refers to the query that must evaluate to True.\n */\n filter_query: PropTypes.string,\n /**\n * `row_index` refers to the index of the row in the source `data`.\n */\n row_index: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOf(['odd', 'even'])\n ])\n }).isRequired,\n /**\n * The `type` refers to the type of tooltip syntax used\n * for the tooltip generation. Can either be `markdown`\n * or `text`. Defaults to `text`.\n */\n type: PropTypes.oneOf(['text', 'markdown']),\n /**\n * The `value` refers to the syntax-based content of the tooltip. This value is required.\n */\n value: PropTypes.string.isRequired\n })\n ),\n /**\n * `tooltip_data` represents the tooltip shown\n * for different columns and cells.\n * A list of dicts for which each key is\n * a column id and the value is a tooltip configuration.\n */\n tooltip_data: PropTypes.arrayOf(\n PropTypes.objectOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.exact({\n /**\n * The `delay` represents the delay in milliseconds before\n * the tooltip is shown when hovering a cell. This overrides\n * the table's `tooltip_delay` property. If set to `None`,\n * the tooltip will be shown immediately.\n */\n delay: PropTypes.number,\n /**\n * The `duration` represents the duration in milliseconds\n * during which the tooltip is shown when hovering a cell.\n * This overrides the table's `tooltip_duration` property.\n * If set to `None`, the tooltip will not disappear.\n * Alternatively, the value of the property can also be\n * a plain string. The `text` syntax will be used in\n * that case.\n */\n duration: PropTypes.number,\n /**\n * For each tooltip configuration,\n * The `type` refers to the type of tooltip syntax used\n * for the tooltip generation. Can either be `markdown`\n * or `text`. Defaults to `text`.\n */\n type: PropTypes.oneOf(['text', 'markdown']),\n /**\n * The `value` refers to the syntax-based content of the tooltip. This value is required.\n */\n value: PropTypes.string.isRequired\n })\n ])\n )\n ),\n /**\n * `tooltip_header` represents the tooltip shown\n * for each header column and optionally each header row.\n * Example to show long column names in a tooltip: {i: i for i in df.columns}.\n * Example to show different column names in a tooltip: {'Rep': 'Republican', 'Dem': 'Democrat'}.\n * If the table has multiple rows of headers, then use a list as the value of the\n * `tooltip_header` items.\n *\n *\n */\n tooltip_header: PropTypes.objectOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.exact({\n /**\n * The `delay` represents the delay in milliseconds before\n * the tooltip is shown when hovering a cell. This overrides\n * the table's `tooltip_delay` property. If set to `None`,\n * the tooltip will be shown immediately.\n */\n delay: PropTypes.number,\n /**\n * The `duration` represents the duration in milliseconds\n * during which the tooltip is shown when hovering a cell.\n * This overrides the table's `tooltip_duration` property.\n * If set to `None`, the tooltip will not disappear.\n * Alternatively, the value of the property can also be\n * a plain string. The `text` syntax will be used in\n * that case.\n */\n duration: PropTypes.number,\n /**\n * For each tooltip configuration,\n * The `type` refers to the type of tooltip syntax used\n * for the tooltip generation. Can either be `markdown`\n * or `text`. Defaults to `text`.\n */\n type: PropTypes.oneOf(['text', 'markdown']),\n /**\n * The `value` refers to the syntax-based content of the tooltip. This value is required.\n */\n value: PropTypes.string.isRequired\n }),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOf([null]),\n PropTypes.string,\n PropTypes.exact({\n delay: PropTypes.number,\n duration: PropTypes.number,\n type: PropTypes.oneOf(['text', 'markdown']),\n value: PropTypes.string.isRequired\n })\n ])\n )\n ])\n ),\n /**\n * `tooltip_delay` represents the table-wide delay in milliseconds before\n * the tooltip is shown when hovering a cell. If set to `None`, the tooltip\n * will be shown immediately.\n * Defaults to 350.\n */\n tooltip_delay: PropTypes.number,\n /**\n * `tooltip_duration` represents the table-wide duration in milliseconds\n * during which the tooltip will be displayed when hovering a cell. If\n * set to `None`, the tooltip will not disappear.\n * Defaults to 2000.\n */\n tooltip_duration: PropTypes.number,\n /**\n * If `filter_action` is enabled, then the current filtering\n * string is represented in this `filter_query`\n * property.\n */\n filter_query: PropTypes.string,\n /**\n * The `filter_action` property controls the behavior of the `filtering` UI.\n * If `'none'`, then the filtering UI is not displayed.\n * If `'native'`, then the filtering UI is displayed and the filtering\n * logic is handled by the table. That is, it is performed on the data\n * that exists in the `data` property.\n * If `'custom'`, then the filtering UI is displayed but it is the\n * responsibility of the developer to program the filtering\n * through a callback (where `filter_query` or `derived_filter_query_structure` would be the input\n * and `data` would be the output).\n */\n filter_action: PropTypes.oneOfType([\n PropTypes.oneOf(['custom', 'native', 'none']),\n PropTypes.shape({\n type: PropTypes.oneOf(['custom', 'native']).isRequired,\n operator: PropTypes.oneOf(['and', 'or'])\n })\n ]),\n /**\n * There are two `filter_options` props in the table.\n * This is the table-level filter_options prop and there is\n * also the column-level `filter_options` prop.\n * These props determine whether the applicable filter relational\n * operators will default to `sensitive` or `insensitive` comparison.\n * If the column-level `filter_options` prop is set it overrides\n * the table-level `filter_options` prop for that column.\n */\n filter_options: PropTypes.shape({\n case: PropTypes.oneOf(['sensitive', 'insensitive'])\n }),\n /**\n * The `sort_action` property enables data to be\n * sorted on a per-column basis.\n * If `'none'`, then the sorting UI is not displayed.\n * If `'native'`, then the sorting UI is displayed and the sorting\n * logic is handled by the table. That is, it is performed on the data\n * that exists in the `data` property.\n * If `'custom'`, the the sorting UI is displayed but it is the\n * responsibility of the developer to program the sorting\n * through a callback (where `sort_by` would be the input and `data`\n * would be the output).\n * Clicking on the sort arrows will update the\n * `sort_by` property.\n */\n sort_action: PropTypes.oneOf(['custom', 'native', 'none']),\n /**\n * Sorting can be performed across multiple columns\n * (e.g. sort by country, sort within each country,\n * sort by year) or by a single column.\n * NOTE - With multi-column sort, it's currently\n * not possible to determine the order in which\n * the columns were sorted through the UI.\n * See [https://github.com/plotly/dash-table/issues/170](https://github.com/plotly/dash-table/issues/170)\n */\n sort_mode: PropTypes.oneOf(['single', 'multi']),\n /**\n * `sort_by` describes the current state\n * of the sorting UI.\n * That is, if the user clicked on the sort arrow\n * of a column, then this property will be updated\n * with the column ID and the direction\n * (`asc` or `desc`) of the sort.\n * For multi-column sorting, this will be a list of\n * sorting parameters, in the order in which they were\n * clicked.\n */\n sort_by: PropTypes.arrayOf(\n PropTypes.exact({\n column_id: PropTypes.string.isRequired,\n direction: PropTypes.oneOf(['asc', 'desc']).isRequired\n })\n ),\n /**\n * An array of string, number and boolean values that are treated as `None`\n * (i.e. ignored and always displayed last) when sorting.\n * This value will be used by columns without `sort_as_null`.\n * Defaults to `[]`.\n */\n sort_as_null: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool\n ])\n ),\n /**\n * CSS styles to be applied to the outer `table` container.\n * This is commonly used for setting properties like the\n * width or the height of the table.\n */\n style_table: PropTypes.object,\n /**\n * CSS styles to be applied to each individual cell of the table.\n * This includes the header cells, the `data` cells, and the filter\n * cells.\n */\n style_cell: PropTypes.object,\n /**\n * CSS styles to be applied to each individual data cell.\n * That is, unlike `style_cell`, it excludes the header and filter cells.\n */\n style_data: PropTypes.object,\n /**\n * CSS styles to be applied to the filter cells.\n * Note that this may change in the future as we build out a\n * more complex filtering UI.\n */\n style_filter: PropTypes.object,\n /**\n * CSS styles to be applied to each individual header cell.\n * That is, unlike `style_cell`, it excludes the `data` and filter cells.\n */\n style_header: PropTypes.object,\n /**\n * Conditional CSS styles for the cells.\n * This can be used to apply styles to cells on a per-column basis.\n */\n style_cell_conditional: PropTypes.arrayOf(\n PropTypes.shape({\n if: PropTypes.exact({\n column_id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n column_type: PropTypes.oneOf([\n 'any',\n 'numeric',\n 'text',\n 'datetime'\n ])\n })\n })\n ),\n /**\n * Conditional CSS styles for the data cells.\n * This can be used to apply styles to data cells on a per-column basis.\n */\n style_data_conditional: PropTypes.arrayOf(\n PropTypes.shape({\n if: PropTypes.exact({\n column_id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n column_type: PropTypes.oneOf([\n 'any',\n 'numeric',\n 'text',\n 'datetime'\n ]),\n filter_query: PropTypes.string,\n state: PropTypes.oneOf(['active', 'selected']),\n row_index: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOf(['odd', 'even']),\n PropTypes.arrayOf(PropTypes.number)\n ]),\n column_editable: PropTypes.bool\n })\n })\n ),\n /**\n * Conditional CSS styles for the filter cells.\n * This can be used to apply styles to filter cells on a per-column basis.\n */\n style_filter_conditional: PropTypes.arrayOf(\n PropTypes.shape({\n if: PropTypes.exact({\n column_id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n column_type: PropTypes.oneOf([\n 'any',\n 'numeric',\n 'text',\n 'datetime'\n ]),\n column_editable: PropTypes.bool\n })\n })\n ),\n /**\n * Conditional CSS styles for the header cells.\n * This can be used to apply styles to header cells on a per-column basis.\n */\n style_header_conditional: PropTypes.arrayOf(\n PropTypes.shape({\n if: PropTypes.exact({\n column_id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n column_type: PropTypes.oneOf([\n 'any',\n 'numeric',\n 'text',\n 'datetime'\n ]),\n header_index: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.number),\n PropTypes.oneOf(['odd', 'even'])\n ]),\n column_editable: PropTypes.bool\n })\n })\n ),\n /**\n * This property tells the table to use virtualization when rendering.\n * Assumptions are that:\n * the width of the columns is fixed;\n * the height of the rows is always the same; and\n * runtime styling changes will not affect width and height vs. first rendering\n */\n virtualization: PropTypes.bool,\n /**\n * This property represents the current structure of\n * `filter_query` as a tree structure. Each node of the\n * query structure has:\n * type (string; required):\n * 'open-block',\n * 'logical-operator',\n * 'relational-operator',\n * 'unary-operator', or\n * 'expression';\n * subType (string; optional):\n * 'open-block': '()',\n * 'logical-operator': '&&', '||',\n * 'relational-operator': '=', '>=', '>', '<=', '<', '!=', 'contains',\n * 'unary-operator': '!', 'is bool', 'is even', 'is nil', 'is num', 'is object', 'is odd', 'is prime', 'is str',\n * 'expression': 'value', 'field';\n * value (any):\n * 'expression, value': passed value,\n * 'expression, field': the field/prop name.\n * block (nested query structure; optional).\n * left (nested query structure; optional).\n * right (nested query structure; optional).\n * If the query is invalid or empty, the `derived_filter_query_structure` will\n * be `None`.\n */\n derived_filter_query_structure: PropTypes.object,\n /**\n * This property represents the current state of `data`\n * on the current page. This property will be updated\n * on paging, sorting, and filtering.\n */\n derived_viewport_data: PropTypes.arrayOf(PropTypes.object),\n /**\n * `derived_viewport_indices` indicates the order in which the original\n * rows appear after being filtered, sorted, and/or paged.\n * `derived_viewport_indices` contains indices for the current page,\n * while `derived_virtual_indices` contains indices across all pages.\n */\n derived_viewport_indices: PropTypes.arrayOf(PropTypes.number),\n /**\n * `derived_viewport_row_ids` lists row IDs in the order they appear\n * after being filtered, sorted, and/or paged.\n * `derived_viewport_row_ids` contains IDs for the current page,\n * while `derived_virtual_row_ids` contains IDs across all pages.\n */\n derived_viewport_row_ids: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n /**\n * `derived_viewport_selected_columns` contains the ids of the\n * `selected_columns` that are not currently hidden.\n */\n derived_viewport_selected_columns: PropTypes.arrayOf(PropTypes.string),\n /**\n * `derived_viewport_selected_rows` represents the indices of the\n * `selected_rows` from the perspective of the `derived_viewport_indices`.\n */\n derived_viewport_selected_rows: PropTypes.arrayOf(PropTypes.number),\n /**\n * `derived_viewport_selected_row_ids` represents the IDs of the\n * `selected_rows` on the currently visible page.\n */\n derived_viewport_selected_row_ids: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n /**\n * This property represents the visible state of `data`\n * across all pages after the front-end sorting and filtering\n * as been applied.\n */\n derived_virtual_data: PropTypes.arrayOf(PropTypes.object),\n /**\n * `derived_virtual_indices` indicates the order in which the original\n * rows appear after being filtered and sorted.\n * `derived_viewport_indices` contains indices for the current page,\n * while `derived_virtual_indices` contains indices across all pages.\n */\n derived_virtual_indices: PropTypes.arrayOf(PropTypes.number),\n /**\n * `derived_virtual_row_ids` indicates the row IDs in the order in which\n * they appear after being filtered and sorted.\n * `derived_viewport_row_ids` contains IDs for the current page,\n * while `derived_virtual_row_ids` contains IDs across all pages.\n */\n derived_virtual_row_ids: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n /**\n * `derived_virtual_selected_rows` represents the indices of the\n * `selected_rows` from the perspective of the `derived_virtual_indices`.\n */\n derived_virtual_selected_rows: PropTypes.arrayOf(PropTypes.number),\n /**\n * `derived_virtual_selected_row_ids` represents the IDs of the\n * `selected_rows` as they appear after filtering and sorting,\n * across all pages.\n */\n derived_virtual_selected_row_ids: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string\n }),\n /**\n * Used to allow user interactions in this component to be persisted when\n * the component - or the page - is refreshed. If `persisted` is truthy and\n * hasn't changed from its previous value, any `persisted_props` that the\n * user has changed while using the app will keep those changes, as long as\n * the new prop value also matches what was given originally.\n * Used in conjunction with `persistence_type` and `persisted_props`.\n */\n persistence: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.number\n ]),\n /**\n * Properties whose user interactions will persist after refreshing the\n * component or the page.\n */\n persisted_props: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'columns.name',\n 'data',\n 'filter_query',\n 'hidden_columns',\n 'selected_columns',\n 'selected_rows',\n 'sort_by'\n ])\n ),\n /**\n * Where persisted user changes will be stored:\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n persistence_type: PropTypes.oneOf(['local', 'session', 'memory'])\n};\nDataTable.persistenceTransforms = {\n columns: {\n name: {\n extract: propValue => R.pluck('name', propValue),\n apply: (storedValue, propValue) =>\n R.zipWith(R.assoc('name'), storedValue, propValue)\n }\n }\n};\nDataTable.defaultProps = defaultProps;\nDataTable.propTypes = propTypes;\n","/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\n;(function(root, factory) {\n\t// https://github.com/umdjs/umd/blob/master/returnExports.js\n\tif (typeof exports == 'object') {\n\t\t// For Node.js.\n\t\tmodule.exports = factory(root);\n\t} else if (typeof define == 'function' && define.amd) {\n\t\t// For AMD. Register as an anonymous module.\n\t\tdefine([], factory.bind(root, root));\n\t} else {\n\t\t// For browser globals (not exposing the function separately).\n\t\tfactory(root);\n\t}\n}(typeof global != 'undefined' ? global : this, function(root) {\n\n\tif (root.CSS && root.CSS.escape) {\n\t\treturn root.CSS.escape;\n\t}\n\n\t// https://drafts.csswg.org/cssom/#serialize-an-identifier\n\tvar cssEscape = function(value) {\n\t\tif (arguments.length == 0) {\n\t\t\tthrow new TypeError('`CSS.escape` requires an argument.');\n\t\t}\n\t\tvar string = String(value);\n\t\tvar length = string.length;\n\t\tvar index = -1;\n\t\tvar codeUnit;\n\t\tvar result = '';\n\t\tvar firstCodeUnit = string.charCodeAt(0);\n\t\twhile (++index < length) {\n\t\t\tcodeUnit = string.charCodeAt(index);\n\t\t\t// Note: there’s no need to special-case astral symbols, surrogate\n\t\t\t// pairs, or lone surrogates.\n\n\t\t\t// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\n\t\t\t// (U+FFFD).\n\t\t\tif (codeUnit == 0x0000) {\n\t\t\t\tresult += '\\uFFFD';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\n\t\t\t\t// U+007F, […]\n\t\t\t\t(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\n\t\t\t\t// If the character is the first character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039), […]\n\t\t\t\t(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\n\t\t\t\t// If the character is the second character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\n\t\t\t\t(\n\t\t\t\t\tindex == 1 &&\n\t\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\n\t\t\t\t\tfirstCodeUnit == 0x002D\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n\t\t\t\tresult += '\\\\' + codeUnit.toString(16) + ' ';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is the first character and is a `-` (U+002D), and\n\t\t\t\t// there is no second character, […]\n\t\t\t\tindex == 0 &&\n\t\t\t\tlength == 1 &&\n\t\t\t\tcodeUnit == 0x002D\n\t\t\t) {\n\t\t\t\tresult += '\\\\' + string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If the character is not handled by one of the above rules and is\n\t\t\t// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\n\t\t\t// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\n\t\t\t// U+005A), or [a-z] (U+0061 to U+007A), […]\n\t\t\tif (\n\t\t\t\tcodeUnit >= 0x0080 ||\n\t\t\t\tcodeUnit == 0x002D ||\n\t\t\t\tcodeUnit == 0x005F ||\n\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\n\t\t\t\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\n\t\t\t\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\n\t\t\t) {\n\t\t\t\t// the character itself\n\t\t\t\tresult += string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Otherwise, the escaped character.\n\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character\n\t\t\tresult += '\\\\' + string.charAt(index);\n\n\t\t}\n\t\treturn result;\n\t};\n\n\tif (!root.CSS) {\n\t\troot.CSS = {};\n\t}\n\n\troot.CSS.escape = cssEscape;\n\treturn cssEscape;\n\n}));\n","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc, R.pick\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\n\nvar assoc =\n/*#__PURE__*/\n_curry3(function assoc(prop, val, obj) {\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n result[prop] = val;\n return result;\n});\n\nexport default assoc;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _curryN from \"./internal/_curryN.js\";\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});\n\nexport default curryN;","export default function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}","import _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _curry2 from \"./_curry2.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n}","import _arity from \"./_arity.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n\n combinedIdx += 1;\n }\n\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n}","export default function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","import _isArray from \"./_isArray.js\";\nimport _isTransformer from \"./_isTransformer.js\";\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\nexport default function _dispatchable(methodNames, xf, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n\n var args = Array.prototype.slice.call(arguments, 0);\n var obj = args.pop();\n\n if (!_isArray(obj)) {\n var idx = 0;\n\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, args);\n }\n\n idx += 1;\n }\n\n if (_isTransformer(obj)) {\n var transducer = xf.apply(null, args);\n return transducer(obj);\n }\n }\n\n return fn.apply(this, arguments);\n };\n}","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","import _curry1 from \"./_curry1.js\";\nimport _isArray from \"./_isArray.js\";\nimport _isString from \"./_isString.js\";\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\n\nvar _isArrayLike =\n/*#__PURE__*/\n_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n\n if (!x) {\n return false;\n }\n\n if (typeof x !== 'object') {\n return false;\n }\n\n if (_isString(x)) {\n return false;\n }\n\n if (x.nodeType === 1) {\n return !!x.length;\n }\n\n if (x.length === 0) {\n return true;\n }\n\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n\n return false;\n});\n\nexport default _isArrayLike;","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nexport default Number.isInteger || function _isInteger(n) {\n return n << 0 === n;\n};","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","export default function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n\n return result;\n}","var XWrap =\n/*#__PURE__*/\nfunction () {\n function XWrap(fn) {\n this.f = fn;\n }\n\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nexport default function _xwrap(fn) {\n return new XWrap(fn);\n}","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\nvar bind =\n/*#__PURE__*/\n_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\n\nexport default bind;","import _isArrayLike from \"./_isArrayLike.js\";\nimport _xwrap from \"./_xwrap.js\";\nimport bind from \"../bind.js\";\n\nfunction _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n idx += 1;\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n step = iter.next();\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\nexport default function _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n\n if (_isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n }\n\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n}","export default {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nexport default keys;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XMap =\n/*#__PURE__*/\nfunction () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap =\n/*#__PURE__*/\n_curry2(function _xmap(f, xf) {\n return new XMap(f, xf);\n});\n\nexport default _xmap;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _map from \"./internal/_map.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xmap from \"./internal/_xmap.js\";\nimport curryN from \"./curryN.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\n\nvar map =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n\n case '[object Object]':\n return _reduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n\n default:\n return _map(fn, functor);\n }\n}));\n\nexport default map;","import _curry2 from \"./internal/_curry2.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * const list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\n\nvar nth =\n/*#__PURE__*/\n_curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});\n\nexport default nth;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\n/**\n * Accepts a function `fn` and returns a function that guards invocation of\n * `fn` such that `fn` can only ever be called once, no matter how many times\n * the returned function is invoked. The first value calculated is returned in\n * subsequent invocations.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a... -> b) -> (a... -> b)\n * @param {Function} fn The function to wrap in a call-only-once wrapper.\n * @return {Function} The wrapped function.\n * @example\n *\n * const addOneOnce = R.once(x => x + 1);\n * addOneOnce(10); //=> 11\n * addOneOnce(addOneOnce(50)); //=> 11\n */\n\nvar once =\n/*#__PURE__*/\n_curry1(function once(fn) {\n var called = false;\n var result;\n return _arity(fn.length, function () {\n if (called) {\n return result;\n }\n\n called = true;\n result = fn.apply(this, arguments);\n return result;\n });\n});\n\nexport default once;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport nth from \"./nth.js\";\n/**\n * Retrieves the values at given paths of an object.\n *\n * @func\n * @memberOf R\n * @since v0.27.1\n * @category Object\n * @typedefn Idx = [String | Int]\n * @sig [Idx] -> {a} -> [a | Undefined]\n * @param {Array} pathsArray The array of paths to be fetched.\n * @param {Object} obj The object to retrieve the nested properties from.\n * @return {Array} A list consisting of values at paths specified by \"pathsArray\".\n * @see R.path\n * @example\n *\n * R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3]\n * R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined]\n */\n\nvar paths =\n/*#__PURE__*/\n_curry2(function paths(pathsArray, obj) {\n return pathsArray.map(function (paths) {\n var val = obj;\n var idx = 0;\n var p;\n\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n\n p = paths[idx];\n val = _isInteger(p) ? nth(p, val) : val[p];\n idx += 1;\n }\n\n return val;\n });\n});\n\nexport default paths;","import _curry2 from \"./internal/_curry2.js\";\nimport paths from \"./paths.js\";\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop, R.nth\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1\n * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2\n */\n\nvar path =\n/*#__PURE__*/\n_curry2(function path(pathAr, obj) {\n return paths([pathAr], obj)[0];\n});\n\nexport default path;","import _curry2 from \"./internal/_curry2.js\";\nimport path from \"./path.js\";\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig Idx -> {s: a} -> a | Undefined\n * @param {String|Number} p The property name or array index\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path, R.nth\n * @example\n *\n * R.prop('x', {x: 100}); //=> 100\n * R.prop('x', {}); //=> undefined\n * R.prop(0, [100]); //=> 100\n * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4\n */\n\nvar prop =\n/*#__PURE__*/\n_curry2(function prop(p, obj) {\n return path([p], obj);\n});\n\nexport default prop;","import _curry2 from \"./internal/_curry2.js\";\nimport map from \"./map.js\";\nimport prop from \"./prop.js\";\n/**\n * Returns a new list by plucking the same named property off all objects in\n * the list supplied.\n *\n * `pluck` will work on\n * any [functor](https://github.com/fantasyland/fantasy-land#functor) in\n * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => k -> f {k: v} -> f v\n * @param {Number|String} key The key name to pluck off of each object.\n * @param {Array} f The array or functor to consider.\n * @return {Array} The list of values for the given key.\n * @see R.props\n * @example\n *\n * var getAges = R.pluck('age');\n * getAges([{name: 'fred', age: 29}, {name: 'wilma', age: 27}]); //=> [29, 27]\n *\n * R.pluck(0, [[1, 2], [3, 4]]); //=> [1, 3]\n * R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5}\n * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5]\n * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5]\n */\n\nvar pluck =\n/*#__PURE__*/\n_curry2(function pluck(p, list) {\n return map(prop(p), list);\n});\n\nexport default pluck;","module.exports = window[\"PropTypes\"];","module.exports = window[\"React\"];","module.exports = window[\"ReactDOM\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + {\"108\":\"async-table\",\"471\":\"async-export\",\"790\":\"async-highlight\"}[chunkId] + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","var getCurrentScript = function() {\n var script = document.currentScript;\n if (!script) {\n /* Shim for IE11 and below */\n /* Do not take into account async scripts and inline scripts */\n\n var doc_scripts = document.getElementsByTagName('script');\n var scripts = [];\n\n for (var i = 0; i < doc_scripts.length; i++) {\n scripts.push(doc_scripts[i]);\n }\n\n scripts = scripts.filter(function(s) { return !s.async && !s.text && !s.textContent; });\n script = scripts.slice(-1)[0];\n }\n\n return script;\n};\n\nvar isLocalScript = function(script) {\n return /\\/_dash-component-suites\\//.test(script.src);\n};\n\nObject.defineProperty(__webpack_require__, 'p', {\n get: (function () {\n var script = getCurrentScript();\n\n var url = script.src.split('/').slice(0, -1).join('/') + '/';\n\n return function() {\n return url;\n };\n })()\n});\n\nif (typeof jsonpScriptSrc !== 'undefined') {\n var __jsonpScriptSrc__ = jsonpScriptSrc;\n jsonpScriptSrc = function(chunkId) {\n var script = getCurrentScript();\n var isLocal = isLocalScript(script);\n\n var src = __jsonpScriptSrc__(chunkId);\n\n if(!isLocal) {\n return src;\n }\n\n var srcFragments = src.split('/');\n var fileFragments = srcFragments.slice(-1)[0].split('.');\n\n fileFragments.splice(1, 0, \"v5_0_0m1634066981\");\n srcFragments.splice(-1, 1, fileFragments.join('.'))\n\n return srcFragments.join('/');\n };\n}\n","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t296: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) var result = runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdash_table\"] = self[\"webpackChunkdash_table\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import 'css.escape'; // polyfill\nimport Environment from 'core/environment';\nimport Logger from 'core/Logger';\nimport DataTable from 'dash-table/dash/DataTable';\nLogger.setDebugLevel(Environment.debugLevel);\nLogger.setLogLevel(Environment.logLevel);\nexport { DataTable };\n"],"sourceRoot":""} \ No newline at end of file diff --git a/inst/deps/dash_table/demo.js b/inst/deps/dash_table/demo.js index bc1a75d0..ab2a117f 100644 --- a/inst/deps/dash_table/demo.js +++ b/inst/deps/dash_table/demo.js @@ -1,2 +1,2 @@ -!function(){var t,n,e,r,o={1983:function(t,n,e){"use strict";e(6266),e(990),e(911),e(4160),e(6197),e(6728),e(4039),e(3568),e(8051),e(8250),e(5434),e(4952),e(6337),e(5666)},919:function(t,n,e){e(1983)},7800:function(t,n,e){var r;window,t.exports=(r=e(3804),function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=1)}([function(t,n){t.exports=r},function(t,n,e){"use strict";e.r(n);var r=e(0),o=function(t,n){var e,o={isReady:new Promise((function(t){e=t})),get:Object(r.lazy)((function(){return Promise.resolve(n()).then((function(t){return setTimeout((function(){return regeneratorRuntime.async((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,regeneratorRuntime.awrap(e(!0));case 2:o.isReady=!0;case 3:case"end":return t.stop()}}))}),0),t}))}))};return Object.defineProperty(t,"_dashprivate_isLazyComponentReady",{get:function(){return o.isReady}}),o.get},i=function(t,n){Object.defineProperty(t,"_dashprivate_isLazyComponentReady",{get:function(){return u(n)}})},u=function(t){return t&&t._dashprivate_isLazyComponentReady};function a(t,n){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"/";if(t.enabled()){var o=new Date(Date.now()-c).toUTCString();document.cookie="".concat(n,"=;expires=").concat(o,";domain=").concat(e,";path=").concat(r)}}},{key:"get",value:function(n){if(n.length&&t.enabled())return n=n.toLowerCase(),(document.cookie.split(";").map((function(t){var n=t.split("=");return{id:n[0].trim(),value:n[1]}})).find((function(t){return n===t.id.toLocaleLowerCase()}))||{}).value}},{key:"set",value:function(n,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"/";if(t.enabled()){var i=new Date(Date.now()+f).toUTCString(),u="".concat(n,"=").concat(e,";expires=").concat(i,";domain=").concat(r,";path=").concat(o);t.get(n)&&t.delete(n,r,o),document.cookie=u}}}],null&&o(n.prototype,null),e&&o(n,e),t}();i=s,u="enabled",a=r.Z((function(){try{document.cookie="cookietest=1";var t=-1!==document.cookie.indexOf("cookietest=");return document.cookie="cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch(t){return!1}})),u in i?Object.defineProperty(i,u,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[u]=a;var l,p,d=e(3936);function h(t,n){for(var e=0;e2?arguments[2]:void 0,s=Math.min((void 0===f?u:o(f,u))-c,u-a),l=1;for(c0;)c in e?e[a]=e[c]:delete e[a],a+=l,c+=l;return e}},6852:function(t,n,e){"use strict";var r=e(508),o=e(2337),i=e(875);t.exports=function(t){for(var n=r(this),e=i(n.length),u=arguments.length,a=o(u>1?arguments[1]:void 0,e),c=u>2?arguments[2]:void 0,f=void 0===c?e:o(c,e);f>a;)n[a++]=t;return n}},9315:function(t,n,e){var r=e(2110),o=e(875),i=e(2337);t.exports=function(t){return function(n,e,u){var a,c=r(n),f=o(c.length),s=i(u,f);if(t&&e!=e){for(;f>s;)if((a=c[s++])!=a)return!0}else for(;f>s;s++)if((t||s in c)&&c[s]===e)return t||s||0;return!t&&-1}}},50:function(t,n,e){var r=e(741),o=e(9797),i=e(508),u=e(875),a=e(6886);t.exports=function(t,n){var e=1==t,c=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l,d=n||a;return function(n,a,h){for(var v,y,g=i(n),b=o(g),m=r(a,h,3),w=u(b.length),_=0,x=e?d(n,w):c?d(n,0):void 0;w>_;_++)if((p||_ in b)&&(y=m(v=b[_],_,g),t))if(e)x[_]=y;else if(y)switch(t){case 3:return!0;case 5:return v;case 6:return _;case 2:x.push(v)}else if(s)return!1;return l?-1:f||s?s:x}}},7628:function(t,n,e){var r=e(4963),o=e(508),i=e(9797),u=e(875);t.exports=function(t,n,e,a,c){r(n);var f=o(t),s=i(f),l=u(f.length),p=c?l-1:0,d=c?-1:1;if(e<2)for(;;){if(p in s){a=s[p],p+=d;break}if(p+=d,c?p<0:l<=p)throw TypeError("Reduce of empty array with no initial value")}for(;c?p>=0:l>p;p+=d)p in s&&(a=n(a,s[p],p,f));return a}},2736:function(t,n,e){var r=e(5286),o=e(4302),i=e(6314)("species");t.exports=function(t){var n;return o(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!o(n.prototype)||(n=void 0),r(n)&&null===(n=n[i])&&(n=void 0)),void 0===n?Array:n}},6886:function(t,n,e){var r=e(2736);t.exports=function(t,n){return new(r(t))(n)}},4398:function(t,n,e){"use strict";var r=e(4963),o=e(5286),i=e(7242),u=[].slice,a={},c=function(t,n,e){if(!(n in a)){for(var r=[],o=0;o1?arguments[1]:void 0,3);e=e?e.n:this._f;)for(r(e.v,e.k,this);e&&e.r;)e=e.p},has:function(t){return!!y(h(this,n),t)}}),p&&r(s.prototype,"size",{get:function(){return h(this,n)[v]}}),s},def:function(t,n,e){var r,o,i=y(t,n);return i?i.v=e:(t._l=i={i:o=d(n,!0),k:n,v:e,p:r=t._l,n:void 0,r:!1},t._f||(t._f=i),r&&(r.n=i),t[v]++,"F"!==o&&(t._i[o]=i)),t},getEntry:y,setStrong:function(t,n,e){f(t,n,(function(t,e){this._t=h(t,n),this._k=e,this._l=void 0}),(function(){for(var t=this,n=t._k,e=t._l;e&&e.r;)e=e.p;return t._t&&(t._l=e=e?e.n:t._t._f)?s(0,"keys"==n?e.k:"values"==n?e.v:[e.k,e.v]):(t._t=void 0,s(1))}),e?"entries":"values",!e,!0),l(n)}}},3657:function(t,n,e){"use strict";var r=e(4408),o=e(4728).getWeak,i=e(7007),u=e(5286),a=e(3328),c=e(3531),f=e(50),s=e(9181),l=e(1616),p=f(5),d=f(6),h=0,v=function(t){return t._l||(t._l=new y)},y=function(){this.a=[]},g=function(t,n){return p(t.a,(function(t){return t[0]===n}))};y.prototype={get:function(t){var n=g(this,t);if(n)return n[1]},has:function(t){return!!g(this,t)},set:function(t,n){var e=g(this,t);e?e[1]=n:this.a.push([t,n])},delete:function(t){var n=d(this.a,(function(n){return n[0]===t}));return~n&&this.a.splice(n,1),!!~n}},t.exports={getConstructor:function(t,n,e,i){var f=t((function(t,r){a(t,f,n,"_i"),t._t=n,t._i=h++,t._l=void 0,null!=r&&c(r,e,t[i],t)}));return r(f.prototype,{delete:function(t){if(!u(t))return!1;var e=o(t);return!0===e?v(l(this,n)).delete(t):e&&s(e,this._i)&&delete e[this._i]},has:function(t){if(!u(t))return!1;var e=o(t);return!0===e?v(l(this,n)).has(t):e&&s(e,this._i)}}),f},def:function(t,n,e){var r=o(i(n),!0);return!0===r?v(t).set(n,e):r[t._i]=e,t},ufstore:v}},5795:function(t,n,e){"use strict";var r=e(3816),o=e(2985),i=e(7234),u=e(4408),a=e(4728),c=e(3531),f=e(3328),s=e(5286),l=e(4253),p=e(7462),d=e(2943),h=e(266);t.exports=function(t,n,e,v,y,g){var b=r[t],m=b,w=y?"set":"add",_=m&&m.prototype,x={},O=function(t){var n=_[t];i(_,t,"delete"==t||"has"==t?function(t){return!(g&&!s(t))&&n.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!s(t)?void 0:n.call(this,0===t?0:t)}:"add"==t?function(t){return n.call(this,0===t?0:t),this}:function(t,e){return n.call(this,0===t?0:t,e),this})};if("function"==typeof m&&(g||_.forEach&&!l((function(){(new m).entries().next()})))){var S=new m,E=S[w](g?{}:-0,1)!=S,P=l((function(){S.has(1)})),j=p((function(t){new m(t)})),A=!g&&l((function(){for(var t=new m,n=5;n--;)t[w](n,n);return!t.has(-0)}));j||((m=n((function(n,e){f(n,m,t);var r=h(new b,n,m);return null!=e&&c(e,y,r[w],r),r}))).prototype=_,_.constructor=m),(P||A)&&(O("delete"),O("has"),y&&O("get")),(A||E)&&O(w),g&&_.clear&&delete _.clear}else m=v.getConstructor(n,t,y,w),u(m.prototype,e),a.NEED=!0;return d(m,t),x[t]=m,o(o.G+o.W+o.F*(m!=b),x),g||v.setStrong(m,t,y),m}},5645:function(t){var n=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=n)},2811:function(t,n,e){"use strict";var r=e(9275),o=e(681);t.exports=function(t,n,e){n in t?r.f(t,n,o(0,e)):t[n]=e}},741:function(t,n,e){var r=e(4963);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},3537:function(t,n,e){"use strict";var r=e(4253),o=Date.prototype.getTime,i=Date.prototype.toISOString,u=function(t){return t>9?t:"0"+t};t.exports=r((function(){return"0385-07-25T07:06:39.999Z"!=i.call(new Date(-50000000000001))}))||!r((function(){i.call(new Date(NaN))}))?function(){if(!isFinite(o.call(this)))throw RangeError("Invalid time value");var t=this,n=t.getUTCFullYear(),e=t.getUTCMilliseconds(),r=n<0?"-":n>9999?"+":"";return r+("00000"+Math.abs(n)).slice(r?-6:-4)+"-"+u(t.getUTCMonth()+1)+"-"+u(t.getUTCDate())+"T"+u(t.getUTCHours())+":"+u(t.getUTCMinutes())+":"+u(t.getUTCSeconds())+"."+(e>99?e:"0"+u(e))+"Z"}:i},870:function(t,n,e){"use strict";var r=e(7007),o=e(1689),i="number";t.exports=function(t){if("string"!==t&&t!==i&&"default"!==t)throw TypeError("Incorrect hint");return o(r(this),t!=i)}},1355:function(t){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},7057:function(t,n,e){t.exports=!e(4253)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},2457:function(t,n,e){var r=e(5286),o=e(3816).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},4430:function(t){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},5541:function(t,n,e){var r=e(7184),o=e(4548),i=e(4682);t.exports=function(t){var n=r(t),e=o.f;if(e)for(var u,a=e(t),c=i.f,f=0;a.length>f;)c.call(t,u=a[f++])&&n.push(u);return n}},2985:function(t,n,e){var r=e(3816),o=e(5645),i=e(7728),u=e(7234),a=e(741),c=function(t,n,e){var f,s,l,p,d=t&c.F,h=t&c.G,v=t&c.S,y=t&c.P,g=t&c.B,b=h?r:v?r[n]||(r[n]={}):(r[n]||{}).prototype,m=h?o:o[n]||(o[n]={}),w=m.prototype||(m.prototype={});for(f in h&&(e=n),e)l=((s=!d&&b&&void 0!==b[f])?b:e)[f],p=g&&s?a(l,r):y&&"function"==typeof l?a(Function.call,l):l,b&&u(b,f,l,t&c.U),m[f]!=l&&i(m,f,p),y&&w[f]!=l&&(w[f]=l)};r.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},8852:function(t,n,e){var r=e(6314)("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[r]=!1,!"/./"[t](n)}catch(t){}}return!0}},4253:function(t){t.exports=function(t){try{return!!t()}catch(t){return!0}}},8082:function(t,n,e){"use strict";e(6673);var r=e(7234),o=e(7728),i=e(4253),u=e(1355),a=e(6314),c=e(1165),f=a("species"),s=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),l=function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2===e.length&&"a"===e[0]&&"b"===e[1]}();t.exports=function(t,n,e){var p=a(t),d=!i((function(){var n={};return n[p]=function(){return 7},7!=""[t](n)})),h=d?!i((function(){var n=!1,e=/a/;return e.exec=function(){return n=!0,null},"split"===t&&(e.constructor={},e.constructor[f]=function(){return e}),e[p](""),!n})):void 0;if(!d||!h||"replace"===t&&!s||"split"===t&&!l){var v=/./[p],y=e(u,p,""[t],(function(t,n,e,r,o){return n.exec===c?d&&!o?{done:!0,value:v.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}})),g=y[0],b=y[1];r(String.prototype,t,g),o(RegExp.prototype,p,2==n?function(t,n){return b.call(t,this,n)}:function(t){return b.call(t,this)})}}},3218:function(t,n,e){"use strict";var r=e(7007);t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},3325:function(t,n,e){"use strict";var r=e(4302),o=e(5286),i=e(875),u=e(741),a=e(6314)("isConcatSpreadable");t.exports=function t(n,e,c,f,s,l,p,d){for(var h,v,y=s,g=0,b=!!p&&u(p,d,3);g0)y=t(n,e,h,i(h.length),y,l-1)-1;else{if(y>=9007199254740991)throw TypeError();n[y]=h}y++}g++}return y}},3531:function(t,n,e){var r=e(741),o=e(8851),i=e(6555),u=e(7007),a=e(875),c=e(9002),f={},s={},l=t.exports=function(t,n,e,l,p){var d,h,v,y,g=p?function(){return t}:c(t),b=r(e,l,n?2:1),m=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(i(g)){for(d=a(t.length);d>m;m++)if((y=n?b(u(h=t[m])[0],h[1]):b(t[m]))===f||y===s)return y}else for(v=g.call(t);!(h=v.next()).done;)if((y=o(v,b,h.value,n))===f||y===s)return y};l.BREAK=f,l.RETURN=s},18:function(t,n,e){t.exports=e(3825)("native-function-to-string",Function.toString)},3816:function(t){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},9181:function(t){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},7728:function(t,n,e){var r=e(9275),o=e(681);t.exports=e(7057)?function(t,n,e){return r.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},639:function(t,n,e){var r=e(3816).document;t.exports=r&&r.documentElement},1734:function(t,n,e){t.exports=!e(7057)&&!e(4253)((function(){return 7!=Object.defineProperty(e(2457)("div"),"a",{get:function(){return 7}}).a}))},266:function(t,n,e){var r=e(5286),o=e(7375).set;t.exports=function(t,n,e){var i,u=n.constructor;return u!==e&&"function"==typeof u&&(i=u.prototype)!==e.prototype&&r(i)&&o&&o(t,i),t}},7242:function(t){t.exports=function(t,n,e){var r=void 0===e;switch(n.length){case 0:return r?t():t.call(e);case 1:return r?t(n[0]):t.call(e,n[0]);case 2:return r?t(n[0],n[1]):t.call(e,n[0],n[1]);case 3:return r?t(n[0],n[1],n[2]):t.call(e,n[0],n[1],n[2]);case 4:return r?t(n[0],n[1],n[2],n[3]):t.call(e,n[0],n[1],n[2],n[3])}return t.apply(e,n)}},9797:function(t,n,e){var r=e(2032);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},6555:function(t,n,e){var r=e(2803),o=e(6314)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},4302:function(t,n,e){var r=e(2032);t.exports=Array.isArray||function(t){return"Array"==r(t)}},8367:function(t,n,e){var r=e(5286),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},5286:function(t){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},5364:function(t,n,e){var r=e(5286),o=e(2032),i=e(6314)("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[i])?!!n:"RegExp"==o(t))}},8851:function(t,n,e){var r=e(7007);t.exports=function(t,n,e,o){try{return o?n(r(e)[0],e[1]):n(e)}catch(n){var i=t.return;throw void 0!==i&&r(i.call(t)),n}}},9988:function(t,n,e){"use strict";var r=e(2503),o=e(681),i=e(2943),u={};e(7728)(u,e(6314)("iterator"),(function(){return this})),t.exports=function(t,n,e){t.prototype=r(u,{next:o(1,e)}),i(t,n+" Iterator")}},2923:function(t,n,e){"use strict";var r=e(4461),o=e(2985),i=e(7234),u=e(7728),a=e(2803),c=e(9988),f=e(2943),s=e(468),l=e(6314)("iterator"),p=!([].keys&&"next"in[].keys()),d="keys",h="values",v=function(){return this};t.exports=function(t,n,e,y,g,b,m){c(e,n,y);var w,_,x,O=function(t){if(!p&&t in j)return j[t];switch(t){case d:case h:return function(){return new e(this,t)}}return function(){return new e(this,t)}},S=n+" Iterator",E=g==h,P=!1,j=t.prototype,A=j[l]||j["@@iterator"]||g&&j[g],T=A||O(g),k=g?E?O("entries"):T:void 0,N="Array"==n&&j.entries||A;if(N&&(x=s(N.call(new t)))!==Object.prototype&&x.next&&(f(x,S,!0),r||"function"==typeof x[l]||u(x,l,v)),E&&A&&A.name!==h&&(P=!0,T=function(){return A.call(this)}),r&&!m||!p&&!P&&j[l]||u(j,l,T),a[n]=T,a[S]=v,g)if(w={values:E?T:O(h),keys:b?T:O(d),entries:k},m)for(_ in w)_ in j||i(j,_,w[_]);else o(o.P+o.F*(p||P),n,w);return w}},7462:function(t,n,e){var r=e(6314)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!o)return!1;var e=!1;try{var i=[7],u=i[r]();u.next=function(){return{done:e=!0}},i[r]=function(){return u},t(i)}catch(t){}return e}},5436:function(t){t.exports=function(t,n){return{value:n,done:!!t}}},2803:function(t){t.exports={}},4461:function(t){t.exports=!1},3086:function(t){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},4934:function(t,n,e){var r=e(1801),o=Math.pow,i=o(2,-52),u=o(2,-23),a=o(2,127)*(2-u),c=o(2,-126);t.exports=Math.fround||function(t){var n,e,o=Math.abs(t),f=r(t);return oa||e!=e?f*(1/0):f*e}},6206:function(t){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},1801:function(t){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},4728:function(t,n,e){var r=e(3953)("meta"),o=e(5286),i=e(9181),u=e(9275).f,a=0,c=Object.isExtensible||function(){return!0},f=!e(4253)((function(){return c(Object.preventExtensions({}))})),s=function(t){u(t,r,{value:{i:"O"+ ++a,w:{}}})},l=t.exports={KEY:r,NEED:!1,fastKey:function(t,n){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,r)){if(!c(t))return"F";if(!n)return"E";s(t)}return t[r].i},getWeak:function(t,n){if(!i(t,r)){if(!c(t))return!0;if(!n)return!1;s(t)}return t[r].w},onFreeze:function(t){return f&&l.NEED&&c(t)&&!i(t,r)&&s(t),t}}},4351:function(t,n,e){var r=e(3816),o=e(4193).set,i=r.MutationObserver||r.WebKitMutationObserver,u=r.process,a=r.Promise,c="process"==e(2032)(u);t.exports=function(){var t,n,e,f=function(){var r,o;for(c&&(r=u.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(r){throw t?e():n=void 0,r}}n=void 0,r&&r.enter()};if(c)e=function(){u.nextTick(f)};else if(!i||r.navigator&&r.navigator.standalone)if(a&&a.resolve){var s=a.resolve(void 0);e=function(){s.then(f)}}else e=function(){o.call(r,f)};else{var l=!0,p=document.createTextNode("");new i(f).observe(p,{characterData:!0}),e=function(){p.data=l=!l}}return function(r){var o={fn:r,next:void 0};n&&(n.next=o),t||(t=o,e()),n=o}}},3499:function(t,n,e){"use strict";var r=e(4963);function o(t){var n,e;this.promise=new t((function(t,r){if(void 0!==n||void 0!==e)throw TypeError("Bad Promise constructor");n=t,e=r})),this.resolve=r(n),this.reject=r(e)}t.exports.f=function(t){return new o(t)}},5345:function(t,n,e){"use strict";var r=e(7057),o=e(7184),i=e(4548),u=e(4682),a=e(508),c=e(9797),f=Object.assign;t.exports=!f||e(4253)((function(){var t={},n={},e=Symbol(),r="abcdefghijklmnopqrst";return t[e]=7,r.split("").forEach((function(t){n[t]=t})),7!=f({},t)[e]||Object.keys(f({},n)).join("")!=r}))?function(t,n){for(var e=a(t),f=arguments.length,s=1,l=i.f,p=u.f;f>s;)for(var d,h=c(arguments[s++]),v=l?o(h).concat(l(h)):o(h),y=v.length,g=0;y>g;)d=v[g++],r&&!p.call(h,d)||(e[d]=h[d]);return e}:f},2503:function(t,n,e){var r=e(7007),o=e(5588),i=e(4430),u=e(9335)("IE_PROTO"),a=function(){},c=function(){var t,n=e(2457)("iframe"),r=i.length;for(n.style.display="none",e(639).appendChild(n),n.src="javascript:",(t=n.contentWindow.document).open(),t.write("\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.3\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var spin = props.spin,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-spin': spin,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, [\"style\"]);\n\n mixins.attrs['style'] = _objectSpread2({}, mixins.attrs['style'], {}, existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2({}, mixins.attrs, {}, remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nfunction FontAwesomeIcon(_ref) {\n var forwardedRef = _ref.forwardedRef,\n props = _objectWithoutProperties(_ref, [\"forwardedRef\"]);\n\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2({}, classes, {}, transform, {}, mask, {\n symbol: symbol,\n title: title,\n titleId: titleId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: forwardedRef\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n}\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n border: PropTypes.bool,\n className: PropTypes.string,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf(['horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n size: PropTypes.oneOf(['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n fixedWidth: false,\n inverse: false,\n flip: null,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n symbol: false,\n title: '',\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\n","/*!\n * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar prefix = \"far\";\nvar faAddressBook = {\n prefix: 'far',\n iconName: 'address-book',\n icon: [448, 512, [], \"f2b9\", \"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-68 304H48V48h320v416zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"]\n};\nvar faAddressCard = {\n prefix: 'far',\n iconName: 'address-card',\n icon: [576, 512, [], \"f2bb\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z\"]\n};\nvar faAngry = {\n prefix: 'far',\n iconName: 'angry',\n icon: [496, 512, [], \"f556\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-144c-33.6 0-65.2 14.8-86.8 40.6-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.2 33.8-3c24.8-29.7 75-29.7 99.8 0 8.1 9.7 23.2 11.9 33.8 3 10.2-8.5 11.5-23.6 3.1-33.8-21.6-25.8-53.2-40.6-86.8-40.6zm-48-72c10.3 0 19.9-6.7 23-17.1 3.8-12.7-3.4-26.1-16.1-29.9l-80-24c-12.8-3.9-26.1 3.4-29.9 16.1-3.8 12.7 3.4 26.1 16.1 29.9l28.2 8.5c-3.1 4.9-5.3 10.4-5.3 16.6 0 17.7 14.3 32 32 32s32-14.4 32-32.1zm199-54.9c-3.8-12.7-17.1-19.9-29.9-16.1l-80 24c-12.7 3.8-19.9 17.2-16.1 29.9 3.1 10.4 12.7 17.1 23 17.1 0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.2-2.2-11.7-5.3-16.6l28.2-8.5c12.7-3.7 19.9-17.1 16.1-29.8z\"]\n};\nvar faArrowAltCircleDown = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-down',\n icon: [512, 512, [], \"f358\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z\"]\n};\nvar faArrowAltCircleLeft = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-left',\n icon: [512, 512, [], \"f359\", \"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z\"]\n};\nvar faArrowAltCircleRight = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-right',\n icon: [512, 512, [], \"f35a\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z\"]\n};\nvar faArrowAltCircleUp = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-up',\n icon: [512, 512, [], \"f35b\", \"M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z\"]\n};\nvar faBell = {\n prefix: 'far',\n iconName: 'bell',\n icon: [448, 512, [], \"f0f3\", \"M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBellSlash = {\n prefix: 'far',\n iconName: 'bell-slash',\n icon: [640, 512, [], \"f1f6\", \"M633.99 471.02L36 3.51C29.1-2.01 19.03-.9 13.51 6l-10 12.49C-2.02 25.39-.9 35.46 6 40.98l598 467.51c6.9 5.52 16.96 4.4 22.49-2.49l10-12.49c5.52-6.9 4.41-16.97-2.5-22.49zM163.53 368c16.71-22.03 34.48-55.8 41.4-110.58l-45.47-35.55c-3.27 90.73-36.47 120.68-54.84 140.42-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h279.66l-61.4-48H163.53zM320 96c61.86 0 112 50.14 112 112 0 .2-.06.38-.06.58.02 16.84 1.16 31.77 2.79 45.73l59.53 46.54c-8.31-22.13-14.34-51.49-14.34-92.85 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-26.02 5.41-49.45 16.94-69.13 32.72l38.17 29.84C275 103.18 296.65 96 320 96zm0 416c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBookmark = {\n prefix: 'far',\n iconName: 'bookmark',\n icon: [384, 512, [], \"f02e\", \"M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z\"]\n};\nvar faBuilding = {\n prefix: 'far',\n iconName: 'building',\n icon: [448, 512, [], \"f1ad\", \"M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z\"]\n};\nvar faCalendar = {\n prefix: 'far',\n iconName: 'calendar',\n icon: [448, 512, [], \"f133\", \"M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z\"]\n};\nvar faCalendarAlt = {\n prefix: 'far',\n iconName: 'calendar-alt',\n icon: [448, 512, [], \"f073\", \"M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarCheck = {\n prefix: 'far',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z\"]\n};\nvar faCalendarMinus = {\n prefix: 'far',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarPlus = {\n prefix: 'far',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarTimes = {\n prefix: 'far',\n iconName: 'calendar-times',\n icon: [448, 512, [], \"f273\", \"M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareDown = {\n prefix: 'far',\n iconName: 'caret-square-down',\n icon: [448, 512, [], \"f150\", \"M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareLeft = {\n prefix: 'far',\n iconName: 'caret-square-left',\n icon: [448, 512, [], \"f191\", \"M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareRight = {\n prefix: 'far',\n iconName: 'caret-square-right',\n icon: [448, 512, [], \"f152\", \"M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareUp = {\n prefix: 'far',\n iconName: 'caret-square-up',\n icon: [448, 512, [], \"f151\", \"M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faChartBar = {\n prefix: 'far',\n iconName: 'chart-bar',\n icon: [512, 512, [], \"f080\", \"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\"]\n};\nvar faCheckCircle = {\n prefix: 'far',\n iconName: 'check-circle',\n icon: [512, 512, [], \"f058\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z\"]\n};\nvar faCheckSquare = {\n prefix: 'far',\n iconName: 'check-square',\n icon: [448, 512, [], \"f14a\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z\"]\n};\nvar faCircle = {\n prefix: 'far',\n iconName: 'circle',\n icon: [512, 512, [], \"f111\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z\"]\n};\nvar faClipboard = {\n prefix: 'far',\n iconName: 'clipboard',\n icon: [384, 512, [], \"f328\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z\"]\n};\nvar faClock = {\n prefix: 'far',\n iconName: 'clock',\n icon: [512, 512, [], \"f017\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z\"]\n};\nvar faClone = {\n prefix: 'far',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'far',\n iconName: 'closed-captioning',\n icon: [512, 512, [], \"f20a\", \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z\"]\n};\nvar faComment = {\n prefix: 'far',\n iconName: 'comment',\n icon: [512, 512, [], \"f075\", \"M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"]\n};\nvar faCommentAlt = {\n prefix: 'far',\n iconName: 'comment-alt',\n icon: [512, 512, [], \"f27a\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z\"]\n};\nvar faCommentDots = {\n prefix: 'far',\n iconName: 'comment-dots',\n icon: [512, 512, [], \"f4ad\", \"M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"]\n};\nvar faComments = {\n prefix: 'far',\n iconName: 'comments',\n icon: [576, 512, [], \"f086\", \"M532 386.2c27.5-27.1 44-61.1 44-98.2 0-80-76.5-146.1-176.2-157.9C368.3 72.5 294.3 32 208 32 93.1 32 0 103.6 0 192c0 37 16.5 71 44 98.2-15.3 30.7-37.3 54.5-37.7 54.9-6.3 6.7-8.1 16.5-4.4 25 3.6 8.5 12 14 21.2 14 53.5 0 96.7-20.2 125.2-38.8 9.2 2.1 18.7 3.7 28.4 4.9C208.1 407.6 281.8 448 368 448c20.8 0 40.8-2.4 59.8-6.8C456.3 459.7 499.4 480 553 480c9.2 0 17.5-5.5 21.2-14 3.6-8.5 1.9-18.3-4.4-25-.4-.3-22.5-24.1-37.8-54.8zm-392.8-92.3L122.1 305c-14.1 9.1-28.5 16.3-43.1 21.4 2.7-4.7 5.4-9.7 8-14.8l15.5-31.1L77.7 256C64.2 242.6 48 220.7 48 192c0-60.7 73.3-112 160-112s160 51.3 160 112-73.3 112-160 112c-16.5 0-33-1.9-49-5.6l-19.8-4.5zM498.3 352l-24.7 24.4 15.5 31.1c2.6 5.1 5.3 10.1 8 14.8-14.6-5.1-29-12.3-43.1-21.4l-17.1-11.1-19.9 4.6c-16 3.7-32.5 5.6-49 5.6-54 0-102.2-20.1-131.3-49.7C338 339.5 416 272.9 416 192c0-3.4-.4-6.7-.7-10C479.7 196.5 528 238.8 528 288c0 28.7-16.2 50.6-29.7 64z\"]\n};\nvar faCompass = {\n prefix: 'far',\n iconName: 'compass',\n icon: [496, 512, [], \"f14e\", \"M347.94 129.86L203.6 195.83a31.938 31.938 0 0 0-15.77 15.77l-65.97 144.34c-7.61 16.65 9.54 33.81 26.2 26.2l144.34-65.97a31.938 31.938 0 0 0 15.77-15.77l65.97-144.34c7.61-16.66-9.54-33.81-26.2-26.2zm-77.36 148.72c-12.47 12.47-32.69 12.47-45.16 0-12.47-12.47-12.47-32.69 0-45.16 12.47-12.47 32.69-12.47 45.16 0 12.47 12.47 12.47 32.69 0 45.16zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"]\n};\nvar faCopy = {\n prefix: 'far',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z\"]\n};\nvar faCopyright = {\n prefix: 'far',\n iconName: 'copyright',\n icon: [512, 512, [], \"f1f9\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z\"]\n};\nvar faCreditCard = {\n prefix: 'far',\n iconName: 'credit-card',\n icon: [576, 512, [], \"f09d\", \"M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z\"]\n};\nvar faDizzy = {\n prefix: 'far',\n iconName: 'dizzy',\n icon: [496, 512, [], \"f567\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-33.8-217.9c7.8-7.8 7.8-20.5 0-28.3L196.3 192l17.9-17.9c7.8-7.8 7.8-20.5 0-28.3-7.8-7.8-20.5-7.8-28.3 0L168 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.9 7.7 20.5 7.7 28.4-.2zm160-92.2c-7.8-7.8-20.5-7.8-28.3 0L328 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.8 7.8 20.5 7.8 28.3 0 7.8-7.8 7.8-20.5 0-28.3l-17.8-18 17.9-17.9c7.7-7.8 7.7-20.4 0-28.2zM248 272c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64z\"]\n};\nvar faDotCircle = {\n prefix: 'far',\n iconName: 'dot-circle',\n icon: [512, 512, [], \"f192\", \"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"]\n};\nvar faEdit = {\n prefix: 'far',\n iconName: 'edit',\n icon: [576, 512, [], \"f044\", \"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"]\n};\nvar faEnvelope = {\n prefix: 'far',\n iconName: 'envelope',\n icon: [512, 512, [], \"f0e0\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'far',\n iconName: 'envelope-open',\n icon: [512, 512, [], \"f2b6\", \"M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z\"]\n};\nvar faEye = {\n prefix: 'far',\n iconName: 'eye',\n icon: [576, 512, [], \"f06e\", \"M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z\"]\n};\nvar faEyeSlash = {\n prefix: 'far',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z\"]\n};\nvar faFile = {\n prefix: 'far',\n iconName: 'file',\n icon: [384, 512, [], \"f15b\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z\"]\n};\nvar faFileAlt = {\n prefix: 'far',\n iconName: 'file-alt',\n icon: [384, 512, [], \"f15c\", \"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z\"]\n};\nvar faFileArchive = {\n prefix: 'far',\n iconName: 'file-archive',\n icon: [384, 512, [], \"f1c6\", \"M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z\"]\n};\nvar faFileAudio = {\n prefix: 'far',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z\"]\n};\nvar faFileCode = {\n prefix: 'far',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M149.9 349.1l-.2-.2-32.8-28.9 32.8-28.9c3.6-3.2 4-8.8.8-12.4l-.2-.2-17.4-18.6c-3.4-3.6-9-3.7-12.4-.4l-57.7 54.1c-3.7 3.5-3.7 9.4 0 12.8l57.7 54.1c1.6 1.5 3.8 2.4 6 2.4 2.4 0 4.8-1 6.4-2.8l17.4-18.6c3.3-3.5 3.1-9.1-.4-12.4zm220-251.2L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h160v104c0 13.3 10.7 24 24 24h104zM209.6 214c-4.7-1.4-9.5 1.3-10.9 6L144 408.1c-1.4 4.7 1.3 9.6 6 10.9l24.4 7.1c4.7 1.4 9.6-1.4 10.9-6L240 231.9c1.4-4.7-1.3-9.6-6-10.9zm24.5 76.9l.2.2 32.8 28.9-32.8 28.9c-3.6 3.2-4 8.8-.8 12.4l.2.2 17.4 18.6c3.3 3.5 8.9 3.7 12.4.4l57.7-54.1c3.7-3.5 3.7-9.4 0-12.8l-57.7-54.1c-3.5-3.3-9.1-3.2-12.4.4l-17.4 18.6c-3.3 3.5-3.1 9.1.4 12.4z\"]\n};\nvar faFileExcel = {\n prefix: 'far',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z\"]\n};\nvar faFileImage = {\n prefix: 'far',\n iconName: 'file-image',\n icon: [384, 512, [], \"f1c5\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"]\n};\nvar faFilePdf = {\n prefix: 'far',\n iconName: 'file-pdf',\n icon: [384, 512, [], \"f1c1\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'far',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z\"]\n};\nvar faFileVideo = {\n prefix: 'far',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z\"]\n};\nvar faFileWord = {\n prefix: 'far',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z\"]\n};\nvar faFlag = {\n prefix: 'far',\n iconName: 'flag',\n icon: [512, 512, [], \"f024\", \"M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z\"]\n};\nvar faFlushed = {\n prefix: 'far',\n iconName: 'flushed',\n icon: [496, 512, [], \"f579\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm96-312c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-112 24c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm-80 48c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm160 144H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faFolder = {\n prefix: 'far',\n iconName: 'folder',\n icon: [512, 512, [], \"f07b\", \"M464 128H272l-54.63-54.63c-6-6-14.14-9.37-22.63-9.37H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm0 272H48V112h140.12l54.63 54.63c6 6 14.14 9.37 22.63 9.37H464v224z\"]\n};\nvar faFolderOpen = {\n prefix: 'far',\n iconName: 'folder-open',\n icon: [576, 512, [], \"f07c\", \"M527.9 224H480v-48c0-26.5-21.5-48-48-48H272l-64-64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h400c16.5 0 31.9-8.5 40.7-22.6l79.9-128c20-31.9-3-73.4-40.7-73.4zM48 118c0-3.3 2.7-6 6-6h134.1l64 64H426c3.3 0 6 2.7 6 6v42H152c-16.8 0-32.4 8.8-41.1 23.2L48 351.4zm400 282H72l77.2-128H528z\"]\n};\nvar faFontAwesomeLogoFull = {\n prefix: 'far',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"]\n};\nvar faFrown = {\n prefix: 'far',\n iconName: 'frown',\n icon: [496, 512, [], \"f119\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z\"]\n};\nvar faFrownOpen = {\n prefix: 'far',\n iconName: 'frown-open',\n icon: [496, 512, [], \"f57a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-48-248c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 112c-35.6 0-88.8 21.3-95.8 61.2-2 11.8 9 21.5 20.5 18.1 31.2-9.6 59.4-15.3 75.3-15.3s44.1 5.7 75.3 15.3c11.4 3.5 22.5-6.3 20.5-18.1-7-39.9-60.2-61.2-95.8-61.2z\"]\n};\nvar faFutbol = {\n prefix: 'far',\n iconName: 'futbol',\n icon: [496, 512, [], \"f1e3\", \"M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z\"]\n};\nvar faGem = {\n prefix: 'far',\n iconName: 'gem',\n icon: [576, 512, [], \"f3a5\", \"M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z\"]\n};\nvar faGrimace = {\n prefix: 'far',\n iconName: 'grimace',\n icon: [496, 512, [], \"f57f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm16 16H152c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h192c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48zm-168 96h-24c-8.8 0-16-7.2-16-16v-8h40v24zm0-40h-40v-8c0-8.8 7.2-16 16-16h24v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm56 24c0 8.8-7.2 16-16 16h-24v-24h40v8zm0-24h-40v-24h24c8.8 0 16 7.2 16 16v8z\"]\n};\nvar faGrin = {\n prefix: 'far',\n iconName: 'grin',\n icon: [496, 512, [], \"f580\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faGrinAlt = {\n prefix: 'far',\n iconName: 'grin-alt',\n icon: [496, 512, [], \"f581\", \"M200.3 248c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zm128 0c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3z\"]\n};\nvar faGrinBeam = {\n prefix: 'far',\n iconName: 'grin-beam',\n icon: [496, 512, [], \"f582\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-235.9-72.9c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3zm160 0c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3z\"]\n};\nvar faGrinBeamSweat = {\n prefix: 'far',\n iconName: 'grin-beam-sweat',\n icon: [496, 512, [], \"f583\", \"M440 160c29.5 0 53.3-26.3 53.3-58.7 0-25-31.7-75.5-46.2-97.3-3.6-5.3-10.7-5.3-14.2 0-14.5 21.8-46.2 72.3-46.2 97.3 0 32.4 23.8 58.7 53.3 58.7zM248 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zm105.3-52.9c-24.6 15.7-46 12.9-46.4 12.9 6.9 20.2 10.8 41.8 10.8 64.3 0 110.3-89.7 200-200 200S48 366.3 48 256 137.7 56 248 56c39.8 0 76.8 11.8 108 31.9 1.7-9.5 6.3-24.1 17.2-45.7C336.4 20.6 293.7 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-27-4.4-52.9-12.4-77.2zM168 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"]\n};\nvar faGrinHearts = {\n prefix: 'far',\n iconName: 'grin-hearts',\n icon: [496, 512, [], \"f584\", \"M353.6 304.6c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-152.8-48.9c4.5 1.2 9.2-1.5 10.5-6l19.4-69.9c5.6-20.3-7.4-41.1-28.8-44.5-18.6-3-36.4 9.8-41.5 27.9l-2 7.1-7.1-1.9c-18.2-4.7-38.2 4.3-44.9 22-7.7 20.2 3.8 41.9 24.2 47.2l70.2 18.1zm188.8-65.3c-6.7-17.6-26.7-26.7-44.9-22l-7.1 1.9-2-7.1c-5-18.1-22.8-30.9-41.5-27.9-21.4 3.4-34.4 24.2-28.8 44.5l19.4 69.9c1.2 4.5 5.9 7.2 10.5 6l70.2-18.2c20.4-5.3 31.9-26.9 24.2-47.1zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z\"]\n};\nvar faGrinSquint = {\n prefix: 'far',\n iconName: 'grin-squint',\n icon: [496, 512, [], \"f585\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-234.7-40.8c3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3l-80-48c-5.1-3-11.4-1.9-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11.1.1 15.5zm242.9 2.5c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11-.1-15.5-3.8-4.4-10.2-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48z\"]\n};\nvar faGrinSquintTears = {\n prefix: 'far',\n iconName: 'grin-squint-tears',\n icon: [512, 512, [], \"f586\", \"M117.1 384.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 479 124.3 420.8 128 395c.8-6.4-4.6-11.8-10.9-10.9zm-41.2-41.7C40.3 268 53 176.1 114.6 114.6 152.4 76.8 202.6 56 256 56c36.2 0 70.8 9.8 101.2 27.7 3.8-20.3 8-36.1 12-48.3C333.8 17.2 294.9 8 256 8 192.5 8 129.1 32.2 80.6 80.6c-74.1 74.1-91.3 183.4-52 274 12.2-4.1 27.7-8.3 47.3-12.2zm352.3-187.6c45 76.6 34.9 176.9-30.8 242.6-37.8 37.8-88 58.6-141.4 58.6-30.5 0-59.8-7-86.4-19.8-3.9 19.5-8 35-12.2 47.2 31.4 13.6 65 20.6 98.7 20.6 63.5 0 126.9-24.2 175.4-72.6 78.1-78.1 93.1-195.4 45.2-288.6-12.3 4-28.2 8.1-48.5 12zm-33.3-26.9c25.8-3.7 84-13.7 100.9-30.6 21.9-21.9 21.5-57.9-.9-80.3s-58.3-22.8-80.3-.9C397.7 33 387.7 91.2 384 117c-.8 6.4 4.6 11.8 10.9 10.9zm-187 108.3c-3-3-7.2-4.2-11.4-3.2L106 255.7c-5.7 1.4-9.5 6.7-9.1 12.6.5 5.8 5.1 10.5 10.9 11l52.3 4.8 4.8 52.3c.5 5.8 5.2 10.4 11 10.9h.9c5.5 0 10.3-3.7 11.7-9.1l22.6-90.5c1-4.2-.2-8.5-3.2-11.5zm39.7-25.1l90.5-22.6c5.7-1.4 9.5-6.7 9.1-12.6-.5-5.8-5.1-10.5-10.9-11l-52.3-4.8-4.8-52.3c-.5-5.8-5.2-10.4-11-10.9-5.6-.1-11.2 3.4-12.6 9.1L233 196.5c-1 4.1.2 8.4 3.2 11.4 5 5 11.3 3.2 11.4 3.2zm52 88.5c-29.1 29.1-59.7 52.9-83.9 65.4-9.2 4.8-10 17.5-1.7 23.4 38.9 27.7 107 6.2 143.7-30.6S416 253 388.3 214.1c-5.8-8.2-18.5-7.6-23.4 1.7-12.3 24.2-36.2 54.7-65.3 83.8z\"]\n};\nvar faGrinStars = {\n prefix: 'far',\n iconName: 'grin-stars',\n icon: [496, 512, [], \"f587\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-227.9-57.5c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.5 1.9-12.2-4.3-13.2l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6.1 34.9zm259.7-72.7l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6 34.9c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.6 1.8-12.2-4.4-13.2z\"]\n};\nvar faGrinTears = {\n prefix: 'far',\n iconName: 'grin-tears',\n icon: [640, 512, [], \"f588\", \"M117.1 256.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 351 124.3 292.8 128 267c.8-6.4-4.6-11.8-10.9-10.9zm506.7 30.6c-16.9-16.9-75.1-26.9-100.9-30.6-6.3-.9-11.7 4.5-10.8 10.8 3.7 25.8 13.7 84 30.6 100.9 21.9 21.9 57.9 21.5 80.3-.9 22.3-22.3 22.7-58.3.8-80.2zm-126.6 61.7C463.8 412.3 396.9 456 320 456c-76.9 0-143.8-43.7-177.2-107.6-12.5 37.4-25.2 43.9-28.3 46.5C159.1 460.7 234.5 504 320 504s160.9-43.3 205.5-109.1c-3.2-2.7-15.9-9.2-28.3-46.5zM122.7 224.5C137.9 129.2 220.5 56 320 56c99.5 0 182.1 73.2 197.3 168.5 2.1-.2 5.2-2.4 49.5 7C554.4 106 448.7 8 320 8S85.6 106 73.2 231.4c44.5-9.4 47.1-7.2 49.5-6.9zM320 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zM240 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"]\n};\nvar faGrinTongue = {\n prefix: 'far',\n iconName: 'grin-tongue',\n icon: [496, 512, [], \"f589\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zM168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faGrinTongueSquint = {\n prefix: 'far',\n iconName: 'grin-tongue-squint',\n icon: [496, 512, [], \"f58a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zm36.9-281.1c-3.8-4.4-10.3-5.5-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zm-162.9 45.5l-80-48c-5-3-11.4-2-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3z\"]\n};\nvar faGrinTongueWink = {\n prefix: 'far',\n iconName: 'grin-tongue-wink',\n icon: [496, 512, [], \"f58b\", \"M152 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm176-52c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3z\"]\n};\nvar faGrinWink = {\n prefix: 'far',\n iconName: 'grin-wink',\n icon: [496, 512, [], \"f58c\", \"M328 180c-25.69 0-55.88 16.92-59.86 42.12-1.75 11.22 11.5 18.24 19.83 10.84l9.55-8.48c14.81-13.19 46.16-13.19 60.97 0l9.55 8.48c8.48 7.43 21.56.25 19.83-10.84C383.88 196.92 353.69 180 328 180zm-160 60c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm185.55 64.64c-25.93 8.3-64.4 13.06-105.55 13.06s-79.62-4.75-105.55-13.06c-9.94-3.13-19.4 5.37-17.71 15.34C132.67 367.13 196.06 400 248 400s115.33-32.87 123.26-80.02c1.68-9.89-7.67-18.48-17.71-15.34zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"]\n};\nvar faHandLizard = {\n prefix: 'far',\n iconName: 'hand-lizard',\n icon: [576, 512, [], \"f258\", \"M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z\"]\n};\nvar faHandPaper = {\n prefix: 'far',\n iconName: 'hand-paper',\n icon: [448, 512, [], \"f256\", \"M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z\"]\n};\nvar faHandPeace = {\n prefix: 'far',\n iconName: 'hand-peace',\n icon: [448, 512, [], \"f25b\", \"M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z\"]\n};\nvar faHandPointDown = {\n prefix: 'far',\n iconName: 'hand-point-down',\n icon: [448, 512, [], \"f0a7\", \"M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z\"]\n};\nvar faHandPointLeft = {\n prefix: 'far',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"]\n};\nvar faHandPointRight = {\n prefix: 'far',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"]\n};\nvar faHandPointUp = {\n prefix: 'far',\n iconName: 'hand-point-up',\n icon: [448, 512, [], \"f0a6\", \"M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"]\n};\nvar faHandPointer = {\n prefix: 'far',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z\"]\n};\nvar faHandRock = {\n prefix: 'far',\n iconName: 'hand-rock',\n icon: [512, 512, [], \"f255\", \"M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z\"]\n};\nvar faHandScissors = {\n prefix: 'far',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z\"]\n};\nvar faHandSpock = {\n prefix: 'far',\n iconName: 'hand-spock',\n icon: [512, 512, [], \"f259\", \"M501.03053,116.17605c-19.39059-31.50779-51.24406-35.72849-66.31044-35.01756-14.11325-50.81051-62.0038-54.08-70.73816-54.08a74.03091,74.03091,0,0,0-72.23816,58.916l-4.64648,22.66014-13.68357-53.207c-9.09569-35.37107-46.412-64.05074-89.66-53.07223a73.89749,73.89749,0,0,0-55.121,78.94722,73.68273,73.68273,0,0,0-64.8495,94.42181l24.35933,82.19721c-38.24017-7.54492-62.79677,16.18358-68.11512,21.84764a73.6791,73.6791,0,0,0,3.19921,104.19329l91.36509,85.9765A154.164,154.164,0,0,0,220.62279,512h107.4549A127.30079,127.30079,0,0,0,452.3392,413.86139l57.623-241.96272A73.20274,73.20274,0,0,0,501.03053,116.17605Zm-37.7597,44.60544L405.64788,402.74812a79.46616,79.46616,0,0,1-77.57019,61.25972H220.62279a106.34052,106.34052,0,0,1-73.1366-28.998l-91.369-85.98041C31.34381,325.72669,66.61133,288.131,91.39644,311.5392l51.123,48.10739c5.42577,5.10937,13.48239.71679,13.48239-5.82617a246.79914,246.79914,0,0,0-10.17771-70.1523l-36.01362-121.539c-9.7324-32.88279,39.69916-47.27145,49.38664-14.625l31.3437,105.77923c5.59374,18.90428,33.78119,10.71288,28.9648-8.00781L177.06427,80.23662c-8.50389-33.1035,41.43157-45.64646,49.86515-12.83593l47.32609,184.035c4.42773,17.24218,29.16207,16.5039,32.71089-.80468l31.791-154.9706c6.81054-33.1074,57.51748-24.10741,50.11906,11.96288L360.32764,246.78924c-3.72265,18.10936,23.66793,24.63084,28.05659,6.21679L413.185,148.85962C421.1498,115.512,471.14,127.79713,463.27083,160.78149Z\"]\n};\nvar faHandshake = {\n prefix: 'far',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M519.2 127.9l-47.6-47.6A56.252 56.252 0 0 0 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H0v255.7h64c17.6 0 31.8-14.2 31.9-31.7h9.1l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23h57.9c.1 17.5 14.4 31.7 31.9 31.7h64V127.9H519.2zM48 351.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16zm390-6.9l-26.1 32.2c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-6 7.3-15 4.8-18 2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H96V175.8h41.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 3.9 7.9 1.2 11.3zm106-40.8h-69.2c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.3-9.9-8.5-25.1 1.2-33.9l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H544v128zm48 47.7c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16z\"]\n};\nvar faHdd = {\n prefix: 'far',\n iconName: 'hdd',\n icon: [576, 512, [], \"f0a0\", \"M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z\"]\n};\nvar faHeart = {\n prefix: 'far',\n iconName: 'heart',\n icon: [512, 512, [], \"f004\", \"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"]\n};\nvar faHospital = {\n prefix: 'far',\n iconName: 'hospital',\n icon: [448, 512, [], \"f0f8\", \"M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z\"]\n};\nvar faHourglass = {\n prefix: 'far',\n iconName: 'hourglass',\n icon: [384, 512, [], \"f254\", \"M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z\"]\n};\nvar faIdBadge = {\n prefix: 'far',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 464H48V48h288v416zM144 112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16zm48 176c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"]\n};\nvar faIdCard = {\n prefix: 'far',\n iconName: 'id-card',\n icon: [576, 512, [], \"f2c2\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H303.2c.9-4.5.8 3.6.8-22.4 0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6 0 26-.2 17.9.8 22.4H48V144h480v288zm-168-80h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm-168 96c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"]\n};\nvar faImage = {\n prefix: 'far',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z\"]\n};\nvar faImages = {\n prefix: 'far',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z\"]\n};\nvar faKeyboard = {\n prefix: 'far',\n iconName: 'keyboard',\n icon: [576, 512, [], \"f11c\", \"M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z\"]\n};\nvar faKiss = {\n prefix: 'far',\n iconName: 'kiss',\n icon: [496, 512, [], \"f596\", \"M168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm136 132c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faKissBeam = {\n prefix: 'far',\n iconName: 'kiss-beam',\n icon: [496, 512, [], \"f597\", \"M168 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm56-148c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zm24-156c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4z\"]\n};\nvar faKissWinkHeart = {\n prefix: 'far',\n iconName: 'kiss-wink-heart',\n icon: [504, 512, [], \"f598\", \"M304 308.5c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36 21.7-9.1 35.1-23.4 35.1-36.4zm70.5-83.5l9.5 8.5c3.8 3.3 9.3 4 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 5.8 3.1 11.2.7 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0zM136 208.5c0 17.7 14.3 32 32 32s32-14.3 32-32-14.3-32-32-32-32 14.3-32 32zm365.1 194c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zM334 436.3c-26.1 12.5-55.2 19.7-86 19.7-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200c0 22.1-3.7 43.3-10.4 63.2 9 6.4 17 14.2 22.6 23.9 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-2.5-7.3 4.3 17.2-13.4-46.8z\"]\n};\nvar faLaugh = {\n prefix: 'far',\n iconName: 'laugh',\n icon: [496, 512, [], \"f599\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 224c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm-160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughBeam = {\n prefix: 'far',\n iconName: 'laugh-beam',\n icon: [496, 512, [], \"f59a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 152c-23.8 0-52.7 29.3-56 71.4-.7 8.6 10.8 11.9 14.9 4.5l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.1-42.1-32-71.4-55.8-71.4zm-201 75.9l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.6 8.5 10.9 11.9 15.1 4.5zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughSquint = {\n prefix: 'far',\n iconName: 'laugh-squint',\n icon: [496, 512, [], \"f59b\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM343.6 196l33.6-40.3c8.6-10.3-3.8-24.8-15.4-18l-80 48c-7.8 4.7-7.8 15.9 0 20.6l80 48c11.5 6.8 24-7.6 15.4-18L343.6 196zm-209.4 58.3l80-48c7.8-4.7 7.8-15.9 0-20.6l-80-48c-11.6-6.9-24 7.7-15.4 18l33.6 40.3-33.6 40.3c-8.7 10.4 3.8 24.8 15.4 18zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughWink = {\n prefix: 'far',\n iconName: 'laugh-wink',\n icon: [496, 512, [], \"f59c\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6C68.8 359.6 48 309.4 48 256s20.8-103.6 58.6-141.4C144.4 76.8 194.6 56 248 56s103.6 20.8 141.4 58.6c37.8 37.8 58.6 88 58.6 141.4s-20.8 103.6-58.6 141.4zM328 164c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1zm-160 60c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLemon = {\n prefix: 'far',\n iconName: 'lemon',\n icon: [512, 512, [], \"f094\", \"M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z\"]\n};\nvar faLifeRing = {\n prefix: 'far',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z\"]\n};\nvar faLightbulb = {\n prefix: 'far',\n iconName: 'lightbulb',\n icon: [352, 512, [], \"f0eb\", \"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z\"]\n};\nvar faListAlt = {\n prefix: 'far',\n iconName: 'list-alt',\n icon: [512, 512, [], \"f022\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z\"]\n};\nvar faMap = {\n prefix: 'far',\n iconName: 'map',\n icon: [576, 512, [], \"f279\", \"M560.02 32c-1.96 0-3.98.37-5.96 1.16L384.01 96H384L212 35.28A64.252 64.252 0 0 0 191.76 32c-6.69 0-13.37 1.05-19.81 3.14L20.12 87.95A32.006 32.006 0 0 0 0 117.66v346.32C0 473.17 7.53 480 15.99 480c1.96 0 3.97-.37 5.96-1.16L192 416l172 60.71a63.98 63.98 0 0 0 40.05.15l151.83-52.81A31.996 31.996 0 0 0 576 394.34V48.02c0-9.19-7.53-16.02-15.98-16.02zM224 90.42l128 45.19v285.97l-128-45.19V90.42zM48 418.05V129.07l128-44.53v286.2l-.64.23L48 418.05zm480-35.13l-128 44.53V141.26l.64-.24L528 93.95v288.97z\"]\n};\nvar faMeh = {\n prefix: 'far',\n iconName: 'meh',\n icon: [496, 512, [], \"f11a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faMehBlank = {\n prefix: 'far',\n iconName: 'meh-blank',\n icon: [496, 512, [], \"f5a4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faMehRollingEyes = {\n prefix: 'far',\n iconName: 'meh-rolling-eyes',\n icon: [496, 512, [], \"f5a5\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm88-304c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 112c-22.1 0-40-17.9-40-40 0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40zm-104-40c0-39.8-32.2-72-72-72s-72 32.2-72 72 32.2 72 72 72 72-32.2 72-72zm-112 0c0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40s-40-17.9-40-40zm192 128H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faMinusSquare = {\n prefix: 'far',\n iconName: 'minus-square',\n icon: [448, 512, [], \"f146\", \"M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faMoneyBillAlt = {\n prefix: 'far',\n iconName: 'money-bill-alt',\n icon: [640, 512, [], \"f3d1\", \"M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z\"]\n};\nvar faMoon = {\n prefix: 'far',\n iconName: 'moon',\n icon: [512, 512, [], \"f186\", \"M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z\"]\n};\nvar faNewspaper = {\n prefix: 'far',\n iconName: 'newspaper',\n icon: [576, 512, [], \"f1ea\", \"M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z\"]\n};\nvar faObjectGroup = {\n prefix: 'far',\n iconName: 'object-group',\n icon: [512, 512, [], \"f247\", \"M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z\"]\n};\nvar faObjectUngroup = {\n prefix: 'far',\n iconName: 'object-ungroup',\n icon: [576, 512, [], \"f248\", \"M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z\"]\n};\nvar faPaperPlane = {\n prefix: 'far',\n iconName: 'paper-plane',\n icon: [512, 512, [], \"f1d8\", \"M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z\"]\n};\nvar faPauseCircle = {\n prefix: 'far',\n iconName: 'pause-circle',\n icon: [512, 512, [], \"f28b\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z\"]\n};\nvar faPlayCircle = {\n prefix: 'far',\n iconName: 'play-circle',\n icon: [512, 512, [], \"f144\", \"M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"]\n};\nvar faPlusSquare = {\n prefix: 'far',\n iconName: 'plus-square',\n icon: [448, 512, [], \"f0fe\", \"M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faQuestionCircle = {\n prefix: 'far',\n iconName: 'question-circle',\n icon: [512, 512, [], \"f059\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"]\n};\nvar faRegistered = {\n prefix: 'far',\n iconName: 'registered',\n icon: [512, 512, [], \"f25d\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z\"]\n};\nvar faSadCry = {\n prefix: 'far',\n iconName: 'sad-cry',\n icon: [496, 512, [], \"f5b3\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm144 386.4V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v151.4C315.5 447 282.8 456 248 456s-67.5-9-96-24.6V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v114.4c-34.6-36-56-84.7-56-138.4 0-110.3 89.7-200 200-200s200 89.7 200 200c0 53.7-21.4 102.5-56 138.4zM205.8 234.5c4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.3 7.9 4.8 13.7 1.6zM344 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.5 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm-96 92c-30.9 0-56 28.7-56 64s25.1 64 56 64 56-28.7 56-64-25.1-64-56-64z\"]\n};\nvar faSadTear = {\n prefix: 'far',\n iconName: 'sad-tear',\n icon: [496, 512, [], \"f5b4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm8-152c-13.2 0-24 10.8-24 24s10.8 24 24 24c23.8 0 46.3 10.5 61.6 28.8 8.1 9.8 23.2 11.9 33.8 3.1 10.2-8.5 11.6-23.6 3.1-33.8C330 320.8 294.1 304 256 304zm-88-64c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-165.6 98.8C151 290.1 126 325.4 126 342.9c0 22.7 18.8 41.1 42 41.1s42-18.4 42-41.1c0-17.5-25-52.8-36.4-68.1-2.8-3.7-8.4-3.7-11.2 0z\"]\n};\nvar faSave = {\n prefix: 'far',\n iconName: 'save',\n icon: [448, 512, [], \"f0c7\", \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z\"]\n};\nvar faShareSquare = {\n prefix: 'far',\n iconName: 'share-square',\n icon: [576, 512, [], \"f14d\", \"M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z\"]\n};\nvar faSmile = {\n prefix: 'far',\n iconName: 'smile',\n icon: [496, 512, [], \"f118\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z\"]\n};\nvar faSmileBeam = {\n prefix: 'far',\n iconName: 'smile-beam',\n icon: [496, 512, [], \"f5b8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm84-143.4c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.6-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.2-8.4-25.3-7.1-33.8 3.1zM136.5 211c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.4 1.1 7.4-.5 9.3-3.7l9.5-17zM328 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4z\"]\n};\nvar faSmileWink = {\n prefix: 'far',\n iconName: 'smile-wink',\n icon: [496, 512, [], \"f4da\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm117.8-146.4c-10.2-8.5-25.3-7.1-33.8 3.1-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-60c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1z\"]\n};\nvar faSnowflake = {\n prefix: 'far',\n iconName: 'snowflake',\n icon: [448, 512, [], \"f2dc\", \"M440.1 355.2l-39.2-23 34.1-9.3c8.4-2.3 13.4-11.1 11.1-19.6l-4.1-15.5c-2.2-8.5-10.9-13.6-19.3-11.3L343 298.2 271.2 256l71.9-42.2 79.7 21.7c8.4 2.3 17-2.8 19.3-11.3l4.1-15.5c2.2-8.5-2.7-17.3-11.1-19.6l-34.1-9.3 39.2-23c7.5-4.4 10.1-14.2 5.8-21.9l-7.9-13.9c-4.3-7.7-14-10.3-21.5-5.9l-39.2 23 9.1-34.7c2.2-8.5-2.7-17.3-11.1-19.6l-15.2-4.1c-8.4-2.3-17 2.8-19.3 11.3l-21.3 81-71.9 42.2v-84.5L306 70.4c6.1-6.2 6.1-16.4 0-22.6l-11.1-11.3c-6.1-6.2-16.1-6.2-22.2 0l-24.9 25.4V16c0-8.8-7-16-15.7-16h-15.7c-8.7 0-15.7 7.2-15.7 16v46.1l-24.9-25.4c-6.1-6.2-16.1-6.2-22.2 0L142.1 48c-6.1 6.2-6.1 16.4 0 22.6l58.3 59.3v84.5l-71.9-42.2-21.3-81c-2.2-8.5-10.9-13.6-19.3-11.3L72.7 84c-8.4 2.3-13.4 11.1-11.1 19.6l9.1 34.7-39.2-23c-7.5-4.4-17.1-1.8-21.5 5.9l-7.9 13.9c-4.3 7.7-1.8 17.4 5.8 21.9l39.2 23-34.1 9.1c-8.4 2.3-13.4 11.1-11.1 19.6L6 224.2c2.2 8.5 10.9 13.6 19.3 11.3l79.7-21.7 71.9 42.2-71.9 42.2-79.7-21.7c-8.4-2.3-17 2.8-19.3 11.3l-4.1 15.5c-2.2 8.5 2.7 17.3 11.1 19.6l34.1 9.3-39.2 23c-7.5 4.4-10.1 14.2-5.8 21.9L10 391c4.3 7.7 14 10.3 21.5 5.9l39.2-23-9.1 34.7c-2.2 8.5 2.7 17.3 11.1 19.6l15.2 4.1c8.4 2.3 17-2.8 19.3-11.3l21.3-81 71.9-42.2v84.5l-58.3 59.3c-6.1 6.2-6.1 16.4 0 22.6l11.1 11.3c6.1 6.2 16.1 6.2 22.2 0l24.9-25.4V496c0 8.8 7 16 15.7 16h15.7c8.7 0 15.7-7.2 15.7-16v-46.1l24.9 25.4c6.1 6.2 16.1 6.2 22.2 0l11.1-11.3c6.1-6.2 6.1-16.4 0-22.6l-58.3-59.3v-84.5l71.9 42.2 21.3 81c2.2 8.5 10.9 13.6 19.3 11.3L375 428c8.4-2.3 13.4-11.1 11.1-19.6l-9.1-34.7 39.2 23c7.5 4.4 17.1 1.8 21.5-5.9l7.9-13.9c4.6-7.5 2.1-17.3-5.5-21.7z\"]\n};\nvar faSquare = {\n prefix: 'far',\n iconName: 'square',\n icon: [448, 512, [], \"f0c8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z\"]\n};\nvar faStar = {\n prefix: 'far',\n iconName: 'star',\n icon: [576, 512, [], \"f005\", \"M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z\"]\n};\nvar faStarHalf = {\n prefix: 'far',\n iconName: 'star-half',\n icon: [576, 512, [], \"f089\", \"M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z\"]\n};\nvar faStickyNote = {\n prefix: 'far',\n iconName: 'sticky-note',\n icon: [448, 512, [], \"f249\", \"M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z\"]\n};\nvar faStopCircle = {\n prefix: 'far',\n iconName: 'stop-circle',\n icon: [512, 512, [], \"f28d\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z\"]\n};\nvar faSun = {\n prefix: 'far',\n iconName: 'sun',\n icon: [512, 512, [], \"f185\", \"M494.2 221.9l-59.8-40.5 13.7-71c2.6-13.2-1.6-26.8-11.1-36.4-9.6-9.5-23.2-13.7-36.2-11.1l-70.9 13.7-40.4-59.9c-15.1-22.3-51.9-22.3-67 0l-40.4 59.9-70.8-13.7C98 60.4 84.5 64.5 75 74.1c-9.5 9.6-13.7 23.1-11.1 36.3l13.7 71-59.8 40.5C6.6 229.5 0 242 0 255.5s6.7 26 17.8 33.5l59.8 40.5-13.7 71c-2.6 13.2 1.6 26.8 11.1 36.3 9.5 9.5 22.9 13.7 36.3 11.1l70.8-13.7 40.4 59.9C230 505.3 242.6 512 256 512s26-6.7 33.5-17.8l40.4-59.9 70.9 13.7c13.4 2.7 26.8-1.6 36.3-11.1 9.5-9.5 13.6-23.1 11.1-36.3l-13.7-71 59.8-40.5c11.1-7.5 17.8-20.1 17.8-33.5-.1-13.6-6.7-26.1-17.9-33.7zm-112.9 85.6l17.6 91.2-91-17.6L256 458l-51.9-77-90.9 17.6 17.6-91.2-76.8-52 76.8-52-17.6-91.2 91 17.6L256 53l51.9 76.9 91-17.6-17.6 91.1 76.8 52-76.8 52.1zM256 152c-57.3 0-104 46.7-104 104s46.7 104 104 104 104-46.7 104-104-46.7-104-104-104zm0 160c-30.9 0-56-25.1-56-56s25.1-56 56-56 56 25.1 56 56-25.1 56-56 56z\"]\n};\nvar faSurprise = {\n prefix: 'far',\n iconName: 'surprise',\n icon: [496, 512, [], \"f5c2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-176c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm-48-72c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faThumbsDown = {\n prefix: 'far',\n iconName: 'thumbs-down',\n icon: [512, 512, [], \"f165\", \"M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z\"]\n};\nvar faThumbsUp = {\n prefix: 'far',\n iconName: 'thumbs-up',\n icon: [512, 512, [], \"f164\", \"M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"]\n};\nvar faTimesCircle = {\n prefix: 'far',\n iconName: 'times-circle',\n icon: [512, 512, [], \"f057\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z\"]\n};\nvar faTired = {\n prefix: 'far',\n iconName: 'tired',\n icon: [496, 512, [], \"f5c8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm129.1-303.8c-3.8-4.4-10.3-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.8 1.6 15.3-2.5 3.8-4.5 3.9-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zM220 208c0-4.2-2.2-8.1-5.8-10.3l-80-48c-5-3-11.5-1.9-15.3 2.5-3.8 4.5-3.9 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.5 4.1 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3zm28 64c-45.4 0-100.9 38.3-107.8 93.3-1.5 11.8 6.9 21.6 15.5 17.9C178.4 373.5 212 368 248 368s69.6 5.5 92.3 15.2c8.5 3.7 17-6 15.5-17.9-6.9-55-62.4-93.3-107.8-93.3z\"]\n};\nvar faTrashAlt = {\n prefix: 'far',\n iconName: 'trash-alt',\n icon: [448, 512, [], \"f2ed\", \"M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z\"]\n};\nvar faUser = {\n prefix: 'far',\n iconName: 'user',\n icon: [448, 512, [], \"f007\", \"M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z\"]\n};\nvar faUserCircle = {\n prefix: 'far',\n iconName: 'user-circle',\n icon: [496, 512, [], \"f2bd\", \"M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z\"]\n};\nvar faWindowClose = {\n prefix: 'far',\n iconName: 'window-close',\n icon: [512, 512, [], \"f410\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z\"]\n};\nvar faWindowMaximize = {\n prefix: 'far',\n iconName: 'window-maximize',\n icon: [512, 512, [], \"f2d0\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"]\n};\nvar faWindowMinimize = {\n prefix: 'far',\n iconName: 'window-minimize',\n icon: [512, 512, [], \"f2d1\", \"M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nvar faWindowRestore = {\n prefix: 'far',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z\"]\n};\nvar _iconsCache = {\n faAddressBook: faAddressBook,\n faAddressCard: faAddressCard,\n faAngry: faAngry,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faBell: faBell,\n faBellSlash: faBellSlash,\n faBookmark: faBookmark,\n faBuilding: faBuilding,\n faCalendar: faCalendar,\n faCalendarAlt: faCalendarAlt,\n faCalendarCheck: faCalendarCheck,\n faCalendarMinus: faCalendarMinus,\n faCalendarPlus: faCalendarPlus,\n faCalendarTimes: faCalendarTimes,\n faCaretSquareDown: faCaretSquareDown,\n faCaretSquareLeft: faCaretSquareLeft,\n faCaretSquareRight: faCaretSquareRight,\n faCaretSquareUp: faCaretSquareUp,\n faChartBar: faChartBar,\n faCheckCircle: faCheckCircle,\n faCheckSquare: faCheckSquare,\n faCircle: faCircle,\n faClipboard: faClipboard,\n faClock: faClock,\n faClone: faClone,\n faClosedCaptioning: faClosedCaptioning,\n faComment: faComment,\n faCommentAlt: faCommentAlt,\n faCommentDots: faCommentDots,\n faComments: faComments,\n faCompass: faCompass,\n faCopy: faCopy,\n faCopyright: faCopyright,\n faCreditCard: faCreditCard,\n faDizzy: faDizzy,\n faDotCircle: faDotCircle,\n faEdit: faEdit,\n faEnvelope: faEnvelope,\n faEnvelopeOpen: faEnvelopeOpen,\n faEye: faEye,\n faEyeSlash: faEyeSlash,\n faFile: faFile,\n faFileAlt: faFileAlt,\n faFileArchive: faFileArchive,\n faFileAudio: faFileAudio,\n faFileCode: faFileCode,\n faFileExcel: faFileExcel,\n faFileImage: faFileImage,\n faFilePdf: faFilePdf,\n faFilePowerpoint: faFilePowerpoint,\n faFileVideo: faFileVideo,\n faFileWord: faFileWord,\n faFlag: faFlag,\n faFlushed: faFlushed,\n faFolder: faFolder,\n faFolderOpen: faFolderOpen,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFrown: faFrown,\n faFrownOpen: faFrownOpen,\n faFutbol: faFutbol,\n faGem: faGem,\n faGrimace: faGrimace,\n faGrin: faGrin,\n faGrinAlt: faGrinAlt,\n faGrinBeam: faGrinBeam,\n faGrinBeamSweat: faGrinBeamSweat,\n faGrinHearts: faGrinHearts,\n faGrinSquint: faGrinSquint,\n faGrinSquintTears: faGrinSquintTears,\n faGrinStars: faGrinStars,\n faGrinTears: faGrinTears,\n faGrinTongue: faGrinTongue,\n faGrinTongueSquint: faGrinTongueSquint,\n faGrinTongueWink: faGrinTongueWink,\n faGrinWink: faGrinWink,\n faHandLizard: faHandLizard,\n faHandPaper: faHandPaper,\n faHandPeace: faHandPeace,\n faHandPointDown: faHandPointDown,\n faHandPointLeft: faHandPointLeft,\n faHandPointRight: faHandPointRight,\n faHandPointUp: faHandPointUp,\n faHandPointer: faHandPointer,\n faHandRock: faHandRock,\n faHandScissors: faHandScissors,\n faHandSpock: faHandSpock,\n faHandshake: faHandshake,\n faHdd: faHdd,\n faHeart: faHeart,\n faHospital: faHospital,\n faHourglass: faHourglass,\n faIdBadge: faIdBadge,\n faIdCard: faIdCard,\n faImage: faImage,\n faImages: faImages,\n faKeyboard: faKeyboard,\n faKiss: faKiss,\n faKissBeam: faKissBeam,\n faKissWinkHeart: faKissWinkHeart,\n faLaugh: faLaugh,\n faLaughBeam: faLaughBeam,\n faLaughSquint: faLaughSquint,\n faLaughWink: faLaughWink,\n faLemon: faLemon,\n faLifeRing: faLifeRing,\n faLightbulb: faLightbulb,\n faListAlt: faListAlt,\n faMap: faMap,\n faMeh: faMeh,\n faMehBlank: faMehBlank,\n faMehRollingEyes: faMehRollingEyes,\n faMinusSquare: faMinusSquare,\n faMoneyBillAlt: faMoneyBillAlt,\n faMoon: faMoon,\n faNewspaper: faNewspaper,\n faObjectGroup: faObjectGroup,\n faObjectUngroup: faObjectUngroup,\n faPaperPlane: faPaperPlane,\n faPauseCircle: faPauseCircle,\n faPlayCircle: faPlayCircle,\n faPlusSquare: faPlusSquare,\n faQuestionCircle: faQuestionCircle,\n faRegistered: faRegistered,\n faSadCry: faSadCry,\n faSadTear: faSadTear,\n faSave: faSave,\n faShareSquare: faShareSquare,\n faSmile: faSmile,\n faSmileBeam: faSmileBeam,\n faSmileWink: faSmileWink,\n faSnowflake: faSnowflake,\n faSquare: faSquare,\n faStar: faStar,\n faStarHalf: faStarHalf,\n faStickyNote: faStickyNote,\n faStopCircle: faStopCircle,\n faSun: faSun,\n faSurprise: faSurprise,\n faThumbsDown: faThumbsDown,\n faThumbsUp: faThumbsUp,\n faTimesCircle: faTimesCircle,\n faTired: faTired,\n faTrashAlt: faTrashAlt,\n faUser: faUser,\n faUserCircle: faUserCircle,\n faWindowClose: faWindowClose,\n faWindowMaximize: faWindowMaximize,\n faWindowMinimize: faWindowMinimize,\n faWindowRestore: faWindowRestore\n};\n\nexport { _iconsCache as far, prefix, faAddressBook, faAddressCard, faAngry, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faBell, faBellSlash, faBookmark, faBuilding, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faChartBar, faCheckCircle, faCheckSquare, faCircle, faClipboard, faClock, faClone, faClosedCaptioning, faComment, faCommentAlt, faCommentDots, faComments, faCompass, faCopy, faCopyright, faCreditCard, faDizzy, faDotCircle, faEdit, faEnvelope, faEnvelopeOpen, faEye, faEyeSlash, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCode, faFileExcel, faFileImage, faFilePdf, faFilePowerpoint, faFileVideo, faFileWord, faFlag, faFlushed, faFolder, faFolderOpen, faFontAwesomeLogoFull, faFrown, faFrownOpen, faFutbol, faGem, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faHandLizard, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandRock, faHandScissors, faHandSpock, faHandshake, faHdd, faHeart, faHospital, faHourglass, faIdBadge, faIdCard, faImage, faImages, faKeyboard, faKiss, faKissBeam, faKissWinkHeart, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLemon, faLifeRing, faLightbulb, faListAlt, faMap, faMeh, faMehBlank, faMehRollingEyes, faMinusSquare, faMoneyBillAlt, faMoon, faNewspaper, faObjectGroup, faObjectUngroup, faPaperPlane, faPauseCircle, faPlayCircle, faPlusSquare, faQuestionCircle, faRegistered, faSadCry, faSadTear, faSave, faShareSquare, faSmile, faSmileBeam, faSmileWink, faSnowflake, faSquare, faStar, faStarHalf, faStickyNote, faStopCircle, faSun, faSurprise, faThumbsDown, faThumbsUp, faTimesCircle, faTired, faTrashAlt, faUser, faUserCircle, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore };\n","import React, {Component} from 'react'; // eslint-disable-line no-unused-vars\nimport PropTypes from 'prop-types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCopy, faCheckCircle} from '@fortawesome/free-regular-svg-icons';\n\nconst clipboardAPI = navigator.clipboard;\n\nfunction wait(ms) {\n return new Promise(r => setTimeout(r, ms));\n}\n\n/**\n * The Clipboard component copies text to the clipboard\n */\n\nexport default class Clipboard extends React.Component {\n constructor(props) {\n super(props);\n this.copyToClipboard = this.copyToClipboard.bind(this);\n this.copySuccess = this.copySuccess.bind(this);\n this.getTargetText = this.getTargetText.bind(this);\n this.loading = this.loading.bind(this);\n this.stringifyId = this.stringifyId.bind(this);\n this.state = {\n copied: false,\n };\n }\n\n // stringifies object ids used in pattern matching callbacks\n stringifyId(id) {\n if (typeof id !== 'object') {\n return id;\n }\n const stringifyVal = v => (v && v.wild) || JSON.stringify(v);\n const parts = Object.keys(id)\n .sort()\n .map(k => JSON.stringify(k) + ':' + stringifyVal(id[k]));\n return '{' + parts.join(',') + '}';\n }\n\n async copySuccess(content) {\n const showCopiedIcon = 1000;\n await clipboardAPI.writeText(content);\n this.setState({copied: true});\n await wait(showCopiedIcon);\n this.setState({copied: false});\n }\n\n getTargetText() {\n // get the inner text. If none, use the content of the value param\n const id = this.stringifyId(this.props.target_id);\n const target = document.getElementById(id);\n if (!target) {\n throw new Error(\n 'Clipboard copy failed: no element found for target_id ' +\n this.props.target_id\n );\n }\n let content = target.innerText;\n if (!content) {\n content = target.value;\n content = content === undefined ? null : content;\n }\n return content;\n }\n\n async loading() {\n while (this.props.loading_state?.is_loading) {\n await wait(100);\n }\n }\n\n async copyToClipboard() {\n this.props.setProps({\n n_clicks: this.props.n_clicks + 1,\n });\n\n let content;\n if (this.props.target_id) {\n content = this.getTargetText();\n } else {\n await wait(100); // gives time for callback to start\n await this.loading();\n content = this.props.content;\n }\n if (content) {\n this.copySuccess(content);\n }\n }\n\n componentDidMount() {\n if (!clipboardAPI) {\n console.warn('Copy to clipboard not available with this browser'); // eslint-disable-line no-console\n }\n }\n\n render() {\n const {id, title, className, style, loading_state} = this.props;\n const copyIcon = ;\n const copiedIcon = ;\n const btnIcon = this.state.copied ? copiedIcon : copyIcon;\n\n return clipboardAPI ? (\n \n {btnIcon}\n \n ) : null;\n }\n}\n\nClipboard.defaultProps = {\n content: null,\n target_id: null,\n n_clicks: 0,\n};\n\nClipboard.propTypes = {\n /**\n * The ID used to identify this component.\n */\n id: PropTypes.string,\n\n /**\n * The id of target component containing text to copy to the clipboard.\n * The inner text of the `children` prop will be copied to the clipboard. If none, then the text from the\n * `value` prop will be copied.\n */\n target_id: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n /**\n * The text to be copied to the clipboard if the `target_id` is None.\n */\n content: PropTypes.string,\n\n /**\n * The number of times copy button was clicked\n */\n n_clicks: PropTypes.number,\n\n /**\n * The text shown as a tooltip when hovering over the copy icon.\n */\n title: PropTypes.string,\n\n /**\n * The icon's styles\n */\n style: PropTypes.object,\n\n /**\n * The class name of the icon element\n */\n className: PropTypes.string,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n","import PropTypes from 'prop-types';\nimport {Component} from 'react';\n\n/**\n * ConfirmDialog is used to display the browser's native \"confirm\" modal,\n * with an optional message and two buttons (\"OK\" and \"Cancel\").\n * This ConfirmDialog can be used in conjunction with buttons when the user\n * is performing an action that should require an extra step of verification.\n */\nexport default class ConfirmDialog extends Component {\n componentDidUpdate(prevProps) {\n this._update(!prevProps.displayed && this.props.displayed);\n }\n\n componentDidMount() {\n this._update(this.props.displayed);\n }\n\n _update(shouldTriggerDisplay) {\n const {message, setProps, cancel_n_clicks, submit_n_clicks} =\n this.props;\n\n if (shouldTriggerDisplay) {\n new Promise(resolve => resolve(window.confirm(message))).then(\n result => {\n if (result) {\n setProps({\n submit_n_clicks: submit_n_clicks + 1,\n submit_n_clicks_timestamp: Date.now(),\n displayed: false,\n });\n } else {\n setProps({\n cancel_n_clicks: cancel_n_clicks + 1,\n cancel_n_clicks_timestamp: Date.now(),\n displayed: false,\n });\n }\n }\n );\n }\n }\n\n render() {\n return null;\n }\n}\n\nConfirmDialog.defaultProps = {\n submit_n_clicks: 0,\n submit_n_clicks_timestamp: -1,\n cancel_n_clicks: 0,\n cancel_n_clicks_timestamp: -1,\n};\n\nConfirmDialog.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Message to show in the popup.\n */\n message: PropTypes.string,\n /**\n * Number of times the submit button was clicked\n */\n submit_n_clicks: PropTypes.number,\n /**\n * Last time the submit button was clicked.\n */\n submit_n_clicks_timestamp: PropTypes.number,\n /**\n * Number of times the popup was canceled.\n */\n cancel_n_clicks: PropTypes.number,\n /**\n * Last time the cancel button was clicked.\n */\n cancel_n_clicks_timestamp: PropTypes.number,\n /**\n * Set to true to send the ConfirmDialog.\n */\n displayed: PropTypes.bool,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n","import _cloneRegExp from \"./_cloneRegExp.js\";\nimport type from \"../type.js\";\n/**\n * Copies an object.\n *\n * @private\n * @param {*} value The value to be copied\n * @param {Array} refFrom Array containing the source references\n * @param {Array} refTo Array containing the copied source references\n * @param {Boolean} deep Whether or not to perform deep cloning.\n * @return {*} The copied value.\n */\n\nexport default function _clone(value, refFrom, refTo, deep) {\n var copy = function copy(copiedValue) {\n var len = refFrom.length;\n var idx = 0;\n\n while (idx < len) {\n if (value === refFrom[idx]) {\n return refTo[idx];\n }\n\n idx += 1;\n }\n\n refFrom[idx + 1] = value;\n refTo[idx + 1] = copiedValue;\n\n for (var key in value) {\n copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];\n }\n\n return copiedValue;\n };\n\n switch (type(value)) {\n case 'Object':\n return copy({});\n\n case 'Array':\n return copy([]);\n\n case 'Date':\n return new Date(value.valueOf());\n\n case 'RegExp':\n return _cloneRegExp(value);\n\n default:\n return value;\n }\n}","export default function _cloneRegExp(pattern) {\n return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));\n}","import _clone from \"./internal/_clone.js\";\nimport _curry1 from \"./internal/_curry1.js\";\n/**\n * Creates a deep copy of the value which may contain (nested) `Array`s and\n * `Object`s, `Number`s, `String`s, `Boolean`s and `Date`s. `Function`s are\n * assigned by reference rather than copied\n *\n * Dispatches to a `clone` method if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {*} -> {*}\n * @param {*} value The object or array to clone\n * @return {*} A deeply cloned copy of `val`\n * @example\n *\n * const objects = [{}, {}, {}];\n * const objectsClone = R.clone(objects);\n * objects === objectsClone; //=> false\n * objects[0] === objectsClone[0]; //=> false\n */\n\nvar clone =\n/*#__PURE__*/\n_curry1(function clone(value) {\n return value != null && typeof value.clone === 'function' ? value.clone() : _clone(value, [], [], true);\n});\n\nexport default clone;","import {clone} from 'ramda';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ConfirmDialog from './ConfirmDialog.react';\n\n/**\n * A wrapper component that will display a confirmation dialog\n * when its child component has been clicked on.\n *\n * For example:\n * ```\n * dcc.ConfirmDialogProvider(\n * html.Button('click me', id='btn'),\n * message='Danger - Are you sure you want to continue.'\n * id='confirm')\n * ```\n */\nexport default class ConfirmDialogProvider extends React.Component {\n render() {\n const {displayed, id, setProps, children, loading_state} = this.props;\n\n // Will lose the previous onClick of the child\n const wrapClick = child => {\n const props = clone(child.props);\n props._dashprivate_layout.props.onClick = () => {\n setProps({displayed: true});\n };\n\n return React.cloneElement(child, props);\n };\n\n return (\n \n {Array.isArray(children)\n ? children.map(wrapClick)\n : wrapClick(children)}\n \n \n );\n }\n}\n\nConfirmDialogProvider.defaultProps = {\n submit_n_clicks: 0,\n submit_n_clicks_timestamp: -1,\n cancel_n_clicks: 0,\n cancel_n_clicks_timestamp: -1,\n};\n\nConfirmDialogProvider.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Message to show in the popup.\n */\n message: PropTypes.string,\n /**\n * Number of times the submit was clicked\n */\n submit_n_clicks: PropTypes.number,\n /**\n * Last time the submit button was clicked.\n */\n submit_n_clicks_timestamp: PropTypes.number,\n /**\n * Number of times the popup was canceled.\n */\n cancel_n_clicks: PropTypes.number,\n /**\n * Last time the cancel button was clicked.\n */\n cancel_n_clicks_timestamp: PropTypes.number,\n /**\n * Is the modal currently displayed.\n */\n displayed: PropTypes.bool,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n /**\n * The children to hijack clicks from and display the popup.\n */\n children: PropTypes.any,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n};\n","import PropTypes from 'prop-types';\nimport {Component} from 'react';\nimport {toByteArray} from 'base64-js';\nimport {saveAs} from 'file-saver';\n\nconst getValue = (src, fallback, key) =>\n key in src ? src[key] : fallback[key];\n\n/**\n * The Download component opens a download dialog when the data property changes.\n */\nexport default class Download extends Component {\n componentDidUpdate(prevProps) {\n const {data} = this.props;\n // If the data hasn't changed, do nothing.\n if (!data || data === prevProps.data) {\n return;\n }\n // Extract options from data if provided, fallback to props.\n const type = getValue(data, this.props, 'type');\n const base64 = getValue(data, this.props, 'base64');\n // Invoke the download using a Blob.\n const content = base64 ? toByteArray(data.content) : data.content;\n const blob = new Blob([content], {type: type});\n saveAs(blob, data.filename);\n }\n\n render() {\n return null;\n }\n}\n\nDownload.propTypes = {\n /**\n * The ID of this component, used to identify dash components in callbacks.\n */\n id: PropTypes.string,\n\n /**\n * On change, a download is invoked.\n */\n data: PropTypes.exact({\n /**\n * Suggested filename in the download dialogue.\n */\n filename: PropTypes.string.isRequired,\n /**\n * File content.\n */\n content: PropTypes.string.isRequired,\n /**\n * Set to true, when data is base64 encoded.\n */\n base64: PropTypes.bool,\n /**\n * Blob type, usually a MIME-type.\n */\n type: PropTypes.string,\n }),\n\n /**\n * Default value for base64, used when not set as part of the data property.\n */\n base64: PropTypes.bool,\n\n /**\n * Default value for type, used when not set as part of the data property.\n */\n type: PropTypes.string,\n\n /**\n * Dash-supplied function for updating props.\n */\n setProps: PropTypes.func,\n};\n\nDownload.defaultProps = {\n type: 'text/plain',\n base64: false,\n};\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./input.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = function(css, style){\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n };\noptions.setAttributes = function(style) {\n var nonce =\n typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n style.setAttribute(\"nonce\", nonce);\n }\n };\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./input.css\";\n export default content && content.locals ? content.locals : undefined;\n","import {isNil, omit} from 'ramda';\nimport React, {PureComponent} from 'react';\nimport PropTypes from 'prop-types';\nimport isNumeric from 'fast-isnumeric';\nimport './css/input.css';\n\n// eslint-disable-next-line no-implicit-coercion\nconst convert = val => (isNumeric(val) ? +val : NaN);\n\nconst isEquivalent = (v1, v2) => v1 === v2 || (isNaN(v1) && isNaN(v2));\n\n/**\n * A basic HTML input control for entering text, numbers, or passwords.\n *\n * Note that checkbox and radio types are supported through\n * the Checklist and RadioItems component. Dates, times, and file uploads\n * are also supported through separate components.\n */\nexport default class Input extends PureComponent {\n constructor(props) {\n super(props);\n\n this.input = React.createRef();\n\n this.onBlur = this.onBlur.bind(this);\n this.onChange = this.onChange.bind(this);\n this.onEvent = this.onEvent.bind(this);\n this.onKeyPress = this.onKeyPress.bind(this);\n this.setInputValue = this.setInputValue.bind(this);\n this.setPropValue = this.setPropValue.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const {value} = this.input.current;\n const valueAsNumber = convert(value);\n this.setInputValue(\n isNil(valueAsNumber) ? value : valueAsNumber,\n nextProps.value\n );\n if (this.props.type !== 'number') {\n this.setState({value: nextProps.value});\n }\n }\n\n componentDidMount() {\n const {value} = this.input.current;\n const valueAsNumber = convert(value);\n this.setInputValue(\n isNil(valueAsNumber) ? value : valueAsNumber,\n this.props.value\n );\n }\n\n UNSAFE_componentWillMount() {\n if (this.props.type !== 'number') {\n this.setState({value: this.props.value});\n }\n }\n\n render() {\n const valprops =\n this.props.type === 'number' ? {} : {value: this.state.value};\n const {loading_state} = this.props;\n return (\n \n );\n }\n\n setInputValue(base, value) {\n const __value = value;\n base = this.input.current.checkValidity() ? convert(base) : NaN;\n value = convert(value);\n\n if (!isEquivalent(base, value)) {\n this.input.current.value = isNumeric(value) ? value : __value;\n }\n }\n\n setPropValue(base, value) {\n base = convert(base);\n value = this.input.current.checkValidity() ? convert(value) : NaN;\n\n if (!isEquivalent(base, value)) {\n this.props.setProps({value});\n }\n }\n\n onEvent() {\n const {value} = this.input.current;\n const valueAsNumber = convert(value);\n if (this.props.type === 'number') {\n this.setPropValue(\n this.props.value,\n isNil(valueAsNumber) ? value : valueAsNumber\n );\n } else {\n this.props.setProps({value});\n }\n }\n\n onBlur() {\n this.props.setProps({\n n_blur: this.props.n_blur + 1,\n n_blur_timestamp: Date.now(),\n });\n this.input.current.checkValidity();\n return this.props.debounce && this.onEvent();\n }\n\n onKeyPress(e) {\n if (e.key === 'Enter') {\n this.props.setProps({\n n_submit: this.props.n_submit + 1,\n n_submit_timestamp: Date.now(),\n });\n this.input.current.checkValidity();\n }\n return this.props.debounce && e.key === 'Enter' && this.onEvent();\n }\n\n onChange() {\n if (!this.props.debounce) {\n this.onEvent();\n } else if (this.props.type !== 'number') {\n this.setState({value: this.input.current.value});\n }\n }\n}\n\nInput.defaultProps = {\n type: 'text',\n n_blur: 0,\n n_blur_timestamp: -1,\n n_submit: 0,\n n_submit_timestamp: -1,\n debounce: false,\n step: 'any',\n persisted_props: ['value'],\n persistence_type: 'local',\n};\n\nInput.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * The value of the input\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * The input's inline styles\n */\n style: PropTypes.object,\n\n /**\n * The class of the input element\n */\n className: PropTypes.string,\n\n /**\n * If true, changes to input will be sent back to the Dash server only on enter or when losing focus.\n * If it's false, it will sent the value back on every change.\n */\n debounce: PropTypes.bool,\n\n /**\n * The type of control to render.\n */\n type: PropTypes.oneOf([\n // Only allowing the input types with wide browser compatibility\n 'text',\n 'number',\n 'password',\n 'email',\n 'range',\n 'search',\n 'tel',\n 'url',\n 'hidden',\n ]),\n\n /**\n * This attribute indicates whether the value of the control can be automatically completed by the browser.\n */\n autoComplete: PropTypes.string,\n\n /**\n * The element should be automatically focused after the page loaded.\n * autoFocus is an HTML boolean attribute - it is enabled by a boolean or\n * 'autoFocus'. Alternative capitalizations `autofocus` & `AUTOFOCUS`\n * are also acccepted.\n */\n autoFocus: PropTypes.oneOfType([\n PropTypes.oneOf(['autoFocus', 'autofocus', 'AUTOFOCUS']),\n PropTypes.bool,\n ]),\n\n /**\n * If true, the input is disabled and can't be clicked on.\n * disabled is an HTML boolean attribute - it is enabled by a boolean or\n * 'disabled'. Alternative capitalizations `DISABLED`\n */\n disabled: PropTypes.oneOfType([\n PropTypes.oneOf(['disabled', 'DISABLED']),\n PropTypes.bool,\n ]),\n\n /**\n * Provides a hint to the browser as to the type of data that might be\n * entered by the user while editing the element or its contents.\n */\n inputMode: PropTypes.oneOf([\n /**\n * Alphanumeric, non-prose content such as usernames and passwords.\n */\n 'verbatim',\n\n /**\n * Latin-script input in the user's preferred language with typing aids such as text prediction enabled. For human-to-computer communication such as search boxes.\n */\n 'latin',\n\n /**\n * As latin, but for human names.\n */\n 'latin-name',\n\n /**\n * As latin, but with more aggressive typing aids. For human-to-human communication such as instant messaging or email.\n */\n 'latin-prose',\n\n /**\n * As latin-prose, but for the user's secondary languages.\n */\n 'full-width-latin',\n\n /**\n * Kana or romaji input, typically hiragana input, using full-width characters, with support for converting to kanji. Intended for Japanese text input.\n */\n 'kana',\n\n /**\n * Katakana input, using full-width characters, with support for converting to kanji. Intended for Japanese text input.\n */\n 'katakana',\n\n /**\n * Numeric input, including keys for the digits 0 to 9, the user's preferred thousands separator character, and the character for indicating negative numbers. Intended for numeric codes (e.g. credit card numbers). For actual numbers, prefer using type=\"number\"\n */\n 'numeric',\n\n /**\n * Telephone input, including asterisk and pound key. Use type=\"tel\" if possible instead.\n */\n 'tel',\n\n /**\n * Email input. Use type=\"email\" if possible instead.\n */\n 'email',\n\n /**\n * URL input. Use type=\"url\" if possible instead.\n */\n 'url',\n ]),\n\n /**\n * Identifies a list of pre-defined options to suggest to the user.\n * The value must be the id of a element in the same document.\n * The browser displays only options that are valid values for this\n * input element.\n * This attribute is ignored when the type attribute's value is\n * hidden, checkbox, radio, file, or a button type.\n */\n list: PropTypes.string,\n\n /**\n * The maximum (numeric or date-time) value for this item, which must not be less than its minimum (min attribute) value.\n */\n max: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * If the value of the type attribute is text, email, search, password, tel, or url, this attribute specifies the maximum number of characters (in UTF-16 code units) that the user can enter. For other control types, it is ignored. It can exceed the value of the size attribute. If it is not specified, the user can enter an unlimited number of characters. Specifying a negative number results in the default behavior (i.e. the user can enter an unlimited number of characters). The constraint is evaluated only when the value of the attribute has been changed.\n */\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * The minimum (numeric or date-time) value for this item, which must not be greater than its maximum (max attribute) value.\n */\n min: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * If the value of the type attribute is text, email, search, password, tel, or url, this attribute specifies the minimum number of characters (in Unicode code points) that the user can enter. For other control types, it is ignored.\n */\n minLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * This Boolean attribute indicates whether the user can enter more than one value. This attribute applies when the type attribute is set to email or file, otherwise it is ignored.\n */\n multiple: PropTypes.bool,\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n name: PropTypes.string,\n\n /**\n * A regular expression that the control's value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value of the type attribute is text, search, tel, url, email, or password, otherwise it is ignored. The regular expression language is the same as JavaScript RegExp algorithm, with the 'u' parameter that makes it treat the pattern as a sequence of unicode code points. The pattern is not surrounded by forward slashes.\n */\n pattern: PropTypes.string,\n\n /**\n * A hint to the user of what can be entered in the control . The placeholder text must not contain carriage returns or line-feeds. Note: Do not use the placeholder attribute instead of a
\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nGraphSpinner.propTypes = {\n status: PropTypes.object,\n color: PropTypes.string,\n className: PropTypes.string,\n fullscreen: PropTypes.bool,\n style: PropTypes.object,\n debug: PropTypes.bool,\n};\n\nexport default GraphSpinner;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst DefaultSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}) => {\n let debugTitle;\n if (debug) {\n debugTitle = (\n

\n Loading {status.component_name}\n 's {status.prop_name}\n

\n );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nDefaultSpinner.propTypes = {\n status: PropTypes.object,\n color: PropTypes.string,\n className: PropTypes.string,\n fullscreen: PropTypes.bool,\n style: PropTypes.object,\n debug: PropTypes.bool,\n};\n\nexport default DefaultSpinner;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport changeColor from 'color';\n\nconst CubeSpinner = ({status, color, fullscreen, debug, className, style}) => {\n let debugTitle;\n if (debug) {\n debugTitle = (\n

\n Loading {status.component_name}\n 's {status.prop_name}\n

\n );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n /* eslint-disable no-magic-numbers */\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nCubeSpinner.propTypes = {\n status: PropTypes.object,\n color: PropTypes.string,\n className: PropTypes.string,\n fullscreen: PropTypes.bool,\n style: PropTypes.object,\n debug: PropTypes.bool,\n};\n\nexport default CubeSpinner;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst CircleSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}) => {\n let debugTitle;\n if (debug) {\n debugTitle = (\n

\n Loading {status.component_name}\n 's {status.prop_name}\n

\n );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nCircleSpinner.propTypes = {\n status: PropTypes.object,\n color: PropTypes.string,\n className: PropTypes.string,\n fullscreen: PropTypes.bool,\n style: PropTypes.object,\n debug: PropTypes.bool,\n};\n\nexport default CircleSpinner;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst DotSpinner = ({status, color, fullscreen, debug, className, style}) => {\n let debugTitle;\n if (debug) {\n debugTitle = (\n

\n Loading {status.component_name}\n 's {status.prop_name}\n

\n );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nDotSpinner.propTypes = {\n status: PropTypes.object,\n color: PropTypes.string,\n className: PropTypes.string,\n fullscreen: PropTypes.bool,\n style: PropTypes.object,\n debug: PropTypes.bool,\n};\n\nexport default DotSpinner;\n","import _has from \"./_has.js\"; // Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n\nfunction _objectAssign(target) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n var idx = 1;\n var length = arguments.length;\n\n while (idx < length) {\n var source = arguments[idx];\n\n if (source != null) {\n for (var nextKey in source) {\n if (_has(nextKey, source)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n\n idx += 1;\n }\n\n return output;\n}\n\nexport default typeof Object.assign === 'function' ? Object.assign : _objectAssign;","import _objectAssign from \"./internal/_objectAssign.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeLeft, R.mergeDeepRight, R.mergeWith, R.mergeWithKey\n * @example\n *\n * R.mergeRight({ 'name': 'fred', 'age': 10 }, { 'age': 40 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * const withDefaults = R.mergeRight({x: 0, y: 0});\n * withDefaults({y: 2}); //=> {x: 0, y: 2}\n * @symb R.mergeRight(a, b) = {...a, ...b}\n */\n\nvar mergeRight =\n/*#__PURE__*/\n_curry2(function mergeRight(l, r) {\n return _objectAssign({}, l, r);\n});\n\nexport default mergeRight;","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport GraphSpinner from '../fragments/Loading/spinners/GraphSpinner.jsx';\nimport DefaultSpinner from '../fragments/Loading/spinners/DefaultSpinner.jsx';\nimport CubeSpinner from '../fragments/Loading/spinners/CubeSpinner.jsx';\nimport CircleSpinner from '../fragments/Loading/spinners/CircleSpinner.jsx';\nimport DotSpinner from '../fragments/Loading/spinners/DotSpinner.jsx';\nimport {mergeRight} from 'ramda';\n\nfunction getSpinner(spinnerType) {\n switch (spinnerType) {\n case 'graph':\n return GraphSpinner;\n case 'cube':\n return CubeSpinner;\n case 'circle':\n return CircleSpinner;\n case 'dot':\n return DotSpinner;\n default:\n return DefaultSpinner;\n }\n}\n\nconst hiddenContainer = {visibility: 'hidden', position: 'relative'};\n\nconst coveringSpinner = {\n visibility: 'visible',\n position: 'absolute',\n top: '0',\n height: '100%',\n width: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n};\n\n/**\n * A Loading component that wraps any other component and displays a spinner until the wrapped component has rendered.\n */\nexport default class Loading extends Component {\n render() {\n const {\n loading_state,\n color,\n className,\n style,\n parent_className,\n parent_style,\n fullscreen,\n debug,\n type: spinnerType,\n } = this.props;\n\n const isLoading = loading_state && loading_state.is_loading;\n const Spinner = isLoading && getSpinner(spinnerType);\n\n return (\n \n {this.props.children}\n
\n {isLoading && (\n \n )}\n
\n
\n );\n }\n}\n\nLoading._dashprivate_isLoadingComponent = true;\n\nLoading.defaultProps = {\n type: 'default',\n color: '#119DFF',\n};\n\nLoading.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Array that holds components to render\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n\n /**\n * Property that determines which spinner to show\n * one of 'graph', 'cube', 'circle', 'dot', or 'default'.\n */\n type: PropTypes.oneOf(['graph', 'cube', 'circle', 'dot', 'default']),\n\n /**\n * Boolean that makes the spinner display full-screen\n */\n fullscreen: PropTypes.bool,\n\n /**\n * If true, the spinner will display the component_name and prop_name\n * while loading\n */\n debug: PropTypes.bool,\n\n /**\n * Additional CSS class for the spinner root DOM node\n */\n className: PropTypes.string,\n\n /**\n * Additional CSS class for the outermost dcc.Loading parent div DOM node\n */\n parent_className: PropTypes.string,\n\n /**\n * Additional CSS styling for the spinner root DOM node\n */\n style: PropTypes.object,\n\n /**\n * Additional CSS styling for the outermost dcc.Loading parent div DOM node\n */\n parent_style: PropTypes.object,\n\n /**\n * Primary colour used for the loading spinners\n */\n color: PropTypes.string,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n};\n","import {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {type} from 'ramda';\n\nimport {History} from '@plotly/dash-component-plugins';\n\n/**\n * Update and track the current window.location object through the window.history state.\n * Use in conjunction with the `dash_core_components.Link` component to make apps with multiple pages.\n */\nexport default class Location extends Component {\n constructor(props) {\n super(props);\n this.updateLocation = this.updateLocation.bind(this);\n this.onLocationChange = this.onLocationChange.bind(this);\n }\n\n updateLocation(props) {\n const {hash, href, pathname, refresh, search, setProps} = props;\n\n // Keep track of props relating to window.location that may need to be updated via setProps\n const propsToSet = {};\n\n /**\n * Check if the field exists in props. If the prop with \"fieldName\" is not defined,\n * then it was not set by the user and needs to be equal to the value in window.location.\n * This only happens on page load (since props will no longer be undefined after componentDidMount).\n *\n * @param {string} fieldName\n * The name of the prop in window.location and in the component's prop\n *\n * @returns {boolean}\n * Returns true if the prop with fieldName is different and the window state needs to be updated\n */\n const checkExistsUpdateWindowLocation = fieldName => {\n const propVal = props[fieldName];\n\n if (\n (type(propVal) === 'Undefined' || propVal === null) &&\n type(window.location[fieldName]) !== 'Undefined'\n ) {\n // propVal is undefined or null, but window.location has this fieldName defined\n propsToSet[fieldName] = window.location[fieldName];\n } else if (propVal !== window.location[fieldName]) {\n // Prop has changed?\n if (refresh) {\n // Refresh the page?\n window.location[fieldName] = propVal;\n } else if (this.props[fieldName] !== propVal) {\n // If this prop has changed, need to setProps\n propsToSet[fieldName] = propVal;\n // This (`${fieldName}`: propVal) needs to be pushed in the window.history\n return true;\n }\n }\n // This (`${fieldName}`: propVal) DOES NOT need to be pushed in the window.history\n return false;\n };\n\n // Check if the prop value needs to be updated (note that this mutates propsToSet)\n const pathnameUpdated = checkExistsUpdateWindowLocation('pathname');\n const hrefUpdated = checkExistsUpdateWindowLocation('href');\n const hashUpdated = checkExistsUpdateWindowLocation('hash');\n const searchUpdated = checkExistsUpdateWindowLocation('search');\n\n // propsToSet has been updated -- batch update to Dash\n if (Object.keys(propsToSet).length > 0) {\n setProps(propsToSet);\n }\n\n // Special case -- overrides everything!\n if (hrefUpdated) {\n window.history.pushState({}, '', href);\n } else if (pathnameUpdated || hashUpdated || searchUpdated) {\n // Otherwise, we can mash everything together\n const searchVal = type(search) !== 'Undefined' ? search : '';\n const hashVal = type(hash) !== 'Undefined' ? hash : '';\n window.history.pushState(\n {},\n '',\n `${pathname}${searchVal}${hashVal}`\n );\n }\n }\n\n onLocationChange() {\n const {setProps} = this.props;\n const propsToChange = {};\n\n if (this.props.pathname !== window.location.pathname) {\n propsToChange.pathname = window.location.pathname;\n }\n if (this.props.href !== window.location.href) {\n propsToChange.href = window.location.href;\n }\n if (this.props.hash !== window.location.hash) {\n propsToChange.hash = window.location.hash;\n }\n if (this.props.search !== window.location.search) {\n propsToChange.search = window.location.search;\n }\n\n setProps(propsToChange);\n\n History.dispatchChangeEvent();\n }\n\n componentDidMount() {\n window.onpopstate = this.onLocationChange;\n\n window.addEventListener(\n '_dashprivate_pushstate',\n this.onLocationChange\n );\n this.updateLocation(this.props);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateLocation(nextProps);\n }\n\n render() {\n return null;\n }\n}\n\nLocation.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string.isRequired,\n\n /** pathname in window.location - e.g., \"/my/full/pathname\" */\n pathname: PropTypes.string,\n /** search in window.location - e.g., \"?myargument=1\" */\n search: PropTypes.string,\n /** hash in window.location - e.g., \"#myhash\" */\n hash: PropTypes.string,\n /** href in window.location - e.g., \"/my/full/pathname?myargument=1#myhash\" */\n href: PropTypes.string,\n\n /** Refresh the page when the location is updated? */\n refresh: PropTypes.bool,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n\nLocation.defaultProps = {\n refresh: true,\n};\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./logout.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = function(css, style){\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n };\noptions.setAttributes = function(style) {\n var nonce =\n typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n style.setAttribute(\"nonce\", nonce);\n }\n };\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./logout.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './css/logout.css';\n\n/**\n * Logout button to submit a form post request to the `logout_url` prop.\n * Usage is intended for dash-deployment-server authentication.\n *\n * DDS usage:\n *\n * `dcc.LogoutButton(logout_url=os.getenv('DASH_LOGOUT_URL'))`\n *\n * Custom usage:\n *\n * - Implement a login mechanism.\n * - Create a flask route with a post method handler.\n * `@app.server.route('/logout', methods=['POST'])`\n * - The logout route should perform what's necessary for the user to logout.\n * - If you store the session in a cookie, clear the cookie:\n * `rep = flask.Response(); rep.set_cookie('session', '', expires=0)`\n *\n * - Create a logout button component and assign it the logout_url\n * `dcc.LogoutButton(logout_url='/logout')`\n *\n * See https://dash.plotly.com/dash-core-components/logout_button\n * for more documentation and examples.\n */\nexport default class LogoutButton extends React.Component {\n render() {\n const {id, logout_url, label, className, style, method, loading_state} =\n this.props;\n\n let url, submitMethod;\n if (!logout_url) {\n url =\n logout_url ||\n 'https://dash.plotly.com/dash-core-components/logout_button';\n submitMethod = 'get';\n } else {\n url = logout_url;\n submitMethod = method;\n }\n\n return (\n \n \n {label}\n \n \n );\n }\n}\n\nLogoutButton.defaultProps = {\n label: 'Logout',\n method: 'post',\n};\n\nLogoutButton.propTypes = {\n /**\n * Id of the button.\n */\n id: PropTypes.string,\n\n /**\n * Text of the button\n */\n label: PropTypes.string,\n /**\n * Url to submit a post logout request.\n */\n logout_url: PropTypes.string,\n /**\n * Style of the button\n */\n style: PropTypes.object,\n /**\n * Http method to submit the logout form.\n */\n method: PropTypes.string,\n /**\n * CSS class for the button.\n */\n className: PropTypes.string,\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n};\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./react-select@1.0.0-rc.3.min.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = function(css, style){\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n };\noptions.setAttributes = function(style) {\n var nonce =\n typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n style.setAttribute(\"nonce\", nonce);\n }\n };\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./react-select@1.0.0-rc.3.min.css\";\n export default content && content.locals ? content.locals : undefined;\n","import PropTypes from 'prop-types';\nimport React, {Component} from 'react';\nimport './css/react-select@1.0.0-rc.3.min.css';\nimport {sanitizeOptions} from '../utils/optionTypes';\n\n/**\n * RadioItems is a component that encapsulates several radio item inputs.\n * The values and labels of the RadioItems is specified in the `options`\n * property and the seleced item is specified with the `value` property.\n * Each radio item is rendered as an input with a surrounding label.\n */\n\nexport default class RadioItems extends Component {\n render() {\n const {\n id,\n className,\n style,\n inputClassName,\n inputStyle,\n labelClassName,\n labelStyle,\n options,\n setProps,\n loading_state,\n value,\n inline,\n } = this.props;\n\n let ids = {};\n if (id) {\n ids = {id, key: id};\n }\n return (\n \n {sanitizeOptions(options).map(option => (\n \n {\n setProps({value: option.value});\n }}\n />\n {option.label}\n \n ))}\n
\n );\n }\n}\n\nRadioItems.propTypes = {\n /**\n * An array of options, or inline dictionary of options\n */\n options: PropTypes.oneOfType([\n /**\n * Array of options where the label and the value are the same thing - [string|number|bool]\n */\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ])\n ),\n /**\n * Simpler `options` representation in dictionary format. The order is not guaranteed.\n * {`value1`: `label1`, `value2`: `label2`, ... }\n * which is equal to\n * [{label: `label1`, value: `value1`}, {label: `label2`, value: `value2`}, ...]\n */\n PropTypes.object,\n /**\n * An array of options {label: [string|number], value: [string|number]},\n * an optional disabled field can be used for each option\n */\n PropTypes.arrayOf(\n PropTypes.exact({\n /**\n * The option's label\n */\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]).isRequired,\n\n /**\n * The value of the option. This value\n * corresponds to the items specified in the\n * `value` property.\n */\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]).isRequired,\n\n /**\n * If true, this option is disabled and cannot be selected.\n */\n disabled: PropTypes.bool,\n\n /**\n * The HTML 'title' attribute for the option. Allows for\n * information on hover. For more information on this attribute,\n * see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/title\n */\n title: PropTypes.string,\n })\n ),\n ]),\n\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * The currently selected value\n */\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n\n /**\n * The style of the container (div)\n */\n style: PropTypes.object,\n\n /**\n * The class of the container (div)\n */\n className: PropTypes.string,\n\n /**\n * The style of the radio element\n */\n inputStyle: PropTypes.object,\n\n /**\n * The class of the radio element\n */\n inputClassName: PropTypes.string,\n\n /**\n * The style of the
\n );\n};\n\nEnhancedTab.defaultProps = {\n loading_state: {\n is_loading: false,\n component_name: '',\n prop_name: '',\n },\n};\n\n/**\n * A Dash component that lets you render pages with tabs - the Tabs component's children\n * can be dcc.Tab components, which can hold a label that will be displayed as a tab, and can in turn hold\n * children components that will be that tab's content.\n */\nexport default class Tabs extends Component {\n constructor(props) {\n super(props);\n\n this.selectHandler = this.selectHandler.bind(this);\n this.parseChildrenToArray = this.parseChildrenToArray.bind(this);\n this.valueOrDefault = this.valueOrDefault.bind(this);\n\n if (!has('value', this.props)) {\n this.props.setProps({\n value: this.valueOrDefault(),\n });\n }\n }\n\n valueOrDefault() {\n if (has('value', this.props)) {\n return this.props.value;\n }\n const children = this.parseChildrenToArray();\n if (children && children[0].props.children) {\n return children[0].props.children.props.value || 'tab-1';\n }\n return 'tab-1';\n }\n\n parseChildrenToArray() {\n if (this.props.children && !is(Array, this.props.children)) {\n // if dcc.Tabs.children contains just one single element, it gets passed as an object\n // instead of an array - so we put in in a array ourselves!\n return [this.props.children];\n }\n return this.props.children;\n }\n\n selectHandler(value) {\n this.props.setProps({value: value});\n }\n\n render() {\n let EnhancedTabs;\n let selectedTab;\n\n if (this.props.children) {\n const children = this.parseChildrenToArray();\n\n const amountOfTabs = children.length;\n\n EnhancedTabs = children.map((child, index) => {\n // TODO: handle components that are not dcc.Tab components (throw error)\n // enhance Tab components coming from Dash (as dcc.Tab) with methods needed for handling logic\n let childProps;\n\n if (\n // disabled is a defaultProp (so it's always set)\n // meaning that if it's not set on child.props, the actual\n // props we want are lying a bit deeper - which means they\n // are coming from Dash\n isNil(child.props.disabled) &&\n child.props._dashprivate_layout &&\n child.props._dashprivate_layout.props\n ) {\n // props are coming from Dash\n childProps = child.props._dashprivate_layout.props;\n } else {\n // else props are coming from React (Demo.react.js, or Tabs.test.js)\n childProps = child.props;\n }\n\n if (!childProps.value) {\n childProps = {...childProps, value: `tab-${index + 1}`};\n }\n\n // check if this child/Tab is currently selected\n if (childProps.value === this.valueOrDefault()) {\n selectedTab = child;\n }\n\n return (\n \n );\n });\n }\n\n const selectedTabContent = !isNil(selectedTab) ? selectedTab : '';\n\n const tabContainerClass = this.props.vertical\n ? 'tab-container tab-container--vert'\n : 'tab-container';\n\n const tabContentClass = this.props.vertical\n ? 'tab-content tab-content--vert'\n : 'tab-content';\n\n const tabParentClass = this.props.vertical\n ? 'tab-parent tab-parent--vert'\n : 'tab-parent';\n\n return (\n \n \n {EnhancedTabs}\n
\n \n {selectedTabContent || ''}\n
\n \n
\n );\n }\n}\n\nTabs.defaultProps = {\n mobile_breakpoint: 800,\n colors: {\n border: '#d6d6d6',\n primary: '#1975FA',\n background: '#f9f9f9',\n },\n vertical: false,\n persisted_props: ['value'],\n persistence_type: 'local',\n};\n\nTabs.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * The value of the currently selected Tab\n */\n value: PropTypes.string,\n\n /**\n * Appends a class to the Tabs container holding the individual Tab components.\n */\n className: PropTypes.string,\n\n /**\n * Appends a class to the Tab content container holding the children of the Tab that is selected.\n */\n content_className: PropTypes.string,\n\n /**\n * Appends a class to the top-level parent container holding both the Tabs container and the content container.\n */\n parent_className: PropTypes.string,\n\n /**\n * Appends (inline) styles to the Tabs container holding the individual Tab components.\n */\n style: PropTypes.object,\n\n /**\n * Appends (inline) styles to the top-level parent container holding both the Tabs container and the content container.\n */\n parent_style: PropTypes.object,\n\n /**\n * Appends (inline) styles to the tab content container holding the children of the Tab that is selected.\n */\n content_style: PropTypes.object,\n\n /**\n * Renders the tabs vertically (on the side)\n */\n vertical: PropTypes.bool,\n\n /**\n * Breakpoint at which tabs are rendered full width (can be 0 if you don't want full width tabs on mobile)\n */\n mobile_breakpoint: PropTypes.number,\n\n /**\n * Array that holds Tab components\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n\n /**\n * Holds the colors used by the Tabs and Tab components. If you set these, you should specify colors for all properties, so:\n * colors: {\n * border: '#d6d6d6',\n * primary: '#1975FA',\n * background: '#f9f9f9'\n * }\n */\n colors: PropTypes.exact({\n border: PropTypes.string,\n primary: PropTypes.string,\n background: PropTypes.string,\n }),\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n\n /**\n * Used to allow user interactions in this component to be persisted when\n * the component - or the page - is refreshed. If `persisted` is truthy and\n * hasn't changed from its previous value, a `value` that the user has\n * changed while using the app will keep that change, as long as\n * the new `value` also matches what was given originally.\n * Used in conjunction with `persistence_type`.\n */\n persistence: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.number,\n ]),\n\n /**\n * Properties whose user interactions will persist after refreshing the\n * component or the page. Since only `value` is allowed this prop can\n * normally be ignored.\n */\n persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['value'])),\n\n /**\n * Where persisted user changes will be stored:\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n persistence_type: PropTypes.oneOf(['local', 'session', 'memory']),\n};\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {omit} from 'ramda';\n\n/**\n * A basic HTML textarea for entering multiline text.\n *\n */\nexport default class Textarea extends Component {\n render() {\n const {setProps, loading_state, value} = this.props;\n\n return (\n {\n setProps({value: e.target.value});\n }}\n onBlur={() => {\n setProps({\n n_blur: this.props.n_blur + 1,\n n_blur_timestamp: Date.now(),\n });\n }}\n onClick={() => {\n setProps({\n n_clicks: this.props.n_clicks + 1,\n n_clicks_timestamp: Date.now(),\n });\n }}\n {...omit(['setProps', 'value'], this.props)}\n />\n );\n }\n}\n\nTextarea.defaultProps = {\n n_blur: 0,\n n_blur_timestamp: -1,\n n_clicks: 0,\n n_clicks_timestamp: -1,\n persisted_props: ['value'],\n persistence_type: 'local',\n};\n\nTextarea.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * The value of the textarea\n */\n value: PropTypes.string,\n\n /**\n * The element should be automatically focused after the page loaded.\n */\n autoFocus: PropTypes.string,\n\n /**\n * Defines the number of columns in a textarea.\n */\n cols: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Indicates whether the user can interact with the element.\n */\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n /**\n * Indicates the form that is the owner of the element.\n */\n form: PropTypes.string,\n\n /**\n * Defines the maximum number of characters allowed in the element.\n */\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Defines the minimum number of characters allowed in the element.\n */\n minLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Name of the element. For example used by the server to identify the fields in form submits.\n */\n name: PropTypes.string,\n\n /**\n * Provides a hint to the user of what can be entered in the field.\n */\n placeholder: PropTypes.string,\n\n /**\n * Indicates whether the element can be edited.\n * readOnly is an HTML boolean attribute - it is enabled by a boolean or\n * 'readOnly'. Alternative capitalizations `readonly` & `READONLY`\n * are also acccepted.\n */\n readOnly: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.oneOf(['readOnly', 'readonly', 'READONLY']),\n ]),\n\n /**\n * Indicates whether this element is required to fill out or not.\n * required is an HTML boolean attribute - it is enabled by a boolean or\n * 'required'. Alternative capitalizations `REQUIRED`\n * are also acccepted.\n */\n required: PropTypes.oneOfType([\n PropTypes.oneOf(['required', 'REQUIRED']),\n PropTypes.bool,\n ]),\n\n /**\n * Defines the number of rows in a text area.\n */\n rows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Indicates whether the text should be wrapped.\n */\n wrap: PropTypes.string,\n\n /**\n * Defines a keyboard shortcut to activate or add focus to the element.\n */\n accessKey: PropTypes.string,\n\n /**\n * Often used with CSS to style elements with common properties.\n */\n className: PropTypes.string,\n\n /**\n * Indicates whether the element's content is editable.\n */\n contentEditable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n /**\n * Defines the ID of a element which will serve as the element's context menu.\n */\n contextMenu: PropTypes.string,\n\n /**\n * Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left)\n */\n dir: PropTypes.string,\n\n /**\n * Defines whether the element can be dragged.\n */\n draggable: PropTypes.oneOfType([\n // enumerated property, not a boolean property: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/draggable\n PropTypes.oneOf(['true', 'false']),\n PropTypes.bool,\n ]),\n\n /**\n * Prevents rendering of given element, while keeping child elements, e.g. script elements, active.\n */\n hidden: PropTypes.string,\n\n /**\n * Defines the language used in the element.\n */\n lang: PropTypes.string,\n\n /**\n * Indicates whether spell checking is allowed for the element.\n */\n spellCheck: PropTypes.oneOfType([\n // enumerated property, not a boolean property: https://www.w3.org/TR/html51/editing.html#spelling-and-grammar-checking\n PropTypes.oneOf(['true', 'false']),\n PropTypes.bool,\n ]),\n\n /**\n * Defines CSS styles which will override styles previously set.\n */\n style: PropTypes.object,\n\n /**\n * Overrides the browser's default tab order and follows the one specified instead.\n */\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Text to be displayed in a tooltip when hovering over the element.\n */\n title: PropTypes.string,\n\n /**\n * Number of times the textarea lost focus.\n */\n n_blur: PropTypes.number,\n /**\n * Last time the textarea lost focus.\n */\n n_blur_timestamp: PropTypes.number,\n\n /**\n * Number of times the textarea has been clicked.\n */\n n_clicks: PropTypes.number,\n /**\n * Last time the textarea was clicked.\n */\n n_clicks_timestamp: PropTypes.number,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n\n /**\n * Used to allow user interactions in this component to be persisted when\n * the component - or the page - is refreshed. If `persisted` is truthy and\n * hasn't changed from its previous value, a `value` that the user has\n * changed while using the app will keep that change, as long as\n * the new `value` also matches what was given originally.\n * Used in conjunction with `persistence_type`.\n */\n persistence: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.number,\n ]),\n\n /**\n * Properties whose user interactions will persist after refreshing the\n * component or the page. Since only `value` is allowed this prop can\n * normally be ignored.\n */\n persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['value'])),\n\n /**\n * Where persisted user changes will be stored:\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n persistence_type: PropTypes.oneOf(['local', 'session', 'memory']),\n};\n","import PropTypes from 'prop-types';\n\nimport _JSXStyle from 'styled-jsx/style'; // eslint-disable-line no-unused-vars\n\n/**\n * A tooltip with an absolute position.\n */\nconst Tooltip = props => {\n const {bbox, border_color, background_color, id, loading_state} = props;\n const is_loading = loading_state?.is_loading;\n const show = props.show && bbox;\n\n return (\n <>\n
\n \n \n {is_loading ? (\n {props.loading_text}\n ) : (\n props.children\n )}\n \n \n
\n \n \n );\n};\n\nTooltip.defaultProps = {\n show: true,\n targetable: false,\n direction: 'right',\n border_color: '#d6d6d6',\n background_color: 'white',\n className: '',\n zindex: 1,\n loading_text: 'Loading...',\n};\n\nTooltip.propTypes = {\n /**\n * The contents of the tooltip\n */\n children: PropTypes.node,\n\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * The class of the tooltip\n */\n className: PropTypes.string,\n\n /**\n * The style of the tooltip\n */\n style: PropTypes.object,\n\n /**\n * The bounding box coordinates of the item to label, in px relative to\n * the positioning parent of the Tooltip component.\n */\n bbox: PropTypes.exact({\n x0: PropTypes.number,\n y0: PropTypes.number,\n x1: PropTypes.number,\n y1: PropTypes.number,\n }),\n\n /**\n * Whether to show the tooltip\n */\n show: PropTypes.bool,\n\n /**\n * The side of the `bbox` on which the tooltip should open.\n */\n direction: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * Color of the tooltip border, as a CSS color string.\n */\n border_color: PropTypes.string,\n\n /**\n * Color of the tooltip background, as a CSS color string.\n */\n background_color: PropTypes.string,\n\n /**\n * The text displayed in the tooltip while loading\n */\n loading_text: PropTypes.string,\n\n /**\n * The `z-index` CSS property to assign to the tooltip. Components with\n * higher values will be displayed on top of components with lower values.\n */\n zindex: PropTypes.number,\n\n /**\n * Whether the tooltip itself can be targeted by pointer events.\n * For tooltips triggered by hover events, typically this should be left\n * `false` to avoid the tooltip interfering with those same events.\n */\n targetable: PropTypes.bool,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n};\n\nexport default Tooltip;\n","\n import API from \"!../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../style-loader/dist/runtime/styleDomAPI.js\";\n \n import insertStyleElement from \"!../../../style-loader/dist/runtime/insertStyleElement.js\";\n import content, * as namedExport from \"!!../../../css-loader/dist/cjs.js!./_datepicker.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = function(css, style){\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n };\noptions.setAttributes = function(style) {\n var nonce =\n typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n style.setAttribute(\"nonce\", nonce);\n }\n };\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../css-loader/dist/cjs.js!./_datepicker.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./react-dates@20.1.0-fix.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = function(css, style){\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n };\noptions.setAttributes = function(style) {\n var nonce =\n typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n style.setAttribute(\"nonce\", nonce);\n }\n };\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./react-dates@20.1.0-fix.css\";\n export default content && content.locals ? content.locals : undefined;\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/runtime/create fake namespace object","webpack:///webpack/runtime/load script","webpack:///./node_modules/@plotly/dash-component-plugins/dist/index.js","webpack:///./node_modules/assert/build/assert.js","webpack:///./node_modules/assert/build/internal/assert/assertion_error.js","webpack:///./node_modules/assert/build/internal/errors.js","webpack:///./node_modules/assert/build/internal/util/comparisons.js","webpack:///./node_modules/available-typed-arrays/index.js","webpack:///./src/utils/LazyLoader/datePickerRange.js","webpack:///./src/components/DatePickerRange.react.js","webpack:///./src/utils/LazyLoader/datePickerSingle.js","webpack:///./src/components/DatePickerSingle.react.js","webpack:///./src/utils/LazyLoader/dropdown.js","webpack:///./src/components/Dropdown.react.js","webpack:///./src/fragments/Graph.privateprops.js","webpack:///./src/components/Graph.react.js","webpack:///./src/utils/LazyLoader/plotly.js","webpack:///./src/utils/LazyLoader/graph.js","webpack:///./src/components/Link.react.js","webpack:///./src/utils/LazyLoader/markdown.js","webpack:///./src/components/Markdown.react.js","webpack:///./src/utils/LazyLoader/rangeSlider.js","webpack:///./src/components/RangeSlider.react.js","webpack:///./src/utils/LazyLoader/slider.js","webpack:///./src/components/Slider.react.js","webpack:///./src/utils/LazyLoader/upload.js","webpack:///./src/components/Upload.react.js","webpack:///./src/utils/DatePickerPersistence.js","webpack:///./src/utils/optionTypes.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/call-bind/callBound.js","webpack:///./node_modules/call-bind/index.js","webpack:///./node_modules/color-convert/conversions.js","webpack:///./node_modules/color-convert/index.js","webpack:///./node_modules/color-convert/route.js","webpack:///./node_modules/color-name/index.js","webpack:///./node_modules/color-string/index.js","webpack:///./node_modules/color/index.js","webpack:///./node_modules/console-browserify/index.js","webpack:///./node_modules/react-dates/lib/css/_datepicker.css","webpack:///./src/components/css/input.css","webpack:///./src/components/css/logout.css","webpack:///./src/components/css/react-dates@20.1.0-fix.css","webpack:///./src/components/css/react-select@1.0.0-rc.3.min.css","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack:///./node_modules/define-properties/index.js","webpack:///./node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js","webpack:///./node_modules/es6-object-assign/index.js","webpack:///./node_modules/fast-isnumeric/index.js","webpack:///./node_modules/file-saver/dist/FileSaver.min.js","webpack:///./node_modules/foreach/index.js","webpack:///./node_modules/function-bind/implementation.js","webpack:///./node_modules/function-bind/index.js","webpack:///./node_modules/get-intrinsic/index.js","webpack:///./node_modules/has-symbols/index.js","webpack:///./node_modules/has-symbols/shams.js","webpack:///./node_modules/has/src/index.js","webpack:///./node_modules/inherits/inherits_browser.js","webpack:///./node_modules/is-arguments/index.js","webpack:///./node_modules/is-generator-function/index.js","webpack:///./node_modules/is-nan/implementation.js","webpack:///./node_modules/is-nan/index.js","webpack:///./node_modules/is-nan/polyfill.js","webpack:///./node_modules/is-nan/shim.js","webpack:///./node_modules/is-string-blank/index.js","webpack:///./node_modules/is-typed-array/index.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bn-bd.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-in.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-sg.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es-mx.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fil.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/oc-lnc.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tk.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:////home/hammadtheone/Documents/dashR/gulp-assets/dash-core-components/node_modules/moment/locale|sync|/^\\.\\/.*$/","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/object-is/implementation.js","webpack:///./node_modules/object-is/index.js","webpack:///./node_modules/object-is/polyfill.js","webpack:///./node_modules/object-is/shim.js","webpack:///./node_modules/object-keys/implementation.js","webpack:///./node_modules/object-keys/index.js","webpack:///./node_modules/object-keys/isArguments.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/ramda/es/internal/_curryN.js","webpack:///./node_modules/ramda/es/curryN.js","webpack:///./node_modules/ramda/es/internal/_arrayFromIterator.js","webpack:///./node_modules/ramda/es/internal/_includesWith.js","webpack:///./node_modules/ramda/es/internal/_objectIs.js","webpack:///./node_modules/ramda/es/internal/_equals.js","webpack:///./node_modules/ramda/es/internal/_functionName.js","webpack:///./node_modules/ramda/es/equals.js","webpack:///./node_modules/ramda/es/internal/_xfilter.js","webpack:///./node_modules/ramda/es/filter.js","webpack:///./node_modules/ramda/es/internal/_filter.js","webpack:///./node_modules/ramda/es/hasPath.js","webpack:///./node_modules/ramda/es/has.js","webpack:///./node_modules/ramda/es/includes.js","webpack:///./node_modules/ramda/es/internal/_arity.js","webpack:///./node_modules/ramda/es/internal/_curry1.js","webpack:///./node_modules/ramda/es/internal/_curry2.js","webpack:///./node_modules/ramda/es/internal/_isTransformer.js","webpack:///./node_modules/ramda/es/internal/_dispatchable.js","webpack:///./node_modules/ramda/es/internal/_has.js","webpack:///./node_modules/ramda/es/internal/_includes.js","webpack:///./node_modules/ramda/es/internal/_indexOf.js","webpack:///./node_modules/ramda/es/internal/_isArguments.js","webpack:///./node_modules/ramda/es/internal/_isArray.js","webpack:///./node_modules/ramda/es/internal/_isObject.js","webpack:///./node_modules/ramda/es/internal/_isPlaceholder.js","webpack:///./node_modules/ramda/es/internal/_isString.js","webpack:///./node_modules/ramda/es/internal/_isArrayLike.js","webpack:///./node_modules/ramda/es/internal/_xwrap.js","webpack:///./node_modules/ramda/es/bind.js","webpack:///./node_modules/ramda/es/internal/_reduce.js","webpack:///./node_modules/ramda/es/internal/_xfBase.js","webpack:///./node_modules/ramda/es/isNil.js","webpack:///./node_modules/ramda/es/keys.js","webpack:///./node_modules/ramda/es/omit.js","webpack:///./node_modules/ramda/es/type.js","webpack:///./node_modules/simple-swizzle/index.js","webpack:///./node_modules/simple-swizzle/node_modules/is-arrayish/index.js","webpack:///./node_modules/string-hash/index.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///./node_modules/styled-jsx/dist/lib/stylesheet.js","webpack:///./node_modules/styled-jsx/dist/style.js","webpack:///./node_modules/styled-jsx/dist/stylesheet-registry.js","webpack:///./node_modules/styled-jsx/style.js","webpack:///./node_modules/util/support/isBufferBrowser.js","webpack:///./node_modules/util/support/types.js","webpack:///./node_modules/util/util.js","webpack:///./node_modules/which-typed-array/index.js","webpack:///external \"PropTypes\"","webpack:///external \"React\"","webpack:///external \"ReactDOM\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/ensure chunk","webpack:///webpack/runtime/get javascript chunk filename","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/compat","webpack:///webpack/runtime/jsonp chunk loading","webpack:///./node_modules/ramda/es/flip.js","webpack:///./node_modules/ramda/es/reject.js","webpack:///./node_modules/ramda/es/internal/_complement.js","webpack:///./node_modules/ramda/es/without.js","webpack:///./node_modules/ramda/es/append.js","webpack:///./node_modules/ramda/es/internal/_concat.js","webpack:///./src/components/Checklist.react.js","webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack:///./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack:///./node_modules/@fortawesome/free-regular-svg-icons/index.es.js","webpack:///./src/components/Clipboard.react.js","webpack:///./src/components/ConfirmDialog.react.js","webpack:///./node_modules/ramda/es/internal/_clone.js","webpack:///./node_modules/ramda/es/internal/_cloneRegExp.js","webpack:///./node_modules/ramda/es/clone.js","webpack:///./src/components/ConfirmDialogProvider.react.js","webpack:///./src/components/Download.react.js","webpack:///./src/components/css/input.css?4f77","webpack:///./src/components/Input.react.js","webpack:///./src/components/Interval.react.js","webpack:///./src/fragments/Loading/spinners/GraphSpinner.jsx","webpack:///./src/fragments/Loading/spinners/DefaultSpinner.jsx","webpack:///./src/fragments/Loading/spinners/CubeSpinner.jsx","webpack:///./src/fragments/Loading/spinners/CircleSpinner.jsx","webpack:///./src/fragments/Loading/spinners/DotSpinner.jsx","webpack:///./node_modules/ramda/es/internal/_objectAssign.js","webpack:///./node_modules/ramda/es/mergeRight.js","webpack:///./src/components/Loading.react.js","webpack:///./src/components/Location.react.js","webpack:///./src/components/css/logout.css?d957","webpack:///./src/components/LogoutButton.react.js","webpack:///./src/components/css/react-select@1.0.0-rc.3.min.css?908f","webpack:///./src/components/RadioItems.react.js","webpack:///./src/components/Store.react.js","webpack:///./src/components/Tab.react.js","webpack:///./node_modules/ramda/es/is.js","webpack:///./src/components/Tabs.react.js","webpack:///./src/components/Textarea.react.js","webpack:///./src/components/Tooltip.react.js","webpack:///./node_modules/react-dates/lib/css/_datepicker.css?6084","webpack:///./src/components/css/react-dates@20.1.0-fix.css?ebb9"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","e","window","module","exports","n","t","r","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","isReady","Promise","lazy","resolve","then","setTimeout","regeneratorRuntime","async","prev","next","awrap","stop","u","_dashprivate_isLazyComponentReady","a","length","configurable","writable","key","f","TypeError","this","dispatchEvent","CustomEvent","addEventListener","removeEventListener","_typeof","obj","iterator","constructor","isDeepEqual","isDeepStrictEqual","_require$codes","codes","ERR_AMBIGUOUS_ARGUMENT","ERR_INVALID_ARG_TYPE","ERR_INVALID_ARG_VALUE","ERR_INVALID_RETURN_VALUE","ERR_MISSING_ARGS","AssertionError","inspect","_require$types","isPromise","isRegExp","objectAssign","assign","objectIs","is","lazyLoadComparison","comparison","Map","warned","assert","ok","NO_EXCEPTION_SENTINEL","innerFail","message","Error","innerOk","fn","argLen","generatedMessage","err","actual","expected","operator","stackStartFn","_len","arguments","args","Array","_key","apply","concat","fail","internalMessage","argsLen","undefined","warn","process","emitWarning","console","errArgs","equal","notEqual","deepEqual","notDeepEqual","deepStrictEqual","notDeepStrictEqual","strictEqual","notStrictEqual","Comparison","keys","_this","instance","Constructor","_classCallCheck","forEach","test","compareExceptionKey","b","name","expectedException","msg","push","isPrototypeOf","getActual","checkIsPromise","catch","waitForActual","promiseFn","resultPromise","expectsError","error","details","fnType","expectsNoError","strict","_len6","_key6","throws","_len2","_key2","rejects","_len3","_key3","result","doesNotThrow","_len4","_key4","doesNotReject","_len5","_key5","ifError","newErr","origStack","stack","tmp2","split","shift","tmp1","pos","indexOf","slice","join","_defineProperty","_defineProperties","target","props","descriptor","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Function","toString","has","set","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","isNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","Parent","setPrototypeOf","__proto__","getPrototypeOf","endsWith","str","search","this_len","substring","blue","green","red","white","kReadableOperator","strictEqualObject","notStrictEqualObject","notIdentical","copyError","source","inspectValue","val","compact","customInspect","depth","maxArrayLength","Infinity","showHidden","breakLength","showProxy","sorted","getters","_Error","options","limit","stackTraceLimit","String","stderr","isTTY","getColorDepth","other","res","lastPos","end","skipped","actualInspected","actualLines","expectedLines","indicator","inputLength","columns","count","Math","floor","maxCount","log","repeat","pop","maxLines","max","_actualLines","printedLines","skippedMsg","cur","expectedLine","actualLine","divergingLines","createErrDiff","base","_res","knownOperators","code","captureStackTrace","protoProps","subClass","superClass","_inherits","custom","recurseTimes","ctx","ownKeys","getOwnPropertySymbols","filter","sym","getOwnPropertyDescriptor","_objectSpread","util","createErrorType","Base","NodeError","_Base","arg1","arg2","arg3","getMessage","oneOf","thing","isArray","len","map","determiner","start","substr","replace","type","reason","inspected","RangeError","input","_slicedToArray","arr","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","done","_iterableToArrayLimit","_nonIterableRest","regexFlagsSupported","flags","arrayFromSet","array","arrayFromMap","objectGetOwnPropertySymbols","numberIsNaN","Number","isNaN","uncurryThis","propertyIsEnumerable","objectToString","isAnyArrayBuffer","isArrayBufferView","isDate","isMap","isSet","isNativeError","isBoxedPrimitive","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isFloat32Array","isFloat64Array","isNonIndex","charCodeAt","pow","getOwnNonIndexProperties","compare","x","y","min","innerDeepEqual","val1","val2","memos","buf1","buf2","val1Tag","keys1","keys2","keyCheck","getTime","RegExp","byteLength","Uint8Array","buffer","byteOffset","areSimilarTypedArrays","offset","areSimilarFloatArrays","_keys","_keys2","size","valueOf","Boolean","BigInt","isEqualBoxedPrimitive","getEnumerables","k","iterationType","aKeys","bKeys","symbolKeysA","symbolKeysB","_symbolKeysB","position","val2MemoA","val2MemoB","areEq","objEquiv","delete","setHasEqualElement","memo","setValues","findLooseMatchingPrimitives","prim","setMightHaveLoosePrim","altValue","mapMightHaveLoosePrim","item","curB","mapHasEqualEntry","key1","item1","key2","aValues","Set","add","bValues","_val","setEquiv","aEntries","_aEntries$i","item2","bEntries","_i2","_bEntries$_i","mapEquiv","keysA","possibleNames","out","g","RealDatePickerRange","datePickerRange","DatePickerRange","Suspense","fallback","Component","propTypes","id","PropTypes","start_date","start_date_id","end_date_id","end_date","min_date_allowed","max_date_allowed","disabled_days","initial_visible_month","start_date_placeholder_text","end_date_placeholder_text","day_size","calendar_orientation","is_RTL","reopen_calendar_on_clear","number_of_months_shown","with_portal","with_full_screen_portal","first_day_of_week","minimum_nights","stay_open_on_select","show_outside_days","month_format","display_format","disabled","clearable","setProps","style","className","updatemode","loading_state","is_loading","prop_name","component_name","persistence","persisted_props","persistence_type","persistenceTransforms","transformDate","defaultProps","RealDateSingleRange","datePickerSingle","DatePickerSingle","date","placeholder","RealDropdown","dropdown","Dropdown","label","isRequired","title","optionHeight","multi","searchable","search_value","privatePropTypes","_dashprivate_transformConfig","_dashprivate_transformFigure","_dashprivate_onFigureModified","EMPTY_DATA","PlotlyGraph","state","prependData","extendData","clearState","setState","nextProps","figure","dataKey","data","ControlledPlotlyGraph","RealPlotlyGraph","asyncDecorator","all","Plotly","extendedClassName","responsive","clickData","clickAnnotationData","hoverData","clear_on_unhover","selectedData","relayoutData","restyleData","layout","frames","animate","animation_options","config","staticPlot","plotlyServerURL","editable","edits","annotationPosition","annotationTail","annotationText","axisTitleText","colorbarPosition","colorbarTitleText","legendPosition","legendText","shapePosition","titleText","autosizable","queueLength","fillFrame","frameMargins","scrollZoom","doubleClick","doubleClickDelay","showTips","showAxisDragHandles","showAxisRangeEntryBoxes","showLink","sendData","linkText","displayModeBar","showSendToCloud","showEditInChartStudio","modeBarButtonsToRemove","modeBarButtonsToAdd","modeBarButtons","toImageButtonOptions","format","filename","width","height","scale","displaylogo","watermark","plotGlPixelRatio","topojsonURL","mapboxAccessToken","locale","locales","frame","redraw","transition","duration","ease","graphPropTypes","graphDefaultProps","event","params","bubbles","cancelable","detail","evt","document","createEvent","initCustomEvent","Event","Link","updateLocation","hasModifiers","metaKey","shiftKey","altKey","ctrlKey","href","refresh","isNil","preventDefault","location","history","pushState","scrollTo","children","onClick","RealDashMarkdown","markdown","DashMarkdown","dangerously_allow_html","dedent","highlight_config","theme","RealRangeSlider","rangeSlider","RangeSlider","step","marks","drag_value","allowCross","dots","included","pushable","tooltip","always_visible","placement","vertical","verticalHeight","RealSlider","slider","Slider","RealUpload","upload","Upload","contents","last_modified","accept","disable_click","max_size","min_size","multiple","className_active","className_reject","className_disabled","style_active","style_reject","style_disabled","borderStyle","borderColor","backgroundColor","opacity","extract","propValue","moment","startOf","storedValue","sanitizeOptions","entries","includes","option","b64","tmp","lens","validLen","getLens","placeHoldersLen","Arr","_byteLength","curByte","revLookup","lookup","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","$apply","$call","$reflectApply","$gOPD","$defineProperty","$max","originalFunction","func","desc","applyBind","cssKeywords","reverseKeywords","convert","rgb","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","model","h","delta","rdif","gdif","bdif","v","diff","diffc","reversed","currentClosestKeyword","currentClosestDistance","distance","z","t1","t2","t3","smin","lmin","hi","q","sl","vmin","wh","bl","ratio","y2","x2","z2","atan2","PI","sqrt","hr","cos","sin","round","ansi","color","mult","rem","string","toUpperCase","match","colorString","char","integer","parseInt","hue","chroma","mg","pure","w","conversions","route","fromModel","routes","toModel","wrappedFn","conversion","wrapRounded","raw","wrapRaw","link","from","to","wrapConversion","graph","path","parent","unshift","models","buildGraph","queue","current","adjacents","adjacent","node","deriveBFS","colorNames","swizzle","reverseNames","cs","clamp","num","hexDouble","toLowerCase","hexAlpha","i2","parseFloat","alpha","rgba","percent","hsla","hwba","_slice","skippedModels","hashedModelKeys","sort","limiters","Color","valpha","newArr","zeroArray","splice","hashedKeys","JSON","stringify","freeze","getset","channel","modifier","maxfn","assertArray","toJSON","places","percentString","object","unitArray","unitObject","toFixed","roundTo","roundToPlace","saturationl","lightness","saturationv","wblack","cyan","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","isDark","isLight","negate","lighten","darken","saturate","desaturate","whiten","blacken","grayscale","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","newAlpha","now","times","functions","time","expression","tuple","___CSS_LOADER_EXPORT___","cssWithMappingToString","list","content","modules","mediaQuery","dedupe","alreadyImportedModules","_arrayLikeToArray","arr2","_item","minLen","_unsupportedIterableToArray","cssMapping","btoa","base64","unescape","encodeURIComponent","sourceMapping","sourceURLs","sources","sourceRoot","hasSymbols","toStr","origDefineProperty","supportsDescriptors","_","arePropertyDescriptorsSupported","predicate","defineProperties","predicates","firstSource","nextSource","keysArray","nextIndex","nextKey","polyfill","allBlankCharCodes","original","XMLHttpRequest","open","responseType","onload","response","onerror","send","status","MouseEvent","initMouseEvent","global","navigator","userAgent","saveAs","HTMLAnchorElement","URL","webkitURL","j","createElement","download","rel","origin","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","Blob","body","innerText","HTMLElement","safari","FileReader","onloadend","readAsDataURL","hasOwn","ERROR_MESSAGE","funcType","that","bound","binder","boundLength","boundArgs","Empty","implementation","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","needsEval","TypedArray","INTRINSICS","AggregateError","ArrayBuffer","Atomics","DataView","decodeURI","decodeURIComponent","encodeURI","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","doEval","gen","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","rePropName","reEscapeChar","stringToPath","first","last","number","quote","subString","getBaseIntrinsic","alias","intrinsicName","parts","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","origSymbol","hasSymbolSham","symObj","getOwnPropertyNames","syms","ctor","superCtor","super_","TempCtor","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","GeneratorFunction","fnToStr","isFnRegex","generatorFunc","getGeneratorFunc","define","getPolyfill","shim","NaN","availableTypedArrays","typedArrays","$slice","toStrTags","gOPD","typedArray","proto","superProto","tag","anyTrue","getter","tryTypedArrays","defineLocale","months","monthsShort","weekdays","weekdaysShort","weekdaysMin","meridiemParse","isPM","meridiem","hours","minutes","isLower","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","ss","mm","hh","dd","M","MM","yy","dayOfMonthOrdinalParse","ordinal","week","dow","doy","factory","pluralForm","plurals","pluralize","withoutSuffix","isFuture","weekdaysParseExact","hour","minute","postformat","symbolMap","preparse","numberMap","suffixes","relativeTimeWithPlural","forms","standalone","isFormat","day","period","ww","lastDigit","last2Digits","meridiemHour","monthsShortRegex","monthsParseExact","relativeTimeWithMutation","text","mutationTable","charAt","softMutation","mutation","lastNumber","monthsParse","monthsRegex","minWeekdaysParse","weekdaysParse","fullWeekdaysParse","shortWeekdaysParse","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","token","translate","ll","lll","llll","output","plural","exec","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","month","_monthsNominativeEl","calendarEl","mom","_calendarEl","monthsShortDot","invalidDate","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eras","since","narrow","abbr","until","eraYearOrdinalRegex","eraYearOrdinalParse","$0","$1","$2","isUpper","eifelerRegelAppliesToNumber","units","translateSingular","special","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","separator","days","numbersNouns","numberNoun","hundred","ten","one","word","numberAsNoun","hm","processHoursFunction","nominative","accusative","genitive","webpackContext","req","webpackContextResolve","__webpack_require__","hookCallback","some","hooks","isObject","hasOwnProp","isObjectEmpty","isUndefined","isNumber","extend","createUTC","createLocalOrUTC","utc","getParsingFlags","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","isValid","_isValid","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","fun","momentProperties","updateInProgress","copyConfig","prop","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","arg","deprecations","deprecateSimple","isFunction","mergeConfigs","parentConfig","childConfig","Locale","zeroFill","targetLength","forceSign","absNumber","abs","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","callback","localeData","formatMoment","expandFormat","makeFormatFunction","replaceLongDateFormatTokens","lastIndex","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","isLeapYear","year","absFloor","ceil","toInt","argumentForCoercion","coercedNumber","makeGetSet","keepTime","set$1","daysInMonth","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","dayOfMonth","getSetMonth","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","daysInYear","parseTwoDigitYear","getSetYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","fwd","getUTCDay","dayOfYearFromWeeks","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","lowercase","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","_meridiem","pos1","pos2","getSetHour","globalLocale","baseConfig","localeFamilies","commonPrefix","arr1","minl","normalizeLocale","loadLocale","oldLocale","_abbr","getSetGlobalLocale","values","getLocale","_config","parentLocale","names","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","configFromStringAndFormat","untruncateYear","yearStr","configFromRFC2822","parsedArray","monthStr","dayStr","hourStr","minuteStr","secondStr","weekdayStr","parsedInput","getDay","checkWeekday","obsOffset","militaryOffset","numOffset","calculateOffset","setUTCMinutes","getUTCMinutes","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","currentDateArray","weekYear","temp","weekdayOverflow","curWeek","GG","W","E","createLocal","_week","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","ISO_8601","RFC_2822","stringLength","totalParsedInputLength","isPm","meridiemFixWrap","erasConvertYear","prepareConfig","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","score","configFromStringAndArray","createFromInputFallback","configFromString","dayOrDate","second","millisecond","configFromObject","configFromInput","isUTC","prototypeMin","prototypeMax","pickBy","moments","ordering","Duration","years","quarters","quarter","weeks","isoWeek","milliseconds","unitHasDecimal","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","cloneWithOffset","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","addSubtract","isAdding","invalid","subtract","isString","isMomentInput","arrayTest","dataTypeTest","isNumberOrStringArray","property","objectTest","propertyTest","properties","isMomentInputObject","isCalendarSpec","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","abbrPieces","namePieces","narrowPieces","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","erasNameRegex","erasNarrowRegex","erasParse","_eraYearOrdinalRegex","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetMillisecond","getSetSecond","parseMs","preParsePostFormat","formats","sod","calendarFormat","asFloat","zoneDelta","endOf","startOfDate","isoWeekday","inputString","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","getPrioritizedUnits","toArray","toObject","toDate","toISOString","keepOffset","prefix","suffix","zone","isLocal","for","unix","creationData","eraName","eraNarrow","eraAbbr","eraYear","dir","isoWeeks","weekInfo","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","array1","array2","dontConvert","lengthDiff","diffs","compareArrays","proto$1","get$1","index","field","setter","listMonthsImpl","listWeekdaysImpl","localeSorted","_calendar","_longDateFormat","formatUpper","tok","_invalidDate","_ordinal","_relativeTime","pastFuture","_eras","_monthsShort","_monthsParseExact","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","proto$2","monthsFromDays","argWithSuffix","argThresholds","withSuffix","th","posNegDuration","relativeTime$1","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","DATE","TIME","TIME_SECONDS","TIME_MS","WEEK","MONTH","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","isArguments","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","_curryN","received","combined","argsIdx","left","combinedIdx","_isPlaceholder","_arity","_curry2","_curry1","_arrayFromIterator","iter","_includesWith","pred","idx","_uniqContentEquals","aIterator","bIterator","stackA","stackB","eq","_b","_equals","aItem","typeA","equals","ignoreCase","multiline","sticky","unicode","extendedStackA","extendedStackB","_has","XFilter","xf","_xfBase","_dispatchable","filterable","_isObject","_reduce","acc","_filter","_path","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","f1","f2","_isTransformer","methodNames","_isArray","transducer","_includes","inf","_indexOf","_isArguments","_isString","nodeType","XWrap","thisObj","_iterableReduce","_methodReduce","methodName","symIterator","_xwrap","_arrayReduce","reduce","init","hasEnumBug","nonEnumerableProps","hasArgsEnumBug","contains","nIdx","ks","checkArgsLength","omit","isArrayish","results","wrap","hash","stylesInDom","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","css","media","sourceMap","references","updater","addStyle","api","domAPI","update","newObj","remove","lastIdentifiers","newList","newLastIdentifiers","_index","setAttributes","attributes","insert","insertStyleElement","setAttribute","removeAttribute","styleTagTransform","parentNode","removeChild","removeStyleElement","isProd","StyleSheet","_temp","_ref","_ref$name","_ref$optimizeForSpeed","optimizeForSpeed","_ref$isBrowser","isBrowser","invariant","_name","_deletedRulePlaceholder","_optimizeForSpeed","_isBrowser","_serverSheet","_tags","_injected","_rulesCount","querySelector","_nonce","getAttribute","_proto","setOptimizeForSpeed","bool","flush","inject","isOptimizeForSpeed","makeStyleTag","getSheet","cssRules","insertRule","rule","cssText","deleteRule","getSheetForTag","sheet","styleSheets","ownerNode","insertionPoint","replaceRule","trim","textContent","_this2","rules","cssString","relativeToTag","appendChild","createTextNode","head","getElementsByTagName","insertBefore","condition","_react","styleSheetRegistry","JSXStyle","_Component","prevProps","dynamic","info","tagInfo","baseId","computeId","shouldComponentUpdate","otherProps","componentWillUnmount","render","_stringHash","_interopRequireDefault","_stylesheet","StyleSheetRegistry","_ref$styleSheet","styleSheet","_sheet","_fromServer","_indices","_instancesCounts","createComputeId","computeSelector","createComputeSelector","selectFromServer","tagName","_this$getIdAndRules","getIdAndRules","styleId","indices","tagFromServer","_this3","fromServer","cache","propsToString","selectoPlaceholderRegexp","idcss","_this4","querySelectorAll","element","copy","fill","readUInt8","isArgumentsObject","isGeneratorFunction","whichTypedArray","isTypedArray","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","isArrayBuffer","working","isDataViewToString","isDataView","isView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isBigInt64Array","isBigUint64Array","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","method","getOwnPropertyDescriptors","descriptors","formatRegExp","objects","isNull","noDeprecation","throwDeprecation","traceDeprecation","trace","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","opts","seen","stylize","stylizeNoColor","colors","isBoolean","_extend","stylizeWithColor","formatValue","styleType","styles","primitive","simple","formatPrimitive","visibleKeys","arrayToHash","isError","formatError","braces","toUTCString","formatProperty","formatArray","reduceToSingleString","line","ar","re","pad","debuglog","pid","types","isNullOrUndefined","isSymbol","isPrimitive","isBuffer","timestamp","getHours","getMinutes","getSeconds","inherits","kCustomPromisifiedSymbol","callbackifyOnRejected","cb","newReason","promisify","promiseResolve","promiseReject","promise","reject","callbackify","callbackified","maybeCb","rej","foundName","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","mode","ns","def","definition","chunkId","promises","globalThis","url","script","needAttach","scripts","charset","nc","src","onScriptComplete","doneFns","nmd","paths","scriptUrl","importScripts","currentScript","getCurrentScript","doc_scripts","jsonpScriptSrc","__jsonpScriptSrc__","srcFragments","fileFragments","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","curryN","xs","el","set1","set2","len1","len2","_concat","Checklist","inputClassName","inputStyle","labelClassName","labelStyle","inline","display","checked","onChange","newValue","without","append","_WINDOW","_DOCUMENT","_PERFORMANCE","mark","measure","MutationObserver","performance","_ref$userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","documentElement","DEFAULT_REPLACEMENT_CLASS","oneToTen","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","initial","FontAwesomeConfig","_ref2","attr","coerce","getAttrConfig","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","shims","namespace","doScroll","readyState","listener","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","asyncSetTimer","setImmediate","asyncQueue","asyncFlush","asyncCall","invokeCallback","subscriber","owner","settled","_state","handleThenable","resolved","fulfill","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","resolver","rejectPromise","invokeResolver","onFulfillment","onRejection","fulfilled","rejected","remaining","race","meaninglessTransform","flipX","flipY","nextUniqueId","random","htmlEscape","joinStyles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","ALL_SPACE","fillBlack","abstract","force","makeInlineSvgAbstract","_params$icons","icons","main","mask","iconName","symbol","maskId","titleId","extra","_params$watchable","watchable","found","isUploadedIcon","widthClass","attrClass","classes","role","uploadedIconWidthStyle","explicitMaskId","mainWidth","mainPath","icon","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconMasking","styleString","makeIconStandard","asSymbol","asIcon","subject","initialValue","thisContext","bindInternal4","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","build","reducer","ligatures","ligature","hasRegular","oldName","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","joinAttributes","MissingIcon","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","asFoundIcon","vectorData","class","ensureCss","_cssInserted","innerHTML","headChildren","childNodes","beforeChild","child","insertCss","dfp","drc","fp","rc","dPatt","customPropPatt","rPatt","apiObject","abstractCreator","container","html","findIconDefinition","iconLookup","_iconLookup$prefix","library","definitions","cx","cy","Library","additions","_pullDefinitions","_normalized$key","parse","transformString","rest","parseTransformString","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","maybeIconDefinition","enumerableOnly","symbols","_objectSpread2","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","camelize","chr","styleToObject","pair","startsWith","normalizeIconArgs","objectWithKey","FontAwesomeIcon","forwardedRef","iconArgs","maskArgs","_classes","spin","pulse","fixedWidth","inverse","border","listItem","flip","rotation","pull","swapOpacity","classList","renderedIcon","_console","extraProps","ref","convertCurry","displayName","mixins","attrs","_extraProps$style","existingStyle","faCheckCircle","faCopy","clipboardAPI","clipboard","wait","Clipboard","copyToClipboard","copySuccess","getTargetText","loading","stringifyId","copied","wild","showCopiedIcon","writeText","target_id","getElementById","n_clicks","copyIcon","copiedIcon","btnIcon","React","ConfirmDialog","_update","displayed","shouldTriggerDisplay","cancel_n_clicks","submit_n_clicks","confirm","submit_n_clicks_timestamp","cancel_n_clicks_timestamp","_clone","refFrom","refTo","deep","pattern","copiedValue","ConfirmDialogProvider","wrapClick","_dashprivate_layout","getValue","Download","toByteArray","blob","firstChild","nonce","lastInsertedElement","_lastElementInsertedByStyleLoader","nextSibling","isNumeric","isEquivalent","v1","v2","Input","onBlur","onEvent","onKeyPress","setInputValue","setPropValue","valueAsNumber","valprops","__value","checkValidity","n_blur","n_blur_timestamp","debounce","n_submit","n_submit_timestamp","PureComponent","autoComplete","autoFocus","inputMode","maxLength","minLength","readOnly","required","selectionDirection","selectionEnd","selectionStart","spellCheck","Interval","intervalId","reportInterval","handleTimer","max_intervals","n_intervals","clearTimer","setInterval","interval","clearInterval","resetTimer","GraphSpinner","debugTitle","fullscreen","debug","spinnerClass","DefaultSpinner","CubeSpinner","changeColor","CircleSpinner","DotSpinner","hiddenContainer","visibility","coveringSpinner","top","justifyContent","alignItems","Loading","parent_className","parent_style","spinnerType","isLoading","Spinner","getSpinner","mergeRight","_dashprivate_isLoadingComponent","Location","onLocationChange","pathname","propsToSet","checkExistsUpdateWindowLocation","fieldName","propVal","pathnameUpdated","hrefUpdated","hashUpdated","searchUpdated","searchVal","hashVal","propsToChange","History","onpopstate","LogoutButton","submitMethod","logout_url","action","RadioItems","ids","MemStore","_modified","setModified","WebStore","storage","_storage","getItem","setItem","removeItem","Store","storage_type","_backstore","localStorage","sessionStorage","onStorageChange","oldValue","modified_timestamp","getModified","old","clear_data","Tab","Fragment","disabled_style","disabled_className","selected_className","selected_style","Ctor","EnhancedTab","selected","selectedClassName","selectHandler","mobile_breakpoint","amountOfTabs","tabStyle","labelDisplay","tabClassName","background","primary","Tabs","parseChildrenToArray","valueOrDefault","EnhancedTabs","selectedTab","childProps","selectedTabContent","tabContainerClass","tabContentClass","tabParentClass","content_style","content_className","Textarea","n_clicks_timestamp","cols","form","rows","accessKey","contentEditable","contextMenu","draggable","hidden","tabIndex","Tooltip","bbox","border_color","background_color","show","y0","x0","x1","y1","targetable","zindex","loading_text"],"mappings":"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","file":"dash_core_components.js","sourcesContent":["var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"dash_core_components:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","!function(e,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],n):\"object\"==typeof exports?exports[\"dash-component-plugins\"]=n(require(\"react\")):e[\"dash-component-plugins\"]=n(e.React)}(window,(function(e){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&n&&\"string\"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p=\"\",t(t.s=1)}([function(n,t){n.exports=e},function(e,n,t){\"use strict\";t.r(n);var r=t(0),o=function(e,n){var t,o={isReady:new Promise((function(e){t=e})),get:Object(r.lazy)((function(){return Promise.resolve(n()).then((function(e){return setTimeout((function(){return regeneratorRuntime.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,regeneratorRuntime.awrap(t(!0));case 2:o.isReady=!0;case 3:case\"end\":return e.stop()}}))}),0),e}))}))};return Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return o.isReady}}),o.get},i=function(e,n){Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return u(n)}})},u=function(e){return e&&e._dashprivate_isLazyComponentReady};function a(e,n){for(var t=0;t\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('./internal/errors'),\n _require$codes = _require.codes,\n ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE,\n ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n\nvar AssertionError = require('./internal/assert/assertion_error');\n\nvar _require2 = require('util/'),\n inspect = _require2.inspect;\n\nvar _require$types = require('util/').types,\n isPromise = _require$types.isPromise,\n isRegExp = _require$types.isRegExp;\n\nvar objectAssign = Object.assign ? Object.assign : require('es6-object-assign').assign;\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar errorCache = new Map();\nvar isDeepEqual;\nvar isDeepStrictEqual;\nvar parseExpressionAt;\nvar findNodeAround;\nvar decoder;\n\nfunction lazyLoadComparison() {\n var comparison = require('./internal/util/comparisons');\n\n isDeepEqual = comparison.isDeepEqual;\n isDeepStrictEqual = comparison.isDeepStrictEqual;\n} // Escape control characters but not \\n and \\t to keep the line breaks and\n// indentation intact.\n// eslint-disable-next-line no-control-regex\n\n\nvar escapeSequencesRegExp = /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;\nvar meta = [\"\\\\u0000\", \"\\\\u0001\", \"\\\\u0002\", \"\\\\u0003\", \"\\\\u0004\", \"\\\\u0005\", \"\\\\u0006\", \"\\\\u0007\", '\\\\b', '', '', \"\\\\u000b\", '\\\\f', '', \"\\\\u000e\", \"\\\\u000f\", \"\\\\u0010\", \"\\\\u0011\", \"\\\\u0012\", \"\\\\u0013\", \"\\\\u0014\", \"\\\\u0015\", \"\\\\u0016\", \"\\\\u0017\", \"\\\\u0018\", \"\\\\u0019\", \"\\\\u001a\", \"\\\\u001b\", \"\\\\u001c\", \"\\\\u001d\", \"\\\\u001e\", \"\\\\u001f\"];\n\nvar escapeFn = function escapeFn(str) {\n return meta[str.charCodeAt(0)];\n};\n\nvar warned = false; // The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\nvar NO_EXCEPTION_SENTINEL = {}; // All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction innerFail(obj) {\n if (obj.message instanceof Error) throw obj.message;\n throw new AssertionError(obj);\n}\n\nfunction fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length;\n var internalMessage;\n\n if (argsLen === 0) {\n internalMessage = 'Failed';\n } else if (argsLen === 1) {\n message = actual;\n actual = undefined;\n } else {\n if (warned === false) {\n warned = true;\n var warn = process.emitWarning ? process.emitWarning : console.warn.bind(console);\n warn('assert.fail() with more than one argument is deprecated. ' + 'Please use assert.strictEqual() instead or only pass a message.', 'DeprecationWarning', 'DEP0094');\n }\n\n if (argsLen === 2) operator = '!=';\n }\n\n if (message instanceof Error) throw message;\n var errArgs = {\n actual: actual,\n expected: expected,\n operator: operator === undefined ? 'fail' : operator,\n stackStartFn: stackStartFn || fail\n };\n\n if (message !== undefined) {\n errArgs.message = message;\n }\n\n var err = new AssertionError(errArgs);\n\n if (internalMessage) {\n err.message = internalMessage;\n err.generatedMessage = true;\n }\n\n throw err;\n}\n\nassert.fail = fail; // The AssertionError is defined in internal/error.\n\nassert.AssertionError = AssertionError;\n\nfunction innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = false;\n\n if (argLen === 0) {\n generatedMessage = true;\n message = 'No value argument passed to `assert.ok()`';\n } else if (message instanceof Error) {\n throw message;\n }\n\n var err = new AssertionError({\n actual: value,\n expected: true,\n message: message,\n operator: '==',\n stackStartFn: fn\n });\n err.generatedMessage = generatedMessage;\n throw err;\n }\n} // Pure assertion tests whether a value is truthy, as determined\n// by !!value.\n\n\nfunction ok() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n innerOk.apply(void 0, [ok, args.length].concat(args));\n}\n\nassert.ok = ok; // The equality assertion tests shallow, coercive equality with ==.\n\n/* eslint-disable no-restricted-properties */\n\nassert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual != expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '==',\n stackStartFn: equal\n });\n }\n}; // The non-equality assertion tests for whether two objects are not\n// equal with !=.\n\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual == expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '!=',\n stackStartFn: notEqual\n });\n }\n}; // The equivalence assertion tests a deep equality relation.\n\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepEqual',\n stackStartFn: deepEqual\n });\n }\n}; // The non-equivalence assertion tests for any deep inequality.\n\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepEqual',\n stackStartFn: notDeepEqual\n });\n }\n};\n/* eslint-enable */\n\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepStrictEqual',\n stackStartFn: deepStrictEqual\n });\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\n\nfunction notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepStrictEqual',\n stackStartFn: notDeepStrictEqual\n });\n }\n}\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (!objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'strictEqual',\n stackStartFn: strictEqual\n });\n }\n};\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notStrictEqual',\n stackStartFn: notStrictEqual\n });\n }\n};\n\nvar Comparison = function Comparison(obj, keys, actual) {\n var _this = this;\n\n _classCallCheck(this, Comparison);\n\n keys.forEach(function (key) {\n if (key in obj) {\n if (actual !== undefined && typeof actual[key] === 'string' && isRegExp(obj[key]) && obj[key].test(actual[key])) {\n _this[key] = actual[key];\n } else {\n _this[key] = obj[key];\n }\n }\n });\n};\n\nfunction compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepStrictEqual(actual[key], expected[key])) {\n if (!message) {\n // Create placeholder objects to create a nice output.\n var a = new Comparison(actual, keys);\n var b = new Comparison(expected, keys, actual);\n var err = new AssertionError({\n actual: a,\n expected: b,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.actual = actual;\n err.expected = expected;\n err.operator = fn.name;\n throw err;\n }\n\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n}\n\nfunction expectedException(actual, expected, msg, fn) {\n if (typeof expected !== 'function') {\n if (isRegExp(expected)) return expected.test(actual); // assert.doesNotThrow does not accept objects.\n\n if (arguments.length === 2) {\n throw new ERR_INVALID_ARG_TYPE('expected', ['Function', 'RegExp'], expected);\n } // Handle primitives properly.\n\n\n if (_typeof(actual) !== 'object' || actual === null) {\n var err = new AssertionError({\n actual: actual,\n expected: expected,\n message: msg,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.operator = fn.name;\n throw err;\n }\n\n var keys = Object.keys(expected); // Special handle errors to make sure the name and the message are compared\n // as well.\n\n if (expected instanceof Error) {\n keys.push('name', 'message');\n } else if (keys.length === 0) {\n throw new ERR_INVALID_ARG_VALUE('error', expected, 'may not be an empty object');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n keys.forEach(function (key) {\n if (typeof actual[key] === 'string' && isRegExp(expected[key]) && expected[key].test(actual[key])) {\n return;\n }\n\n compareExceptionKey(actual, expected, key, msg, keys, fn);\n });\n return true;\n } // Guard instanceof against arrow functions as they don't have a prototype.\n\n\n if (expected.prototype !== undefined && actual instanceof expected) {\n return true;\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction getActual(fn) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', 'Function', fn);\n }\n\n try {\n fn();\n } catch (e) {\n return e;\n }\n\n return NO_EXCEPTION_SENTINEL;\n}\n\nfunction checkIsPromise(obj) {\n // Accept native ES6 promises and promises that are implemented in a similar\n // way. Do not accept thenables that use a function as `obj` and that have no\n // `catch` handler.\n // TODO: thenables are checked up until they have the correct methods,\n // but according to documentation, the `then` method should receive\n // the `fulfill` and `reject` arguments as well or it may be never resolved.\n return isPromise(obj) || obj !== null && _typeof(obj) === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function';\n}\n\nfunction waitForActual(promiseFn) {\n return Promise.resolve().then(function () {\n var resultPromise;\n\n if (typeof promiseFn === 'function') {\n // Return a rejected promise if `promiseFn` throws synchronously.\n resultPromise = promiseFn(); // Fail in case no promise is returned.\n\n if (!checkIsPromise(resultPromise)) {\n throw new ERR_INVALID_RETURN_VALUE('instance of Promise', 'promiseFn', resultPromise);\n }\n } else if (checkIsPromise(promiseFn)) {\n resultPromise = promiseFn;\n } else {\n throw new ERR_INVALID_ARG_TYPE('promiseFn', ['Function', 'Promise'], promiseFn);\n }\n\n return Promise.resolve().then(function () {\n return resultPromise;\n }).then(function () {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function (e) {\n return e;\n });\n });\n}\n\nfunction expectsError(stackStartFn, actual, error, message) {\n if (typeof error === 'string') {\n if (arguments.length === 4) {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (_typeof(actual) === 'object' && actual !== null) {\n if (actual.message === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error message \\\"\".concat(actual.message, \"\\\" is identical to the message.\"));\n }\n } else if (actual === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error \\\"\".concat(actual, \"\\\" is identical to the message.\"));\n }\n\n message = error;\n error = undefined;\n } else if (error != null && _typeof(error) !== 'object' && typeof error !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = '';\n\n if (error && error.name) {\n details += \" (\".concat(error.name, \")\");\n }\n\n details += message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'rejects' ? 'rejection' : 'exception';\n innerFail({\n actual: undefined,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn: stackStartFn\n });\n }\n\n if (error && !expectedException(actual, error, message, stackStartFn)) {\n throw actual;\n }\n}\n\nfunction expectsNoError(stackStartFn, actual, error, message) {\n if (actual === NO_EXCEPTION_SENTINEL) return;\n\n if (typeof error === 'string') {\n message = error;\n error = undefined;\n }\n\n if (!error || expectedException(actual, error)) {\n var details = message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'doesNotReject' ? 'rejection' : 'exception';\n innerFail({\n actual: actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, \"\\n\") + \"Actual message: \\\"\".concat(actual && actual.message, \"\\\"\"),\n stackStartFn: stackStartFn\n });\n }\n\n throw actual;\n}\n\nassert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n expectsError.apply(void 0, [throws, getActual(promiseFn)].concat(args));\n};\n\nassert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return waitForActual(promiseFn).then(function (result) {\n return expectsError.apply(void 0, [rejects, result].concat(args));\n });\n};\n\nassert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n expectsNoError.apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n};\n\nassert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n return waitForActual(fn).then(function (result) {\n return expectsNoError.apply(void 0, [doesNotReject, result].concat(args));\n });\n};\n\nassert.ifError = function ifError(err) {\n if (err !== null && err !== undefined) {\n var message = 'ifError got unwanted exception: ';\n\n if (_typeof(err) === 'object' && typeof err.message === 'string') {\n if (err.message.length === 0 && err.constructor) {\n message += err.constructor.name;\n } else {\n message += err.message;\n }\n } else {\n message += inspect(err);\n }\n\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: 'ifError',\n message: message,\n stackStartFn: ifError\n }); // Make sure we actually have a stack trace!\n\n var origStack = err.stack;\n\n if (typeof origStack === 'string') {\n // This will remove any duplicated frames from the error frames taken\n // from within `ifError` and add the original error frames to the newly\n // created ones.\n var tmp2 = origStack.split('\\n');\n tmp2.shift(); // Filter all frames existing in err.stack.\n\n var tmp1 = newErr.stack.split('\\n');\n\n for (var i = 0; i < tmp2.length; i++) {\n // Find the first occurrence of the frame.\n var pos = tmp1.indexOf(tmp2[i]);\n\n if (pos !== -1) {\n // Only keep new frames.\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n\n newErr.stack = \"\".concat(tmp1.join('\\n'), \"\\n\").concat(tmp2.join('\\n'));\n }\n\n throw newErr;\n }\n}; // Expose a strict only variant of assert\n\n\nfunction strict() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n innerOk.apply(void 0, [strict, args.length].concat(args));\n}\n\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;","// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n'use strict';\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar _require = require('util/'),\n inspect = _require.inspect;\n\nvar _require2 = require('../errors'),\n ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\n\n\nfunction repeat(str, count) {\n count = Math.floor(count);\n if (str.length == 0 || count == 0) return '';\n var maxCount = str.length * count;\n count = Math.floor(Math.log(count) / Math.log(2));\n\n while (count) {\n str += str;\n count--;\n }\n\n str += str.substring(0, maxCount - str.length);\n return str;\n}\n\nvar blue = '';\nvar green = '';\nvar red = '';\nvar white = '';\nvar kReadableOperator = {\n deepStrictEqual: 'Expected values to be strictly deep-equal:',\n strictEqual: 'Expected values to be strictly equal:',\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: 'Expected values to be loosely deep-equal:',\n equal: 'Expected values to be loosely equal:',\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: 'Values identical but not reference-equal:'\n}; // Comparing short primitives should just show === / !== instead of using the\n// diff.\n\nvar kMaxShortLength = 10;\n\nfunction copyError(source) {\n var keys = Object.keys(source);\n var target = Object.create(Object.getPrototypeOf(source));\n keys.forEach(function (key) {\n target[key] = source[key];\n });\n Object.defineProperty(target, 'message', {\n value: source.message\n });\n return target;\n}\n\nfunction inspectValue(val) {\n // The util.inspect default values could be changed. This makes sure the\n // error messages contain the necessary information nevertheless.\n return inspect(val, {\n compact: false,\n customInspect: false,\n depth: 1000,\n maxArrayLength: Infinity,\n // Assert compares only enumerable properties (with a few exceptions).\n showHidden: false,\n // Having a long line as error is better than wrapping the line for\n // comparison for now.\n // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n // have meta information about the inspected properties (i.e., know where\n // in what line the property starts and ends).\n breakLength: Infinity,\n // Assert does not detect proxies currently.\n showProxy: false,\n sorted: true,\n // Inspect getters as we also check them when comparing entries.\n getters: true\n });\n}\n\nfunction createErrDiff(actual, expected, operator) {\n var other = '';\n var res = '';\n var lastPos = 0;\n var end = '';\n var skipped = false;\n var actualInspected = inspectValue(actual);\n var actualLines = actualInspected.split('\\n');\n var expectedLines = inspectValue(expected).split('\\n');\n var i = 0;\n var indicator = ''; // In case both values are objects explicitly mark them as not reference equal\n // for the `strictEqual` operator.\n\n if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {\n operator = 'strictEqualObject';\n } // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n // equal, check further special handling.\n\n\n if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length; // If the character length of \"actual\" and \"expected\" together is less than\n // kMaxShortLength and if neither is an object and at least one of them is\n // not `zero`, use the strict equal comparison to visualize the output.\n\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {\n // -0 === +0\n return \"\".concat(kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n }\n } else if (operator !== 'strictEqualObject') {\n // If the stderr is a tty and the input length is lower than the current\n // columns per line, add a mismatch indicator below the output. If it is\n // not a tty, use a default value of 80 characters.\n var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;\n\n if (inputLength < maxLength) {\n while (actualLines[0][i] === expectedLines[0][i]) {\n i++;\n } // Ignore the first characters.\n\n\n if (i > 2) {\n // Add position indicator for the first mismatch in case it is a\n // single line and the input length is less than the column length.\n indicator = \"\\n \".concat(repeat(' ', i), \"^\");\n i = 0;\n }\n }\n }\n } // Remove all ending lines that match (this optimizes the output for\n // readability by reducing the number of total changed lines).\n\n\n var a = actualLines[actualLines.length - 1];\n var b = expectedLines[expectedLines.length - 1];\n\n while (a === b) {\n if (i++ < 2) {\n end = \"\\n \".concat(a).concat(end);\n } else {\n other = a;\n }\n\n actualLines.pop();\n expectedLines.pop();\n if (actualLines.length === 0 || expectedLines.length === 0) break;\n a = actualLines[actualLines.length - 1];\n b = expectedLines[expectedLines.length - 1];\n }\n\n var maxLines = Math.max(actualLines.length, expectedLines.length); // Strict equal with identical objects that are not identical by reference.\n // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n\n if (maxLines === 0) {\n // We have to get the result again. The lines were all removed before.\n var _actualLines = actualInspected.split('\\n'); // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (_actualLines.length > 30) {\n _actualLines[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (_actualLines.length > 27) {\n _actualLines.pop();\n }\n }\n\n return \"\".concat(kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join('\\n'), \"\\n\");\n }\n\n if (i > 3) {\n end = \"\\n\".concat(blue, \"...\").concat(white).concat(end);\n skipped = true;\n }\n\n if (other !== '') {\n end = \"\\n \".concat(other).concat(end);\n other = '';\n }\n\n var printedLines = 0;\n var msg = kReadableOperator[operator] + \"\\n\".concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white);\n var skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n\n for (i = 0; i < maxLines; i++) {\n // Only extra expected lines exist\n var cur = i - lastPos;\n\n if (actualLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(expectedLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(expectedLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the expected line to the cache.\n\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]);\n printedLines++; // Only extra actual lines exist\n } else if (expectedLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLines[i]);\n printedLines++; // Lines diverge\n } else {\n var expectedLine = expectedLines[i];\n var actualLine = actualLines[i]; // If the lines diverge, specifically check for lines that only diverge by\n // a trailing comma. In that case it is actually identical and we should\n // mark it as such.\n\n var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine); // If the expected line has a trailing comma but is otherwise identical,\n // add a comma at the end of the actual line. Otherwise the output could\n // look weird as in:\n //\n // [\n // 1 // No comma at the end!\n // + 2\n // ]\n //\n\n if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {\n divergingLines = false;\n actualLine += ',';\n }\n\n if (divergingLines) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result and cache the expected diverging\n // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLine);\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLine);\n printedLines += 2; // Lines are identical\n } else {\n // Add all cached information to the result before adding other things\n // and reset the cache.\n res += other;\n other = ''; // If the last diverging line is exactly one line above or if it is the\n // very first line, add the line to the result.\n\n if (cur === 1 || i === 0) {\n res += \"\\n \".concat(actualLine);\n printedLines++;\n }\n }\n } // Inspected object to big (Show ~20 rows max)\n\n\n if (printedLines > 20 && i < maxLines - 2) {\n return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat(blue, \"...\").concat(white).concat(other, \"\\n\") + \"\".concat(blue, \"...\").concat(white);\n }\n }\n\n return \"\".concat(msg).concat(skipped ? skippedMsg : '', \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\n\nvar AssertionError =\n/*#__PURE__*/\nfunction (_Error) {\n _inherits(AssertionError, _Error);\n\n function AssertionError(options) {\n var _this;\n\n _classCallCheck(this, AssertionError);\n\n if (_typeof(options) !== 'object' || options === null) {\n throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);\n }\n\n var message = options.message,\n operator = options.operator,\n stackStartFn = options.stackStartFn;\n var actual = options.actual,\n expected = options.expected;\n var limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n\n if (message != null) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, String(message)));\n } else {\n if (process.stderr && process.stderr.isTTY) {\n // Reset on each call to make sure we handle dynamically set environment\n // variables correct.\n if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {\n blue = \"\\x1B[34m\";\n green = \"\\x1B[32m\";\n white = \"\\x1B[39m\";\n red = \"\\x1B[31m\";\n } else {\n blue = '';\n green = '';\n white = '';\n red = '';\n }\n } // Prevent the error stack from being visible by duplicating the error\n // in a very close way to the original in case both sides are actually\n // instances of Error.\n\n\n if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {\n actual = copyError(actual);\n expected = copyError(expected);\n }\n\n if (operator === 'deepStrictEqual' || operator === 'strictEqual') {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, createErrDiff(actual, expected, operator)));\n } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {\n // In case the objects are equal but the operator requires unequal, show\n // the first object and say A equals B\n var base = kReadableOperator[operator];\n var res = inspectValue(actual).split('\\n'); // In case \"actual\" is an object, it should not be reference equal.\n\n if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {\n base = kReadableOperator.notStrictEqualObject;\n } // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (res.length > 30) {\n res[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (res.length > 27) {\n res.pop();\n }\n } // Only print a single input.\n\n\n if (res.length === 1) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \" \").concat(res[0])));\n } else {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \"\\n\\n\").concat(res.join('\\n'), \"\\n\")));\n }\n } else {\n var _res = inspectValue(actual);\n\n var other = '';\n var knownOperators = kReadableOperator[operator];\n\n if (operator === 'notDeepEqual' || operator === 'notEqual') {\n _res = \"\".concat(kReadableOperator[operator], \"\\n\\n\").concat(_res);\n\n if (_res.length > 1024) {\n _res = \"\".concat(_res.slice(0, 1021), \"...\");\n }\n } else {\n other = \"\".concat(inspectValue(expected));\n\n if (_res.length > 512) {\n _res = \"\".concat(_res.slice(0, 509), \"...\");\n }\n\n if (other.length > 512) {\n other = \"\".concat(other.slice(0, 509), \"...\");\n }\n\n if (operator === 'deepEqual' || operator === 'equal') {\n _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n } else {\n other = \" \".concat(operator, \" \").concat(other);\n }\n }\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(_res).concat(other)));\n }\n }\n\n Error.stackTraceLimit = limit;\n _this.generatedMessage = !message;\n Object.defineProperty(_assertThisInitialized(_this), 'name', {\n value: 'AssertionError [ERR_ASSERTION]',\n enumerable: false,\n writable: true,\n configurable: true\n });\n _this.code = 'ERR_ASSERTION';\n _this.actual = actual;\n _this.expected = expected;\n _this.operator = operator;\n\n if (Error.captureStackTrace) {\n // eslint-disable-next-line no-restricted-syntax\n Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);\n } // Create error message including the error code in the name.\n\n\n _this.stack; // Reset the name.\n\n _this.name = 'AssertionError';\n return _possibleConstructorReturn(_this);\n }\n\n _createClass(AssertionError, [{\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n }, {\n key: inspect.custom,\n value: function value(recurseTimes, ctx) {\n // This limits the `actual` and `expected` property default inspection to\n // the minimum depth. Otherwise those values would be too verbose compared\n // to the actual error message which contains a combined view of these two\n // input values.\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: false,\n depth: 0\n }));\n }\n }]);\n\n return AssertionError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = AssertionError;","// Currently in sync with Node.js lib/internal/errors.js\n// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f\n\n/* eslint node-core/documented-errors: \"error\" */\n\n/* eslint node-core/alphabetize-errors: \"error\" */\n\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n'use strict'; // The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar codes = {}; // Lazy loaded\n\nvar assert;\nvar util;\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inherits(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n var _this;\n\n _classCallCheck(this, NodeError);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError).call(this, getMessage(arg1, arg2, arg3)));\n _this.code = code;\n return _this;\n }\n\n return NodeError;\n }(Base);\n\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n if (assert === undefined) assert = require('../assert');\n assert(typeof name === 'string', \"'name' must be a string\"); // determiner: 'must be' or 'must not be'\n\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } // TODO(BridgeAR): Improve the output by showing `null` and similar.\n\n\n msg += \". Received type \".concat(_typeof(actual));\n return msg;\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_VALUE', function (name, value) {\n var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'is invalid';\n if (util === undefined) util = require('util/');\n var inspected = util.inspect(value);\n\n if (inspected.length > 128) {\n inspected = \"\".concat(inspected.slice(0, 128), \"...\");\n }\n\n return \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n}, TypeError, RangeError);\ncreateErrorType('ERR_INVALID_RETURN_VALUE', function (input, name, value) {\n var type;\n\n if (value && value.constructor && value.constructor.name) {\n type = \"instance of \".concat(value.constructor.name);\n } else {\n type = \"type \".concat(_typeof(value));\n }\n\n return \"Expected \".concat(input, \" to be returned from the \\\"\").concat(name, \"\\\"\") + \" function but got \".concat(type, \".\");\n}, TypeError);\ncreateErrorType('ERR_MISSING_ARGS', function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (assert === undefined) assert = require('../assert');\n assert(args.length > 0, 'At least one arg needs to be specified');\n var msg = 'The ';\n var len = args.length;\n args = args.map(function (a) {\n return \"\\\"\".concat(a, \"\\\"\");\n });\n\n switch (len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n\n default:\n msg += args.slice(0, len - 1).join(', ');\n msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n\n return \"\".concat(msg, \" must be specified\");\n}, TypeError);\nmodule.exports.codes = codes;","// Currently in sync with Node.js lib/internal/util/comparisons.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n'use strict';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar regexFlagsSupported = /a/g.flags !== undefined;\n\nvar arrayFromSet = function arrayFromSet(set) {\n var array = [];\n set.forEach(function (value) {\n return array.push(value);\n });\n return array;\n};\n\nvar arrayFromMap = function arrayFromMap(map) {\n var array = [];\n map.forEach(function (value, key) {\n return array.push([key, value]);\n });\n return array;\n};\n\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function () {\n return [];\n};\nvar numberIsNaN = Number.isNaN ? Number.isNaN : require('is-nan');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\nvar propertyIsEnumerable = uncurryThis(Object.prototype.propertyIsEnumerable);\nvar objectToString = uncurryThis(Object.prototype.toString);\n\nvar _require$types = require('util/').types,\n isAnyArrayBuffer = _require$types.isAnyArrayBuffer,\n isArrayBufferView = _require$types.isArrayBufferView,\n isDate = _require$types.isDate,\n isMap = _require$types.isMap,\n isRegExp = _require$types.isRegExp,\n isSet = _require$types.isSet,\n isNativeError = _require$types.isNativeError,\n isBoxedPrimitive = _require$types.isBoxedPrimitive,\n isNumberObject = _require$types.isNumberObject,\n isStringObject = _require$types.isStringObject,\n isBooleanObject = _require$types.isBooleanObject,\n isBigIntObject = _require$types.isBigIntObject,\n isSymbolObject = _require$types.isSymbolObject,\n isFloat32Array = _require$types.isFloat32Array,\n isFloat64Array = _require$types.isFloat64Array;\n\nfunction isNonIndex(key) {\n if (key.length === 0 || key.length > 10) return true;\n\n for (var i = 0; i < key.length; i++) {\n var code = key.charCodeAt(i);\n if (code < 48 || code > 57) return true;\n } // The maximum size for an array is 2 ** 32 -1.\n\n\n return key.length === 10 && key >= Math.pow(2, 32);\n}\n\nfunction getOwnNonIndexProperties(value) {\n return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));\n} // Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n\n if (y < x) {\n return 1;\n }\n\n return 0;\n}\n\nvar ONLY_ENUMERABLE = undefined;\nvar kStrict = true;\nvar kLoose = false;\nvar kNoIterator = 0;\nvar kIsArray = 1;\nvar kIsSet = 2;\nvar kIsMap = 3; // Check if they have the same source and flags\n\nfunction areSimilarRegExps(a, b) {\n return regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);\n}\n\nfunction areSimilarFloatArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n for (var offset = 0; offset < a.byteLength; offset++) {\n if (a[offset] !== b[offset]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction areSimilarTypedArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n return compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;\n}\n\nfunction areEqualArrayBuffers(buf1, buf2) {\n return buf1.byteLength === buf2.byteLength && compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;\n}\n\nfunction isEqualBoxedPrimitive(val1, val2) {\n if (isNumberObject(val1)) {\n return isNumberObject(val2) && objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));\n }\n\n if (isStringObject(val1)) {\n return isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);\n }\n\n if (isBooleanObject(val1)) {\n return isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);\n }\n\n if (isBigIntObject(val1)) {\n return isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);\n }\n\n return isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);\n} // Notes: Type tags are historical [[Class]] properties that can be set by\n// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n// and retrieved using Object.prototype.toString.call(obj) in JS\n// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n// for a list of tags pre-defined in the spec.\n// There are some unspecified tags in the wild too (e.g. typed array tags).\n// Since tags can be altered, they only serve fast failures\n//\n// Typed arrays and buffers are checked by comparing the content in their\n// underlying ArrayBuffer. This optimization requires that it's\n// reasonable to interpret their underlying memory in the same way,\n// which is checked by comparing their type tags.\n// (e.g. a Uint8Array and a Uint16Array with the same memory content\n// could still be different because they will be interpreted differently).\n//\n// For strict comparison, objects should have\n// a) The same built-in type tags\n// b) The same prototypes.\n\n\nfunction innerDeepEqual(val1, val2, strict, memos) {\n // All identical values are equivalent, as determined by ===.\n if (val1 === val2) {\n if (val1 !== 0) return true;\n return strict ? objectIs(val1, val2) : true;\n } // Check more closely if val1 and val2 are equal.\n\n\n if (strict) {\n if (_typeof(val1) !== 'object') {\n return typeof val1 === 'number' && numberIsNaN(val1) && numberIsNaN(val2);\n }\n\n if (_typeof(val2) !== 'object' || val1 === null || val2 === null) {\n return false;\n }\n\n if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) {\n return false;\n }\n } else {\n if (val1 === null || _typeof(val1) !== 'object') {\n if (val2 === null || _typeof(val2) !== 'object') {\n // eslint-disable-next-line eqeqeq\n return val1 == val2;\n }\n\n return false;\n }\n\n if (val2 === null || _typeof(val2) !== 'object') {\n return false;\n }\n }\n\n var val1Tag = objectToString(val1);\n var val2Tag = objectToString(val2);\n\n if (val1Tag !== val2Tag) {\n return false;\n }\n\n if (Array.isArray(val1)) {\n // Check for sparse arrays and general fast path\n if (val1.length !== val2.length) {\n return false;\n }\n\n var keys1 = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n var keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsArray, keys1);\n } // [browserify] This triggers on certain types in IE (Map/Set) so we don't\n // wan't to early return out of the rest of the checks. However we can check\n // if the second value is one of these values and the first isn't.\n\n\n if (val1Tag === '[object Object]') {\n // return keyCheck(val1, val2, strict, memos, kNoIterator);\n if (!isMap(val1) && isMap(val2) || !isSet(val1) && isSet(val2)) {\n return false;\n }\n }\n\n if (isDate(val1)) {\n if (!isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) {\n return false;\n }\n } else if (isRegExp(val1)) {\n if (!isRegExp(val2) || !areSimilarRegExps(val1, val2)) {\n return false;\n }\n } else if (isNativeError(val1) || val1 instanceof Error) {\n // Do not compare the stack as it might differ even though the error itself\n // is otherwise identical.\n if (val1.message !== val2.message || val1.name !== val2.name) {\n return false;\n }\n } else if (isArrayBufferView(val1)) {\n if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) {\n if (!areSimilarFloatArrays(val1, val2)) {\n return false;\n }\n } else if (!areSimilarTypedArrays(val1, val2)) {\n return false;\n } // Buffer.compare returns true, so val1.length === val2.length. If they both\n // only contain numeric keys, we don't need to exam further than checking\n // the symbols.\n\n\n var _keys = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n\n var _keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (_keys.length !== _keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator, _keys);\n } else if (isSet(val1)) {\n if (!isSet(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsSet);\n } else if (isMap(val1)) {\n if (!isMap(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsMap);\n } else if (isAnyArrayBuffer(val1)) {\n if (!areEqualArrayBuffers(val1, val2)) {\n return false;\n }\n } else if (isBoxedPrimitive(val1) && !isEqualBoxedPrimitive(val1, val2)) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator);\n}\n\nfunction getEnumerables(val, keys) {\n return keys.filter(function (k) {\n return propertyIsEnumerable(val, k);\n });\n}\n\nfunction keyCheck(val1, val2, strict, memos, iterationType, aKeys) {\n // For all remaining Object pairs, including Array, objects and Maps,\n // equivalence is determined by having:\n // a) The same number of owned enumerable properties\n // b) The same set of keys/indexes (although not necessarily the same order)\n // c) Equivalent values for every corresponding key/index\n // d) For Sets and Maps, equal contents\n // Note: this accounts for both named and indexed properties on Arrays.\n if (arguments.length === 5) {\n aKeys = Object.keys(val1);\n var bKeys = Object.keys(val2); // The pair must have the same number of owned properties.\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n } // Cheap key test\n\n\n var i = 0;\n\n for (; i < aKeys.length; i++) {\n if (!hasOwnProperty(val2, aKeys[i])) {\n return false;\n }\n }\n\n if (strict && arguments.length === 5) {\n var symbolKeysA = objectGetOwnPropertySymbols(val1);\n\n if (symbolKeysA.length !== 0) {\n var count = 0;\n\n for (i = 0; i < symbolKeysA.length; i++) {\n var key = symbolKeysA[i];\n\n if (propertyIsEnumerable(val1, key)) {\n if (!propertyIsEnumerable(val2, key)) {\n return false;\n }\n\n aKeys.push(key);\n count++;\n } else if (propertyIsEnumerable(val2, key)) {\n return false;\n }\n }\n\n var symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (symbolKeysA.length !== symbolKeysB.length && getEnumerables(val2, symbolKeysB).length !== count) {\n return false;\n }\n } else {\n var _symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (_symbolKeysB.length !== 0 && getEnumerables(val2, _symbolKeysB).length !== 0) {\n return false;\n }\n }\n }\n\n if (aKeys.length === 0 && (iterationType === kNoIterator || iterationType === kIsArray && val1.length === 0 || val1.size === 0)) {\n return true;\n } // Use memos to handle cycles.\n\n\n if (memos === undefined) {\n memos = {\n val1: new Map(),\n val2: new Map(),\n position: 0\n };\n } else {\n // We prevent up to two map.has(x) calls by directly retrieving the value\n // and checking for undefined. The map can only contain numbers, so it is\n // safe to check for undefined only.\n var val2MemoA = memos.val1.get(val1);\n\n if (val2MemoA !== undefined) {\n var val2MemoB = memos.val2.get(val2);\n\n if (val2MemoB !== undefined) {\n return val2MemoA === val2MemoB;\n }\n }\n\n memos.position++;\n }\n\n memos.val1.set(val1, memos.position);\n memos.val2.set(val2, memos.position);\n var areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType);\n memos.val1.delete(val1);\n memos.val2.delete(val2);\n return areEq;\n}\n\nfunction setHasEqualElement(set, val1, strict, memo) {\n // Go looking.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var val2 = setValues[i];\n\n if (innerDeepEqual(val1, val2, strict, memo)) {\n // Remove the matching element to make sure we do not check that again.\n set.delete(val2);\n return true;\n }\n }\n\n return false;\n} // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using\n// Sadly it is not possible to detect corresponding values properly in case the\n// type is a string, number, bigint or boolean. The reason is that those values\n// can match lots of different string values (e.g., 1n == '+00001').\n\n\nfunction findLooseMatchingPrimitives(prim) {\n switch (_typeof(prim)) {\n case 'undefined':\n return null;\n\n case 'object':\n // Only pass in null as object!\n return undefined;\n\n case 'symbol':\n return false;\n\n case 'string':\n prim = +prim;\n // Loose equal entries exist only if the string is possible to convert to\n // a regular number and not NaN.\n // Fall through\n\n case 'number':\n if (numberIsNaN(prim)) {\n return false;\n }\n\n }\n\n return true;\n}\n\nfunction setMightHaveLoosePrim(a, b, prim) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) return altValue;\n return b.has(altValue) && !a.has(altValue);\n}\n\nfunction mapMightHaveLoosePrim(a, b, prim, item, memo) {\n var altValue = findLooseMatchingPrimitives(prim);\n\n if (altValue != null) {\n return altValue;\n }\n\n var curB = b.get(altValue);\n\n if (curB === undefined && !b.has(altValue) || !innerDeepEqual(item, curB, false, memo)) {\n return false;\n }\n\n return !a.has(altValue) && innerDeepEqual(item, curB, false, memo);\n}\n\nfunction setEquiv(a, b, strict, memo) {\n // This is a lazily initiated Set of entries which have to be compared\n // pairwise.\n var set = null;\n var aValues = arrayFromSet(a);\n\n for (var i = 0; i < aValues.length; i++) {\n var val = aValues[i]; // Note: Checking for the objects first improves the performance for object\n // heavy sets but it is a minor slow down for primitives. As they are fast\n // to check this improves the worst case scenario instead.\n\n if (_typeof(val) === 'object' && val !== null) {\n if (set === null) {\n set = new Set();\n } // If the specified value doesn't exist in the second set its an not null\n // object (or non strict only: a not matching primitive) we'll need to go\n // hunting for something thats deep-(strict-)equal to it. To make this\n // O(n log n) complexity we have to copy these values in a new set first.\n\n\n set.add(val);\n } else if (!b.has(val)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null values.\n\n if (!setMightHaveLoosePrim(a, b, val)) {\n return false;\n }\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(val);\n }\n }\n\n if (set !== null) {\n var bValues = arrayFromSet(b);\n\n for (var _i = 0; _i < bValues.length; _i++) {\n var _val = bValues[_i]; // We have to check if a primitive value is already\n // matching and only if it's not, go hunting for it.\n\n if (_typeof(_val) === 'object' && _val !== null) {\n if (!setHasEqualElement(set, _val, strict, memo)) return false;\n } else if (!strict && !a.has(_val) && !setHasEqualElement(set, _val, strict, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction mapHasEqualEntry(set, map, key1, item1, strict, memo) {\n // To be able to handle cases like:\n // Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n // ... we need to consider *all* matching keys, not just the first we find.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var key2 = setValues[i];\n\n if (innerDeepEqual(key1, key2, strict, memo) && innerDeepEqual(item1, map.get(key2), strict, memo)) {\n set.delete(key2);\n return true;\n }\n }\n\n return false;\n}\n\nfunction mapEquiv(a, b, strict, memo) {\n var set = null;\n var aEntries = arrayFromMap(a);\n\n for (var i = 0; i < aEntries.length; i++) {\n var _aEntries$i = _slicedToArray(aEntries[i], 2),\n key = _aEntries$i[0],\n item1 = _aEntries$i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n } else {\n // By directly retrieving the value we prevent another b.has(key) check in\n // almost all possible cases.\n var item2 = b.get(key);\n\n if (item2 === undefined && !b.has(key) || !innerDeepEqual(item1, item2, strict, memo)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null\n // keys.\n\n if (!mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n }\n }\n }\n\n if (set !== null) {\n var bEntries = arrayFromMap(b);\n\n for (var _i2 = 0; _i2 < bEntries.length; _i2++) {\n var _bEntries$_i = _slicedToArray(bEntries[_i2], 2),\n key = _bEntries$_i[0],\n item = _bEntries$_i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (!mapHasEqualEntry(set, a, key, item, strict, memo)) return false;\n } else if (!strict && (!a.has(key) || !innerDeepEqual(a.get(key), item, false, memo)) && !mapHasEqualEntry(set, a, key, item, false, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction objEquiv(a, b, strict, keys, memos, iterationType) {\n // Sets and maps don't have their entries accessible via normal object\n // properties.\n var i = 0;\n\n if (iterationType === kIsSet) {\n if (!setEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsMap) {\n if (!mapEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsArray) {\n for (; i < a.length; i++) {\n if (hasOwnProperty(a, i)) {\n if (!hasOwnProperty(b, i) || !innerDeepEqual(a[i], b[i], strict, memos)) {\n return false;\n }\n } else if (hasOwnProperty(b, i)) {\n return false;\n } else {\n // Array is sparse.\n var keysA = Object.keys(a);\n\n for (; i < keysA.length; i++) {\n var key = keysA[i];\n\n if (!hasOwnProperty(b, key) || !innerDeepEqual(a[key], b[key], strict, memos)) {\n return false;\n }\n }\n\n if (keysA.length !== Object.keys(b).length) {\n return false;\n }\n\n return true;\n }\n }\n } // The pair must have equivalent values for every corresponding key.\n // Possibly expensive deep test:\n\n\n for (i = 0; i < keys.length; i++) {\n var _key = keys[i];\n\n if (!innerDeepEqual(a[_key], b[_key], strict, memos)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction isDeepEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kLoose);\n}\n\nfunction isDeepStrictEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kStrict);\n}\n\nmodule.exports = {\n isDeepEqual: isDeepEqual,\n isDeepStrictEqual: isDeepStrictEqual\n};","'use strict';\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof global[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","export default () =>\n import(/* webpackChunkName: \"datepicker\" */ '../../fragments/DatePickerRange.react');\n\n\n","import PropTypes from 'prop-types';\nimport React, {Component, lazy, Suspense} from 'react';\nimport datePickerRange from '../utils/LazyLoader/datePickerRange';\nimport transformDate from '../utils/DatePickerPersistence';\n\nconst RealDatePickerRange = lazy(datePickerRange);\n\n/**\n * DatePickerRange is a tailor made component designed for selecting\n * timespan across multiple days off of a calendar.\n *\n * The DatePicker integrates well with the Python datetime module with the\n * startDate and endDate being returned in a string format suitable for\n * creating datetime objects.\n *\n * This component is based off of Airbnb's react-dates react component\n * which can be found here: https://github.com/airbnb/react-dates\n */\nexport default class DatePickerRange extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\n\nDatePickerRange.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Specifies the starting date for the component.\n * Accepts datetime.datetime objects or strings\n * in the format 'YYYY-MM-DD'\n */\n start_date: PropTypes.string,\n\n /**\n * The HTML element ID of the start date input field.\n * Not used by Dash, only by CSS.\n */\n start_date_id: PropTypes.string,\n\n /**\n * The HTML element ID of the end date input field.\n * Not used by Dash, only by CSS.\n */\n end_date_id: PropTypes.string,\n\n /**\n * Specifies the ending date for the component.\n * Accepts datetime.datetime objects or strings\n * in the format 'YYYY-MM-DD'\n */\n end_date: PropTypes.string,\n\n /**\n * Specifies the lowest selectable date for the component.\n * Accepts datetime.datetime objects or strings\n * in the format 'YYYY-MM-DD'\n */\n min_date_allowed: PropTypes.string,\n\n /**\n * Specifies the highest selectable date for the component.\n * Accepts datetime.datetime objects or strings\n * in the format 'YYYY-MM-DD'\n */\n max_date_allowed: PropTypes.string,\n\n /**\n * Specifies additional days between min_date_allowed and max_date_allowed\n * that should be disabled. Accepted datetime.datetime objects or strings\n * in the format 'YYYY-MM-DD'\n */\n disabled_days: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * Specifies the month that is initially presented when the user\n * opens the calendar. Accepts datetime.datetime objects or strings\n * in the format 'YYYY-MM-DD'\n *\n */\n initial_visible_month: PropTypes.string,\n\n /**\n * Text that will be displayed in the first input\n * box of the date picker when no date is selected. Default value is 'Start Date'\n */\n start_date_placeholder_text: PropTypes.string,\n\n /**\n * Text that will be displayed in the second input\n * box of the date picker when no date is selected. Default value is 'End Date'\n */\n end_date_placeholder_text: PropTypes.string,\n\n /**\n * Size of rendered calendar days, higher number\n * means bigger day size and larger calendar overall\n */\n day_size: PropTypes.number,\n\n /**\n * Orientation of calendar, either vertical or horizontal.\n * Valid options are 'vertical' or 'horizontal'.\n */\n calendar_orientation: PropTypes.oneOf(['vertical', 'horizontal']),\n\n /**\n * Determines whether the calendar and days operate\n * from left to right or from right to left\n */\n is_RTL: PropTypes.bool,\n\n /**\n * If True, the calendar will automatically open when cleared\n */\n reopen_calendar_on_clear: PropTypes.bool,\n\n /**\n * Number of calendar months that are shown when calendar is opened\n */\n number_of_months_shown: PropTypes.number,\n\n /**\n * If True, calendar will open in a screen overlay portal,\n * not supported on vertical calendar\n */\n with_portal: PropTypes.bool,\n\n /**\n * If True, calendar will open in a full screen overlay portal, will\n * take precedent over 'withPortal' if both are set to true,\n * not supported on vertical calendar\n */\n with_full_screen_portal: PropTypes.bool,\n\n /**\n * Specifies what day is the first day of the week, values must be\n * from [0, ..., 6] with 0 denoting Sunday and 6 denoting Saturday\n */\n first_day_of_week: PropTypes.oneOf([0, 1, 2, 3, 4, 5, 6]),\n\n /**\n * Specifies a minimum number of nights that must be selected between\n * the startDate and the endDate\n */\n minimum_nights: PropTypes.number,\n\n /**\n * If True the calendar will not close when the user has selected a value\n * and will wait until the user clicks off the calendar\n */\n stay_open_on_select: PropTypes.bool,\n\n /**\n * If True the calendar will display days that rollover into\n * the next month\n */\n show_outside_days: PropTypes.bool,\n\n /**\n * Specifies the format that the month will be displayed in the calendar,\n * valid formats are variations of \"MM YY\". For example:\n * \"MM YY\" renders as '05 97' for May 1997\n * \"MMMM, YYYY\" renders as 'May, 1997' for May 1997\n * \"MMM, YY\" renders as 'Sep, 97' for September 1997\n */\n month_format: PropTypes.string,\n\n /**\n * Specifies the format that the selected dates will be displayed\n * valid formats are variations of \"MM YY DD\". For example:\n * \"MM YY DD\" renders as '05 10 97' for May 10th 1997\n * \"MMMM, YY\" renders as 'May, 1997' for May 10th 1997\n * \"M, D, YYYY\" renders as '07, 10, 1997' for September 10th 1997\n * \"MMMM\" renders as 'May' for May 10 1997\n */\n display_format: PropTypes.string,\n\n /**\n * If True, no dates can be selected.\n */\n disabled: PropTypes.bool,\n\n /**\n * Whether or not the dropdown is \"clearable\", that is, whether or\n * not a small \"x\" appears on the right of the dropdown that removes\n * the selected value.\n */\n clearable: PropTypes.bool,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n\n /**\n * CSS styles appended to wrapper div\n */\n style: PropTypes.object,\n\n /**\n * Appends a CSS class to the wrapper div component.\n */\n className: PropTypes.string,\n\n /**\n * Determines when the component should update\n * its value. If `bothdates`, then the DatePicker\n * will only trigger its value when the user has\n * finished picking both dates. If `singledate`, then\n * the DatePicker will update its value\n * as one date is picked.\n */\n updatemode: PropTypes.oneOf(['singledate', 'bothdates']),\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n\n /**\n * Used to allow user interactions in this component to be persisted when\n * the component - or the page - is refreshed. If `persisted` is truthy and\n * hasn't changed from its previous value, any `persisted_props` that the\n * user has changed while using the app will keep those changes, as long as\n * the new prop value also matches what was given originally.\n * Used in conjunction with `persistence_type` and `persisted_props`.\n */\n persistence: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.number,\n ]),\n\n /**\n * Properties whose user interactions will persist after refreshing the\n * component or the page.\n */\n persisted_props: PropTypes.arrayOf(\n PropTypes.oneOf(['start_date', 'end_date'])\n ),\n\n /**\n * Where persisted user changes will be stored:\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n persistence_type: PropTypes.oneOf(['local', 'session', 'memory']),\n};\n\nDatePickerRange.persistenceTransforms = {\n end_date: transformDate,\n start_date: transformDate,\n};\n\nDatePickerRange.defaultProps = {\n calendar_orientation: 'horizontal',\n is_RTL: false,\n day_size: 39,\n with_portal: false,\n with_full_screen_portal: false,\n first_day_of_week: 0,\n number_of_months_shown: 1,\n stay_open_on_select: false,\n reopen_calendar_on_clear: false,\n clearable: false,\n disabled: false,\n updatemode: 'singledate',\n persisted_props: ['start_date', 'end_date'],\n persistence_type: 'local',\n disabled_days: [],\n};\n\nexport const propTypes = DatePickerRange.propTypes;\nexport const defaultProps = DatePickerRange.defaultProps;\n","export default () => import(/* webpackChunkName: \"datepicker\" */ '../../fragments/DatePickerSingle.react');\n\n","import PropTypes from 'prop-types';\nimport React, {Component, lazy, Suspense} from 'react';\nimport datePickerSingle from '../utils/LazyLoader/datePickerSingle';\nimport transformDate from '../utils/DatePickerPersistence';\n\nconst RealDateSingleRange = lazy(datePickerSingle);\n\n/**\n * DatePickerSingle is a tailor made component designed for selecting\n * a single day off of a calendar.\n *\n * The DatePicker integrates well with the Python datetime module with the\n * startDate and endDate being returned in a string format suitable for\n * creating datetime objects.\n *\n * This component is based off of Airbnb's react-dates react component\n * which can be found here: https://github.com/airbnb/react-dates\n */\nexport default class DatePickerSingle extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\n\nDatePickerSingle.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Specifies the starting date for the component, best practice is to pass\n * value via datetime object\n */\n date: PropTypes.string,\n\n /**\n * Specifies the lowest selectable date for the component.\n * Accepts datetime.datetime objects or strings\n * in the format 'YYYY-MM-DD'\n */\n min_date_allowed: PropTypes.string,\n\n /**\n * Specifies the highest selectable date for the component.\n * Accepts datetime.datetime objects or strings\n * in the format 'YYYY-MM-DD'\n */\n max_date_allowed: PropTypes.string,\n\n /**\n * Specifies additional days between min_date_allowed and max_date_allowed\n * that should be disabled. Accepted datetime.datetime objects or strings\n * in the format 'YYYY-MM-DD'\n */\n disabled_days: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * Specifies the month that is initially presented when the user\n * opens the calendar. Accepts datetime.datetime objects or strings\n * in the format 'YYYY-MM-DD'\n *\n */\n initial_visible_month: PropTypes.string,\n\n /**\n * Size of rendered calendar days, higher number\n * means bigger day size and larger calendar overall\n */\n day_size: PropTypes.number,\n\n /**\n * Orientation of calendar, either vertical or horizontal.\n * Valid options are 'vertical' or 'horizontal'.\n */\n calendar_orientation: PropTypes.oneOf(['vertical', 'horizontal']),\n\n /**\n * Determines whether the calendar and days operate\n * from left to right or from right to left\n */\n is_RTL: PropTypes.bool,\n /**\n * Text that will be displayed in the input\n * box of the date picker when no date is selected.\n * Default value is 'Start Date'\n */\n placeholder: PropTypes.string,\n\n /**\n * If True, the calendar will automatically open when cleared\n */\n reopen_calendar_on_clear: PropTypes.bool,\n\n /**\n * Number of calendar months that are shown when calendar is opened\n */\n number_of_months_shown: PropTypes.number,\n\n /**\n * If True, calendar will open in a screen overlay portal,\n * not supported on vertical calendar\n */\n with_portal: PropTypes.bool,\n\n /**\n * If True, calendar will open in a full screen overlay portal, will\n * take precedent over 'withPortal' if both are set to True,\n * not supported on vertical calendar\n */\n with_full_screen_portal: PropTypes.bool,\n\n /**\n * Specifies what day is the first day of the week, values must be\n * from [0, ..., 6] with 0 denoting Sunday and 6 denoting Saturday\n */\n first_day_of_week: PropTypes.oneOf([0, 1, 2, 3, 4, 5, 6]),\n\n /**\n * If True the calendar will not close when the user has selected a value\n * and will wait until the user clicks off the calendar\n */\n stay_open_on_select: PropTypes.bool,\n\n /**\n * If True the calendar will display days that rollover into\n * the next month\n */\n show_outside_days: PropTypes.bool,\n\n /**\n * Specifies the format that the month will be displayed in the calendar,\n * valid formats are variations of \"MM YY\". For example:\n * \"MM YY\" renders as '05 97' for May 1997\n * \"MMMM, YYYY\" renders as 'May, 1997' for May 1997\n * \"MMM, YY\" renders as 'Sep, 97' for September 1997\n */\n month_format: PropTypes.string,\n\n /**\n * Specifies the format that the selected dates will be displayed\n * valid formats are variations of \"MM YY DD\". For example:\n * \"MM YY DD\" renders as '05 10 97' for May 10th 1997\n * \"MMMM, YY\" renders as 'May, 1997' for May 10th 1997\n * \"M, D, YYYY\" renders as '07, 10, 1997' for September 10th 1997\n * \"MMMM\" renders as 'May' for May 10 1997\n */\n display_format: PropTypes.string,\n\n /**\n * If True, no dates can be selected.\n */\n disabled: PropTypes.bool,\n\n /**\n * Whether or not the dropdown is \"clearable\", that is, whether or\n * not a small \"x\" appears on the right of the dropdown that removes\n * the selected value.\n */\n clearable: PropTypes.bool,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n\n /**\n * CSS styles appended to wrapper div\n */\n style: PropTypes.object,\n\n /**\n * Appends a CSS class to the wrapper div component.\n */\n className: PropTypes.string,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n\n /**\n * Used to allow user interactions in this component to be persisted when\n * the component - or the page - is refreshed. If `persisted` is truthy and\n * hasn't changed from its previous value, a `date` that the user has\n * changed while using the app will keep that change, as long as\n * the new `date` also matches what was given originally.\n * Used in conjunction with `persistence_type`.\n */\n persistence: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.number,\n ]),\n\n /**\n * Properties whose user interactions will persist after refreshing the\n * component or the page. Since only `date` is allowed this prop can\n * normally be ignored.\n */\n persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['date'])),\n\n /**\n * Where persisted user changes will be stored:\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n persistence_type: PropTypes.oneOf(['local', 'session', 'memory']),\n};\n\nDatePickerSingle.persistenceTransforms = {\n date: transformDate,\n};\n\nDatePickerSingle.defaultProps = {\n calendar_orientation: 'horizontal',\n is_RTL: false,\n day_size: 39,\n with_portal: false,\n with_full_screen_portal: false,\n show_outside_days: true,\n first_day_of_week: 0,\n number_of_months_shown: 1,\n stay_open_on_select: false,\n reopen_calendar_on_clear: false,\n clearable: false,\n disabled: false,\n persisted_props: ['date'],\n persistence_type: 'local',\n disabled_days: [],\n};\n\nexport const propTypes = DatePickerSingle.propTypes;\nexport const defaultProps = DatePickerSingle.defaultProps;\n","export default () => import(/* webpackChunkName: \"dropdown\" */ '../../fragments/Dropdown.react');\n\n","import PropTypes from 'prop-types';\nimport React, {Component, lazy, Suspense} from 'react';\nimport dropdown from '../utils/LazyLoader/dropdown';\n\nconst RealDropdown = lazy(dropdown);\n\n/**\n * Dropdown is an interactive dropdown element for selecting one or more\n * items.\n * The values and labels of the dropdown items are specified in the `options`\n * property and the selected item(s) are specified with the `value` property.\n *\n * Use a dropdown when you have many options (more than 5) or when you are\n * constrained for space. Otherwise, you can use RadioItems or a Checklist,\n * which have the benefit of showing the users all of the items at once.\n */\nexport default class Dropdown extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\n\nDropdown.propTypes = {\n /**\n * An array of options {label: [string|number], value: [string|number]},\n * an optional disabled field can be used for each option\n */\n options: PropTypes.oneOfType([\n /**\n * Array of options where the label and the value are the same thing - [string|number|bool]\n */\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ])\n ),\n /**\n * Simpler `options` representation in dictionary format. The order is not guaranteed.\n * {`value1`: `label1`, `value2`: `label2`, ... }\n * which is equal to\n * [{label: `label1`, value: `value1`}, {label: `label2`, value: `value2`}, ...]\n */\n PropTypes.object,\n /**\n * An array of options {label: [string|number], value: [string|number]},\n * an optional disabled field can be used for each option\n */\n PropTypes.arrayOf(\n PropTypes.exact({\n /**\n * The option's label\n */\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired,\n\n /**\n * The value of the option. This value\n * corresponds to the items specified in the\n * `value` property.\n */\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]).isRequired,\n\n /**\n * If true, this option is disabled and cannot be selected.\n */\n disabled: PropTypes.bool,\n\n /**\n * The HTML 'title' attribute for the option. Allows for\n * information on hover. For more information on this attribute,\n * see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/title\n */\n title: PropTypes.string,\n })\n ),\n ]),\n\n /**\n * The value of the input. If `multi` is false (the default)\n * then value is just a string that corresponds to the values\n * provided in the `options` property. If `multi` is true, then\n * multiple values can be selected at once, and `value` is an\n * array of items with values corresponding to those in the\n * `options` prop.\n */\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ])\n ),\n ]),\n\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * height of each option. Can be increased when label lengths would wrap around\n */\n optionHeight: PropTypes.number,\n\n /**\n * className of the dropdown element\n */\n className: PropTypes.string,\n\n /**\n * Whether or not the dropdown is \"clearable\", that is, whether or\n * not a small \"x\" appears on the right of the dropdown that removes\n * the selected value.\n */\n clearable: PropTypes.bool,\n\n /**\n * If true, this dropdown is disabled and the selection cannot be changed.\n */\n disabled: PropTypes.bool,\n\n /**\n * If true, the user can select multiple values\n */\n multi: PropTypes.bool,\n\n /**\n * The grey, default text shown when no option is selected\n */\n placeholder: PropTypes.string,\n\n /**\n * Whether to enable the searching feature or not\n */\n searchable: PropTypes.bool,\n\n /**\n * The value typed in the DropDown for searching.\n */\n search_value: PropTypes.string,\n\n /**\n * Dash-assigned callback that gets fired when the input changes\n */\n setProps: PropTypes.func,\n\n /**\n * Defines CSS styles which will override styles previously set.\n */\n style: PropTypes.object,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n\n /**\n * Used to allow user interactions in this component to be persisted when\n * the component - or the page - is refreshed. If `persisted` is truthy and\n * hasn't changed from its previous value, a `value` that the user has\n * changed while using the app will keep that change, as long as\n * the new `value` also matches what was given originally.\n * Used in conjunction with `persistence_type`.\n */\n persistence: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.number,\n ]),\n\n /**\n * Properties whose user interactions will persist after refreshing the\n * component or the page. Since only `value` is allowed this prop can\n * normally be ignored.\n */\n persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['value'])),\n\n /**\n * Where persisted user changes will be stored:\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n persistence_type: PropTypes.oneOf(['local', 'session', 'memory']),\n};\n\nDropdown.defaultProps = {\n clearable: true,\n disabled: false,\n multi: false,\n searchable: true,\n optionHeight: 35,\n persisted_props: ['value'],\n persistence_type: 'local',\n};\n\nexport const propTypes = Dropdown.propTypes;\nexport const defaultProps = Dropdown.defaultProps;\n","import PropTypes from 'prop-types';\n\nexport const privatePropTypes = {\n _dashprivate_transformConfig: PropTypes.func,\n _dashprivate_transformFigure: PropTypes.func,\n _dashprivate_onFigureModified: PropTypes.func,\n};\n\nexport const privateDefaultProps = {\n _dashprivate_transformConfig: c => c,\n _dashprivate_transformFigure: f => f,\n _dashprivate_onFigureModified: f => f,\n};\n","import React, {Component, memo, Suspense} from 'react';\nimport PropTypes from 'prop-types';\n\nimport {asyncDecorator} from '@plotly/dash-component-plugins';\nimport graph from '../utils/LazyLoader/graph';\nimport plotly from '../utils/LazyLoader/plotly';\nimport {\n privatePropTypes,\n privateDefaultProps,\n} from '../fragments/Graph.privateprops';\n\nconst EMPTY_DATA = [];\n\n/**\n * Graph can be used to render any plotly.js-powered data visualization.\n *\n * You can define callbacks based on user interaction with Graphs such as\n * hovering, clicking or selecting\n */\nclass PlotlyGraph extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n prependData: [],\n extendData: [],\n };\n\n this.clearState = this.clearState.bind(this);\n }\n\n componentDidMount() {\n if (this.props.prependData) {\n this.setState({\n prependData: [this.props.prependData],\n });\n }\n if (this.props.extendData) {\n this.setState({\n extendData: [this.props.extendData],\n });\n }\n }\n\n componentWillUnmount() {\n this.setState({\n prependData: [],\n extendData: [],\n });\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n let prependData = this.state.prependData.slice(0);\n\n if (this.props.figure !== nextProps.figure) {\n prependData = EMPTY_DATA;\n }\n\n if (\n nextProps.prependData &&\n this.props.prependData !== nextProps.prependData\n ) {\n prependData.push(nextProps.prependData);\n } else {\n prependData = EMPTY_DATA;\n }\n\n if (prependData !== EMPTY_DATA) {\n this.setState({\n prependData,\n });\n }\n\n let extendData = this.state.extendData.slice(0);\n\n if (this.props.figure !== nextProps.figure) {\n extendData = EMPTY_DATA;\n }\n\n if (\n nextProps.extendData &&\n this.props.extendData !== nextProps.extendData\n ) {\n extendData.push(nextProps.extendData);\n } else {\n extendData = EMPTY_DATA;\n }\n\n if (extendData !== EMPTY_DATA) {\n this.setState({\n extendData,\n });\n }\n }\n\n clearState(dataKey) {\n this.setState(props => {\n var data = props[dataKey];\n const res =\n data && data.length\n ? {\n [dataKey]: EMPTY_DATA,\n }\n : undefined;\n\n return res;\n });\n }\n\n render() {\n return (\n \n );\n }\n}\n\nconst RealPlotlyGraph = asyncDecorator(PlotlyGraph, () =>\n Promise.all([plotly(), graph()]).then(([, graph]) => graph)\n);\n\nconst ControlledPlotlyGraph = memo(props => {\n const {className, id} = props;\n\n const extendedClassName = className\n ? 'dash-graph ' + className\n : 'dash-graph';\n\n return (\n \n }\n >\n \n \n );\n});\n\nPlotlyGraph.propTypes = {\n ...privatePropTypes,\n\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * If True, the Plotly.js plot will be fully responsive to window resize\n * and parent element resize event. This is achieved by overriding\n * `config.responsive` to True, `figure.layout.autosize` to True and unsetting\n * `figure.layout.height` and `figure.layout.width`.\n * If False, the Plotly.js plot not be responsive to window resize and\n * parent element resize event. This is achieved by overriding `config.responsive`\n * to False and `figure.layout.autosize` to False.\n * If 'auto' (default), the Graph will determine if the Plotly.js plot can be made fully\n * responsive (True) or not (False) based on the values in `config.responsive`,\n * `figure.layout.autosize`, `figure.layout.height`, `figure.layout.width`.\n * This is the legacy behavior of the Graph component.\n *\n * Needs to be combined with appropriate dimension / styling through the `style` prop\n * to fully take effect.\n */\n responsive: PropTypes.oneOf([true, false, 'auto']),\n\n /**\n * Data from latest click event. Read-only.\n */\n clickData: PropTypes.object,\n\n /**\n * Data from latest click annotation event. Read-only.\n */\n clickAnnotationData: PropTypes.object,\n\n /**\n * Data from latest hover event. Read-only.\n */\n hoverData: PropTypes.object,\n\n /**\n * If True, `clear_on_unhover` will clear the `hoverData` property\n * when the user \"unhovers\" from a point.\n * If False, then the `hoverData` property will be equal to the\n * data from the last point that was hovered over.\n */\n clear_on_unhover: PropTypes.bool,\n\n /**\n * Data from latest select event. Read-only.\n */\n selectedData: PropTypes.object,\n\n /**\n * Data from latest relayout event which occurs\n * when the user zooms or pans on the plot or other\n * layout-level edits. Has the form `{: }`\n * describing the changes made. Read-only.\n */\n relayoutData: PropTypes.object,\n\n /**\n * Data that should be appended to existing traces. Has the form\n * `[updateData, traceIndices, maxPoints]`, where `updateData` is an object\n * containing the data to extend, `traceIndices` (optional) is an array of\n * trace indices that should be extended, and `maxPoints` (optional) is\n * either an integer defining the maximum number of points allowed or an\n * object with key:value pairs matching `updateData`\n * Reference the Plotly.extendTraces API for full usage:\n * https://plotly.com/javascript/plotlyjs-function-reference/#plotlyextendtraces\n */\n extendData: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n\n /**\n * Data that should be prepended to existing traces. Has the form\n * `[updateData, traceIndices, maxPoints]`, where `updateData` is an object\n * containing the data to prepend, `traceIndices` (optional) is an array of\n * trace indices that should be prepended, and `maxPoints` (optional) is\n * either an integer defining the maximum number of points allowed or an\n * object with key:value pairs matching `updateData`\n * Reference the Plotly.prependTraces API for full usage:\n * https://plotly.com/javascript/plotlyjs-function-reference/#plotlyprependtraces\n */\n prependData: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n\n /**\n * Data from latest restyle event which occurs\n * when the user toggles a legend item, changes\n * parcoords selections, or other trace-level edits.\n * Has the form `[edits, indices]`, where `edits` is an object\n * `{: }` describing the changes made,\n * and `indices` is an array of trace indices that were edited.\n * Read-only.\n */\n restyleData: PropTypes.array,\n\n /**\n * Plotly `figure` object. See schema:\n * https://plotly.com/javascript/reference\n *\n * `config` is set separately by the `config` property\n */\n figure: PropTypes.exact({\n data: PropTypes.arrayOf(PropTypes.object),\n layout: PropTypes.object,\n frames: PropTypes.arrayOf(PropTypes.object),\n }),\n\n /**\n * Generic style overrides on the plot div\n */\n style: PropTypes.object,\n\n /**\n * className of the parent div\n */\n className: PropTypes.string,\n\n /**\n * Beta: If true, animate between updates using\n * plotly.js's `animate` function\n */\n animate: PropTypes.bool,\n\n /**\n * Beta: Object containing animation settings.\n * Only applies if `animate` is `true`\n */\n animation_options: PropTypes.object,\n\n /**\n * Plotly.js config options.\n * See https://plotly.com/javascript/configuration-options/\n * for more info.\n */\n config: PropTypes.exact({\n /**\n * No interactivity, for export or image generation\n */\n staticPlot: PropTypes.bool,\n\n /**\n * Base URL for a Plotly cloud instance, if `showSendToCloud` is enabled\n */\n plotlyServerURL: PropTypes.string,\n\n /**\n * We can edit titles, move annotations, etc - sets all pieces of `edits`\n * unless a separate `edits` config item overrides individual parts\n */\n editable: PropTypes.bool,\n\n /**\n * A set of editable properties\n */\n edits: PropTypes.exact({\n /**\n * The main anchor of the annotation, which is the\n * text (if no arrow) or the arrow (which drags the whole thing leaving\n * the arrow length & direction unchanged)\n */\n annotationPosition: PropTypes.bool,\n\n /**\n * Just for annotations with arrows, change the length and direction of the arrow\n */\n annotationTail: PropTypes.bool,\n\n annotationText: PropTypes.bool,\n\n axisTitleText: PropTypes.bool,\n\n colorbarPosition: PropTypes.bool,\n\n colorbarTitleText: PropTypes.bool,\n\n legendPosition: PropTypes.bool,\n\n /**\n * Edit the trace name fields from the legend\n */\n legendText: PropTypes.bool,\n\n shapePosition: PropTypes.bool,\n\n /**\n * The global `layout.title`\n */\n titleText: PropTypes.bool,\n }),\n\n /**\n * DO autosize once regardless of layout.autosize\n * (use default width or height values otherwise)\n */\n autosizable: PropTypes.bool,\n\n /**\n * Whether to change layout size when the window size changes\n */\n responsive: PropTypes.bool,\n\n /**\n * Set the length of the undo/redo queue\n */\n queueLength: PropTypes.number,\n\n /**\n * If we DO autosize, do we fill the container or the screen?\n */\n fillFrame: PropTypes.bool,\n\n /**\n * If we DO autosize, set the frame margins in percents of plot size\n */\n frameMargins: PropTypes.number,\n\n /**\n * Mousewheel or two-finger scroll zooms the plot\n */\n scrollZoom: PropTypes.bool,\n\n /**\n * Double click interaction (false, 'reset', 'autosize' or 'reset+autosize')\n */\n doubleClick: PropTypes.oneOf([\n false,\n 'reset',\n 'autosize',\n 'reset+autosize',\n ]),\n\n /**\n * Delay for registering a double-click event in ms. The\n * minimum value is 100 and the maximum value is 1000. By\n * default this is 300.\n */\n doubleClickDelay: PropTypes.number,\n\n /**\n * New users see some hints about interactivity\n */\n showTips: PropTypes.bool,\n\n /**\n * Enable axis pan/zoom drag handles\n */\n showAxisDragHandles: PropTypes.bool,\n\n /**\n * Enable direct range entry at the pan/zoom drag points\n * (drag handles must be enabled above)\n */\n showAxisRangeEntryBoxes: PropTypes.bool,\n\n /**\n * Link to open this plot in plotly\n */\n showLink: PropTypes.bool,\n\n /**\n * If we show a link, does it contain data or just link to a plotly file?\n */\n sendData: PropTypes.bool,\n\n /**\n * Text appearing in the sendData link\n */\n linkText: PropTypes.string,\n\n /**\n * Display the mode bar (true, false, or 'hover')\n */\n displayModeBar: PropTypes.oneOf([true, false, 'hover']),\n\n /**\n * Should we include a modebar button to send this data to a\n * Plotly Cloud instance, linked by `plotlyServerURL`.\n * By default this is false.\n */\n showSendToCloud: PropTypes.bool,\n\n /**\n * Should we show a modebar button to send this data to a\n * Plotly Chart Studio plot. If both this and showSendToCloud\n * are selected, only showEditInChartStudio will be\n * honored. By default this is false.\n */\n showEditInChartStudio: PropTypes.bool,\n\n /**\n * Remove mode bar button by name.\n * All modebar button names at https://github.com/plotly/plotly.js/blob/master/src/components/modebar/buttons.js\n * Common names include:\n * sendDataToCloud;\n * (2D) zoom2d, pan2d, select2d, lasso2d, zoomIn2d, zoomOut2d, autoScale2d, resetScale2d;\n * (Cartesian) hoverClosestCartesian, hoverCompareCartesian;\n * (3D) zoom3d, pan3d, orbitRotation, tableRotation, handleDrag3d, resetCameraDefault3d, resetCameraLastSave3d, hoverClosest3d;\n * (Geo) zoomInGeo, zoomOutGeo, resetGeo, hoverClosestGeo;\n * hoverClosestGl2d, hoverClosestPie, toggleHover, resetViews.\n */\n modeBarButtonsToRemove: PropTypes.array,\n\n /**\n * Add mode bar button using config objects\n */\n modeBarButtonsToAdd: PropTypes.array,\n\n /**\n * Fully custom mode bar buttons as nested array,\n * where the outer arrays represents button groups, and\n * the inner arrays have buttons config objects or names of default buttons\n */\n modeBarButtons: PropTypes.any,\n\n /**\n * Modifications to how the toImage modebar button works\n */\n toImageButtonOptions: PropTypes.exact({\n /**\n * The file format to create\n */\n format: PropTypes.oneOf(['jpeg', 'png', 'webp', 'svg']),\n /**\n * The name given to the downloaded file\n */\n filename: PropTypes.string,\n /**\n * Width of the downloaded file, in px\n */\n width: PropTypes.number,\n /**\n * Height of the downloaded file, in px\n */\n height: PropTypes.number,\n /**\n * Extra resolution to give the file after\n * rendering it with the given width and height\n */\n scale: PropTypes.number,\n }),\n\n /**\n * Add the plotly logo on the end of the mode bar\n */\n displaylogo: PropTypes.bool,\n\n /**\n * Add the plotly logo even with no modebar\n */\n watermark: PropTypes.bool,\n\n /**\n * Increase the pixel ratio for Gl plot images\n */\n plotGlPixelRatio: PropTypes.number,\n\n /**\n * URL to topojson files used in geo charts\n */\n topojsonURL: PropTypes.string,\n\n /**\n * Mapbox access token (required to plot mapbox trace types)\n * If using an Mapbox Atlas server, set this option to '',\n * so that plotly.js won't attempt to authenticate to the public Mapbox server.\n */\n mapboxAccessToken: PropTypes.any,\n\n /**\n * The locale to use. Locales may be provided with the plot\n * (`locales` below) or by loading them on the page, see:\n * https://github.com/plotly/plotly.js/blob/master/dist/README.md#to-include-localization\n */\n locale: PropTypes.string,\n\n /**\n * Localization definitions, if you choose to provide them with the\n * plot rather than registering them globally.\n */\n locales: PropTypes.object,\n }),\n\n /**\n * Function that updates the state tree.\n */\n setProps: PropTypes.func,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n};\n\nControlledPlotlyGraph.propTypes = PlotlyGraph.propTypes;\n\nPlotlyGraph.defaultProps = {\n ...privateDefaultProps,\n\n clickData: null,\n clickAnnotationData: null,\n hoverData: null,\n selectedData: null,\n relayoutData: null,\n prependData: null,\n extendData: null,\n restyleData: null,\n figure: {\n data: [],\n layout: {},\n frames: [],\n },\n responsive: 'auto',\n animate: false,\n animation_options: {\n frame: {\n redraw: false,\n },\n transition: {\n duration: 750,\n ease: 'cubic-in-out',\n },\n },\n clear_on_unhover: false,\n config: {},\n};\n\nexport const graphPropTypes = PlotlyGraph.propTypes;\nexport const graphDefaultProps = PlotlyGraph.defaultProps;\n\nexport default PlotlyGraph;\n","export default () => Promise.resolve(window.Plotly ||\n import(/* webpackChunkName: \"plotlyjs\" */ 'plotly.js').then(({ default: Plotly }) => {\n window.Plotly = Plotly;\n return Plotly;\n }));\n\n","export default () => import(/* webpackChunkName: \"graph\" */ '../../fragments/Graph.react');\n\n","import PropTypes from 'prop-types';\n\nimport React, {Component} from 'react';\n\nimport {isNil} from 'ramda';\n\n/*\n * event polyfill for IE\n * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent\n */\nfunction CustomEvent(event, params) {\n // eslint-disable-next-line no-param-reassign\n params = params || {\n bubbles: false,\n cancelable: false,\n // eslint-disable-next-line no-undefined\n detail: undefined,\n };\n const evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(\n event,\n params.bubbles,\n params.cancelable,\n params.detail\n );\n return evt;\n}\nCustomEvent.prototype = window.Event.prototype;\n\n/**\n * Link allows you to create a clickable link within a multi-page app.\n *\n * For links with destinations outside the current app, `html.A` is a better\n * component to use.\n */\nexport default class Link extends Component {\n constructor(props) {\n super(props);\n this.updateLocation = this.updateLocation.bind(this);\n }\n\n updateLocation(e) {\n const hasModifiers = e.metaKey || e.shiftKey || e.altKey || e.ctrlKey;\n const {href, refresh, target} = this.props;\n\n if (hasModifiers) {\n return;\n }\n if (target !== '_self' && !isNil(target)) {\n return;\n }\n // prevent anchor from updating location\n e.preventDefault();\n if (refresh) {\n window.location = href;\n } else {\n window.history.pushState({}, '', href);\n window.dispatchEvent(new CustomEvent('_dashprivate_pushstate'));\n }\n // scroll back to top\n window.scrollTo(0, 0);\n }\n\n render() {\n const {\n className,\n style,\n id,\n href,\n loading_state,\n children,\n title,\n target,\n } = this.props;\n /*\n * ideally, we would use cloneElement however\n * that doesn't work with dash's recursive\n * renderTree implementation for some reason\n */\n return (\n this.updateLocation(e)}\n title={title}\n target={target}\n >\n {isNil(children) ? href : children}\n \n );\n }\n}\n\nLink.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n /**\n * The URL of a linked resource.\n */\n href: PropTypes.string.isRequired,\n /**\n * Controls whether or not the page will refresh when the link is clicked\n */\n refresh: PropTypes.bool,\n /**\n * Often used with CSS to style elements with common properties.\n */\n className: PropTypes.string,\n /**\n * Defines CSS styles which will override styles previously set.\n */\n style: PropTypes.object,\n /**\n * Adds the title attribute to your link, which can contain supplementary\n * information.\n */\n title: PropTypes.string,\n /**\n * Specifies where to open the link reference.\n */\n target: PropTypes.string,\n /**\n * The children of this component\n */\n children: PropTypes.node,\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n};\n\nLink.defaultProps = {\n refresh: false,\n};\n","export default () => import(/* webpackChunkName: \"markdown\" */ '../../fragments/Markdown.react');\n\n","import PropTypes from 'prop-types';\nimport React, {Component, lazy, Suspense} from 'react';\nimport markdown from '../utils/LazyLoader/markdown';\n\nconst RealDashMarkdown = lazy(markdown);\n\n// eslint-disable-next-line valid-jsdoc\n/**\n * A component that renders Markdown text as specified by the\n * GitHub Markdown spec. These component uses\n * [react-markdown](https://rexxars.github.io/react-markdown/) under the hood.\n */\nexport default class DashMarkdown extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\n\nDashMarkdown.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n /**\n * Class name of the container element\n */\n className: PropTypes.string,\n\n /**\n * A boolean to control raw HTML escaping.\n * Setting HTML from code is risky because it's easy to\n * inadvertently expose your users to a cross-site scripting (XSS)\n * (https://en.wikipedia.org/wiki/Cross-site_scripting) attack.\n */\n dangerously_allow_html: PropTypes.bool,\n\n /**\n * A markdown string (or array of strings) that adhreres to the CommonMark spec\n */\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n\n /**\n * Remove matching leading whitespace from all lines.\n * Lines that are empty, or contain *only* whitespace, are ignored.\n * Both spaces and tab characters are removed, but only if they match;\n * we will not convert tabs to spaces or vice versa.\n */\n dedent: PropTypes.bool,\n\n /**\n * Config options for syntax highlighting.\n */\n highlight_config: PropTypes.exact({\n /**\n * Color scheme; default 'light'\n */\n theme: PropTypes.oneOf(['dark', 'light']),\n }),\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n\n /**\n * User-defined inline styles for the rendered Markdown\n */\n style: PropTypes.object,\n};\n\nDashMarkdown.defaultProps = {\n dangerously_allow_html: false,\n highlight_config: {},\n dedent: true,\n};\n\nexport const propTypes = DashMarkdown.propTypes;\nexport const defaultProps = DashMarkdown.defaultProps;\n","export default () => import(/* webpackChunkName: \"slider\" */ '../../fragments/RangeSlider.react');\n\n","import React, {Component, lazy, Suspense} from 'react';\nimport PropTypes from 'prop-types';\nimport rangeSlider from '../utils/LazyLoader/rangeSlider';\n\nconst RealRangeSlider = lazy(rangeSlider);\n\n/**\n * A double slider with two handles.\n * Used for specifying a range of numerical values.\n */\nexport default class RangeSlider extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\n\nRangeSlider.propTypes = {\n /**\n * Minimum allowed value of the slider\n */\n min: PropTypes.number,\n\n /**\n * Maximum allowed value of the slider\n */\n max: PropTypes.number,\n\n /**\n * Value by which increments or decrements are made\n */\n step: PropTypes.number,\n\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Marks on the slider.\n * The key determines the position (a number),\n * and the value determines what will show.\n * If you want to set the style of a specific mark point,\n * the value should be an object which\n * contains style and label properties.\n */\n marks: PropTypes.objectOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.exact({\n label: PropTypes.string,\n style: PropTypes.object,\n }),\n ])\n ),\n\n /**\n * The value of the input\n */\n value: PropTypes.arrayOf(PropTypes.number),\n\n /**\n * The value of the input during a drag\n */\n drag_value: PropTypes.arrayOf(PropTypes.number),\n\n /**\n * allowCross could be set as true to allow those handles to cross.\n */\n allowCross: PropTypes.bool,\n\n /**\n * Additional CSS class for the root DOM node\n */\n className: PropTypes.string,\n\n /**\n * Determine how many ranges to render, and multiple handles\n * will be rendered (number + 1).\n */\n count: PropTypes.number,\n\n /**\n * If true, the handles can't be moved.\n */\n disabled: PropTypes.bool,\n\n /**\n * When the step value is greater than 1,\n * you can set the dots to true if you want to\n * render the slider with dots.\n */\n dots: PropTypes.bool,\n\n /**\n * If the value is true, it means a continuous\n * value is included. Otherwise, it is an independent value.\n */\n included: PropTypes.bool,\n\n /**\n * pushable could be set as true to allow pushing of\n * surrounding handles when moving an handle.\n * When set to a number, the number will be the\n * minimum ensured distance between handles.\n */\n pushable: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n\n /**\n * Configuration for tooltips describing the current slider values\n */\n tooltip: PropTypes.exact({\n /**\n * Determines whether tooltips should always be visible\n * (as opposed to the default, visible on hover)\n */\n always_visible: PropTypes.bool,\n\n /**\n * Determines the placement of tooltips\n * See https://github.com/react-component/tooltip#api\n * top/bottom{*} sets the _origin_ of the tooltip, so e.g. `topLeft`\n * will in reality appear to be on the top right of the handle\n */\n placement: PropTypes.oneOf([\n 'left',\n 'right',\n 'top',\n 'bottom',\n 'topLeft',\n 'topRight',\n 'bottomLeft',\n 'bottomRight',\n ]),\n }),\n\n /**\n * If true, the slider will be vertical\n */\n vertical: PropTypes.bool,\n\n /**\n * The height, in px, of the slider if it is vertical.\n */\n verticalHeight: PropTypes.number,\n\n /**\n * Determines when the component should update its `value`\n * property. If `mouseup` (the default) then the slider\n * will only trigger its value when the user has finished\n * dragging the slider. If `drag`, then the slider will\n * update its value continuously as it is being dragged.\n * Note that for the latter case, the `drag_value`\n * property could be used instead.\n */\n updatemode: PropTypes.oneOf(['mouseup', 'drag']),\n\n /**\n * Dash-assigned callback that gets fired when the value or drag_value changes.\n */\n setProps: PropTypes.func,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n\n /**\n * Used to allow user interactions in this component to be persisted when\n * the component - or the page - is refreshed. If `persisted` is truthy and\n * hasn't changed from its previous value, a `value` that the user has\n * changed while using the app will keep that change, as long as\n * the new `value` also matches what was given originally.\n * Used in conjunction with `persistence_type`.\n */\n persistence: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.number,\n ]),\n\n /**\n * Properties whose user interactions will persist after refreshing the\n * component or the page. Since only `value` is allowed this prop can\n * normally be ignored.\n */\n persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['value'])),\n\n /**\n * Where persisted user changes will be stored:\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n persistence_type: PropTypes.oneOf(['local', 'session', 'memory']),\n};\n\nRangeSlider.defaultProps = {\n updatemode: 'mouseup',\n persisted_props: ['value'],\n persistence_type: 'local',\n verticalHeight: 400,\n};\n\nexport const propTypes = RangeSlider.propTypes;\nexport const defaultProps = RangeSlider.defaultProps;\n","export default () => import(/* webpackChunkName: \"slider\" */ '../../fragments/Slider.react');\n\n","import React, {Component, lazy, Suspense} from 'react';\nimport PropTypes from 'prop-types';\nimport slider from '../utils/LazyLoader/slider';\n\nconst RealSlider = lazy(slider);\n\n/**\n * A slider component with a single handle.\n */\nexport default class Slider extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\n\nSlider.propTypes = {\n /**\n * Minimum allowed value of the slider\n */\n min: PropTypes.number,\n\n /**\n * Maximum allowed value of the slider\n */\n max: PropTypes.number,\n\n /**\n * Value by which increments or decrements are made\n */\n step: PropTypes.number,\n\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Marks on the slider.\n * The key determines the position (a number),\n * and the value determines what will show.\n * If you want to set the style of a specific mark point,\n * the value should be an object which\n * contains style and label properties.\n */\n marks: PropTypes.objectOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.exact({\n label: PropTypes.string,\n style: PropTypes.object,\n }),\n ])\n ),\n\n /**\n * The value of the input\n */\n value: PropTypes.number,\n\n /**\n * The value of the input during a drag\n */\n drag_value: PropTypes.number,\n\n /**\n * Additional CSS class for the root DOM node\n */\n className: PropTypes.string,\n\n /**\n * If true, the handles can't be moved.\n */\n disabled: PropTypes.bool,\n\n /**\n * When the step value is greater than 1,\n * you can set the dots to true if you want to\n * render the slider with dots.\n */\n dots: PropTypes.bool,\n\n /**\n * If the value is true, it means a continuous\n * value is included. Otherwise, it is an independent value.\n */\n included: PropTypes.bool,\n\n /**\n * Configuration for tooltips describing the current slider value\n */\n tooltip: PropTypes.exact({\n /**\n * Determines whether tooltips should always be visible\n * (as opposed to the default, visible on hover)\n */\n always_visible: PropTypes.bool,\n\n /**\n * Determines the placement of tooltips\n * See https://github.com/react-component/tooltip#api\n * top/bottom{*} sets the _origin_ of the tooltip, so e.g. `topLeft`\n * will in reality appear to be on the top right of the handle\n */\n placement: PropTypes.oneOf([\n 'left',\n 'right',\n 'top',\n 'bottom',\n 'topLeft',\n 'topRight',\n 'bottomLeft',\n 'bottomRight',\n ]),\n }),\n\n /**\n * If true, the slider will be vertical\n */\n vertical: PropTypes.bool,\n\n /**\n * The height, in px, of the slider if it is vertical.\n */\n verticalHeight: PropTypes.number,\n\n /**\n * Determines when the component should update its `value`\n * property. If `mouseup` (the default) then the slider\n * will only trigger its value when the user has finished\n * dragging the slider. If `drag`, then the slider will\n * update its value continuously as it is being dragged.\n * If you want different actions during and after drag,\n * leave `updatemode` as `mouseup` and use `drag_value`\n * for the continuously updating value.\n */\n updatemode: PropTypes.oneOf(['mouseup', 'drag']),\n\n /**\n * Dash-assigned callback that gets fired when the value or drag_value changes.\n */\n setProps: PropTypes.func,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n\n /**\n * Used to allow user interactions in this component to be persisted when\n * the component - or the page - is refreshed. If `persisted` is truthy and\n * hasn't changed from its previous value, a `value` that the user has\n * changed while using the app will keep that change, as long as\n * the new `value` also matches what was given originally.\n * Used in conjunction with `persistence_type`.\n */\n persistence: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.number,\n ]),\n\n /**\n * Properties whose user interactions will persist after refreshing the\n * component or the page. Since only `value` is allowed this prop can\n * normally be ignored.\n */\n persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['value'])),\n\n /**\n * Where persisted user changes will be stored:\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n persistence_type: PropTypes.oneOf(['local', 'session', 'memory']),\n};\n\nSlider.defaultProps = {\n updatemode: 'mouseup',\n persisted_props: ['value'],\n persistence_type: 'local',\n verticalHeight: 400,\n};\n\nexport const propTypes = Slider.propTypes;\nexport const defaultProps = Slider.defaultProps;\n","export default () => import(/* webpackChunkName: \"upload\" */ '../../fragments/Upload.react');\n","import PropTypes from 'prop-types';\nimport React, {Component, lazy, Suspense} from 'react';\nimport upload from '../utils/LazyLoader/upload';\n\nconst RealUpload = lazy(upload);\n\n/**\n * Upload components allow your app to accept user-uploaded files via drag'n'drop\n */\nexport default class Upload extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\n\nUpload.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * The contents of the uploaded file as a binary string\n */\n contents: PropTypes.oneOfType([\n /**\n * If `multiple` is `false`, then the contents will be a string\n */\n PropTypes.string,\n\n /**\n * If `multiple` is `true`, then the contents will be a list of strings\n */\n PropTypes.arrayOf(PropTypes.string),\n ]),\n\n /**\n * The name of the file(s) that was(were) uploaded.\n * Note that this does not include the path of the file\n * (for security reasons).\n */\n filename: PropTypes.oneOfType([\n /**\n * If `multiple` is `false`, then the contents will be a string\n */\n PropTypes.string,\n\n /**\n * If `multiple` is `true`, then the contents will be a list of strings\n */\n PropTypes.arrayOf(PropTypes.string),\n ]),\n\n /**\n * The last modified date of the file that was uploaded in unix time\n * (seconds since 1970).\n */\n last_modified: PropTypes.oneOfType([\n /**\n * If `multiple` is `false`, then the contents will be a number\n */\n PropTypes.number,\n\n /**\n * If `multiple` is `true`, then the contents will be a list of numbers\n */\n PropTypes.arrayOf(PropTypes.number),\n ]),\n\n /**\n * Contents of the upload component\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\n /**\n * Allow specific types of files.\n * See https://github.com/okonet/attr-accept for more information.\n * Keep in mind that mime type determination is not reliable across\n * platforms. CSV files, for example, are reported as text/plain\n * under macOS but as application/vnd.ms-excel under Windows.\n * In some cases there might not be a mime type set at all.\n * See: https://github.com/react-dropzone/react-dropzone/issues/276\n */\n accept: PropTypes.string,\n\n /**\n * Enable/disable the upload component entirely\n */\n disabled: PropTypes.bool,\n\n /**\n * Disallow clicking on the component to open the file dialog\n */\n disable_click: PropTypes.bool,\n\n /**\n * Maximum file size in bytes. If `-1`, then infinite\n */\n max_size: PropTypes.number,\n\n /**\n * Minimum file size in bytes\n */\n min_size: PropTypes.number,\n\n /**\n * Allow dropping multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * HTML class name of the component\n */\n className: PropTypes.string,\n\n /**\n * HTML class name of the component while active\n */\n className_active: PropTypes.string,\n\n /**\n * HTML class name of the component if rejected\n */\n className_reject: PropTypes.string,\n\n /**\n * HTML class name of the component if disabled\n */\n className_disabled: PropTypes.string,\n\n /**\n * CSS styles to apply\n */\n style: PropTypes.object,\n\n /**\n * CSS styles to apply while active\n */\n style_active: PropTypes.object,\n\n /**\n * CSS styles if rejected\n */\n style_reject: PropTypes.object,\n\n /**\n * CSS styles if disabled\n */\n style_disabled: PropTypes.object,\n\n /**\n * Dash-supplied function for updating props\n */\n setProps: PropTypes.func,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n};\n\nUpload.defaultProps = {\n disabled: false,\n disable_click: false,\n max_size: -1,\n min_size: 0,\n multiple: false,\n style: {},\n style_active: {\n borderStyle: 'solid',\n borderColor: '#6c6',\n backgroundColor: '#eee',\n },\n style_disabled: {\n opacity: 0.5,\n },\n style_reject: {\n borderStyle: 'solid',\n borderColor: '#c66',\n backgroundColor: '#eee',\n },\n};\n\nexport const propTypes = Upload.propTypes;\nexport const defaultProps = Upload.defaultProps;\n","import moment from 'moment';\nimport {isNil} from 'ramda';\n\nexport default {\n extract: propValue => {\n if (!isNil(propValue)) {\n return moment(propValue).startOf('day').format('YYYY-MM-DD');\n }\n return propValue;\n },\n apply: storedValue => storedValue,\n};\n","import {type} from 'ramda';\n\nexport const sanitizeOptions = options => {\n if (type(options) === 'Object') {\n return Object.entries(options).map(([value, label]) => ({\n label: String(label),\n value,\n }));\n }\n\n if (type(options) === 'Array') {\n if (\n options.length > 0 &&\n ['String', 'Number', 'Bool'].includes(type(options[0]))\n ) {\n return options.map(option => ({\n label: String(option),\n value: option,\n }));\n }\n return options;\n }\n\n return options;\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","/* MIT license */\nvar cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","var conversions = require('./conversions');\nvar route = require('./route');\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","var conversions = require('./conversions');\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\nvar colorNames = require('color-name');\nvar swizzle = require('simple-swizzle');\n\nvar reverseNames = {};\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (colorNames.hasOwnProperty(name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar keyword = /(\\D+)/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\trgb[3] = parseFloat(match[4]);\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\trgb[3] = parseFloat(match[4]);\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\n\t\tif (!rgb) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d{0,3}\\.)?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = (parseFloat(match[1]) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = num.toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n","'use strict';\n\nvar colorString = require('color-string');\nvar convert = require('color-convert');\n\nvar _slice = [].slice;\n\nvar skippedModels = [\n\t// to be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// shouldn't really be in color-convert either...\n\t'hex'\n];\n\nvar hashedModelKeys = {};\nObject.keys(convert).forEach(function (model) {\n\thashedModelKeys[_slice.call(convert[model].labels).sort().join('')] = model;\n});\n\nvar limiters = {};\n\nfunction Color(obj, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tvar i;\n\tvar channels;\n\n\tif (obj == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (obj instanceof Color) {\n\t\tthis.model = obj.model;\n\t\tthis.color = obj.color.slice();\n\t\tthis.valpha = obj.valpha;\n\t} else if (typeof obj === 'string') {\n\t\tvar result = colorString.get(obj);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + obj);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (obj.length) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tvar newArr = _slice.call(obj, 0, channels);\n\t\tthis.color = zeroArray(newArr, channels);\n\t\tthis.valpha = typeof obj[channels] === 'number' ? obj[channels] : 1;\n\t} else if (typeof obj === 'number') {\n\t\t// this is always RGB - can be converted later on.\n\t\tobj &= 0xFFFFFF;\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(obj >> 16) & 0xFF,\n\t\t\t(obj >> 8) & 0xFF,\n\t\t\tobj & 0xFF\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tvar keys = Object.keys(obj);\n\t\tif ('alpha' in obj) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof obj.alpha === 'number' ? obj.alpha : 0;\n\t\t}\n\n\t\tvar hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(obj));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tvar labels = convert[this.model].labels;\n\t\tvar color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(obj[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tvar limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString: function () {\n\t\treturn this.string();\n\t},\n\n\ttoJSON: function () {\n\t\treturn this[this.model]();\n\t},\n\n\tstring: function (places) {\n\t\tvar self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString: function (places) {\n\t\tvar self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray: function () {\n\t\treturn this.valpha === 1 ? this.color.slice() : this.color.concat(this.valpha);\n\t},\n\n\tobject: function () {\n\t\tvar result = {};\n\t\tvar channels = convert[this.model].channels;\n\t\tvar labels = convert[this.model].labels;\n\n\t\tfor (var i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray: function () {\n\t\tvar rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject: function () {\n\t\tvar rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround: function (places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color(this.color.map(roundToPlace(places)).concat(this.valpha), this.model);\n\t},\n\n\talpha: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (val) { return ((val % 360) + 360) % 360; }), // eslint-disable-line brace-style\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(100)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(100)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.rgb().color;\n\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.rgb().color;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight: function () {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = this.rgb();\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\t\treturn rgb;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale: function () {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar rgb = this.rgb().color;\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(val, val, val);\n\t},\n\n\tfade: function (ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer: function (ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.hsl();\n\t\tvar hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix: function (mixinColor, weight) {\n\t\t// ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\t\tvar color1 = mixinColor.rgb();\n\t\tvar color2 = this.rgb();\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t}\n};\n\n// model conversion methods and static constructors\nObject.keys(convert).forEach(function (model) {\n\tif (skippedModels.indexOf(model) !== -1) {\n\t\treturn;\n\t}\n\n\tvar channels = convert[model].channels;\n\n\t// conversion methods\n\tColor.prototype[model] = function () {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (arguments.length) {\n\t\t\treturn new Color(arguments, model);\n\t\t}\n\n\t\tvar newAlpha = typeof arguments[channels] === 'number' ? channels : this.valpha;\n\t\treturn new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha), model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (color) {\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(_slice.call(arguments), channels);\n\t\t}\n\t\treturn new Color(color, model);\n\t};\n});\n\nfunction roundTo(num, places) {\n\treturn Number(num.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (num) {\n\t\treturn roundTo(num, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tmodel.forEach(function (m) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t});\n\n\tmodel = model[0];\n\n\treturn function (val) {\n\t\tvar result;\n\n\t\tif (arguments.length) {\n\t\t\tif (modifier) {\n\t\t\t\tval = modifier(val);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = val;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(val) {\n\treturn Array.isArray(val) ? val : [val];\n}\n\nfunction zeroArray(arr, length) {\n\tfor (var i = 0; i < length; i++) {\n\t\tif (typeof arr[i] !== 'number') {\n\t\t\tarr[i] = 0;\n\t\t}\n\t}\n\n\treturn arr;\n}\n\nmodule.exports = Color;\n","/*global window, global*/\nvar util = require(\"util\")\nvar assert = require(\"assert\")\nfunction now() { return new Date().getTime() }\n\nvar slice = Array.prototype.slice\nvar console\nvar times = {}\n\nif (typeof global !== \"undefined\" && global.console) {\n console = global.console\n} else if (typeof window !== \"undefined\" && window.console) {\n console = window.console\n} else {\n console = {}\n}\n\nvar functions = [\n [log, \"log\"],\n [info, \"info\"],\n [warn, \"warn\"],\n [error, \"error\"],\n [time, \"time\"],\n [timeEnd, \"timeEnd\"],\n [trace, \"trace\"],\n [dir, \"dir\"],\n [consoleAssert, \"assert\"]\n]\n\nfor (var i = 0; i < functions.length; i++) {\n var tuple = functions[i]\n var f = tuple[0]\n var name = tuple[1]\n\n if (!console[name]) {\n console[name] = f\n }\n}\n\nmodule.exports = console\n\nfunction log() {}\n\nfunction info() {\n console.log.apply(console, arguments)\n}\n\nfunction warn() {\n console.log.apply(console, arguments)\n}\n\nfunction error() {\n console.warn.apply(console, arguments)\n}\n\nfunction time(label) {\n times[label] = now()\n}\n\nfunction timeEnd(label) {\n var time = times[label]\n if (!time) {\n throw new Error(\"No such label: \" + label)\n }\n\n delete times[label]\n var duration = now() - time\n console.log(label + \": \" + duration + \"ms\")\n}\n\nfunction trace() {\n var err = new Error()\n err.name = \"Trace\"\n err.message = util.format.apply(null, arguments)\n console.error(err.stack)\n}\n\nfunction dir(object) {\n console.log(util.inspect(object) + \"\\n\")\n}\n\nfunction consoleAssert(expression) {\n if (!expression) {\n var arr = slice.call(arguments, 1)\n assert.ok(false, util.format.apply(null, arr))\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".PresetDateRangePicker_panel {\\n padding: 0 22px 11px\\n}\\n.PresetDateRangePicker_button {\\n position: relative;\\n height: 100%;\\n text-align: center;\\n background: 0 0;\\n border: 2px solid #00a699;\\n color: #00a699;\\n padding: 4px 12px;\\n margin-right: 8px;\\n font: inherit;\\n font-weight: 700;\\n line-height: normal;\\n overflow: visible;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n cursor: pointer\\n}\\n.PresetDateRangePicker_button:active {\\n outline: 0\\n}\\n.PresetDateRangePicker_button__selected {\\n color: #fff;\\n background: #00a699\\n}\\n.SingleDatePickerInput {\\n display: inline-block;\\n background-color: #fff\\n}\\n.SingleDatePickerInput__withBorder {\\n border-radius: 2px;\\n border: 1px solid #dbdbdb\\n}\\n.SingleDatePickerInput__rtl {\\n direction: rtl\\n}\\n.SingleDatePickerInput__disabled {\\n background-color: #f2f2f2\\n}\\n.SingleDatePickerInput__block {\\n display: block\\n}\\n.SingleDatePickerInput__showClearDate {\\n padding-right: 30px\\n}\\n.SingleDatePickerInput_clearDate {\\n background: 0 0;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n cursor: pointer;\\n padding: 10px;\\n margin: 0 10px 0 5px;\\n position: absolute;\\n right: 0;\\n top: 50%;\\n -webkit-transform: translateY(-50%);\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%)\\n}\\n.SingleDatePickerInput_clearDate__default:focus,\\n.SingleDatePickerInput_clearDate__default:hover {\\n background: #dbdbdb;\\n border-radius: 50%\\n}\\n.SingleDatePickerInput_clearDate__small {\\n padding: 6px\\n}\\n.SingleDatePickerInput_clearDate__hide {\\n visibility: hidden\\n}\\n.SingleDatePickerInput_clearDate_svg {\\n fill: #82888a;\\n height: 12px;\\n width: 15px;\\n vertical-align: middle\\n}\\n.SingleDatePickerInput_clearDate_svg__small {\\n height: 9px\\n}\\n.SingleDatePickerInput_calendarIcon {\\n background: 0 0;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n cursor: pointer;\\n display: inline-block;\\n vertical-align: middle;\\n padding: 10px;\\n margin: 0 5px 0 10px\\n}\\n.SingleDatePickerInput_calendarIcon_svg {\\n fill: #82888a;\\n height: 15px;\\n width: 14px;\\n vertical-align: middle\\n}\\n.SingleDatePicker {\\n position: relative;\\n display: inline-block\\n}\\n.SingleDatePicker__block {\\n display: block\\n}\\n.SingleDatePicker_picker {\\n z-index: 1;\\n background-color: #fff;\\n position: absolute\\n}\\n.SingleDatePicker_picker__rtl {\\n direction: rtl\\n}\\n.SingleDatePicker_picker__directionLeft {\\n left: 0\\n}\\n.SingleDatePicker_picker__directionRight {\\n right: 0\\n}\\n.SingleDatePicker_picker__portal {\\n background-color: rgba(0,0,0,.3);\\n position: fixed;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%\\n}\\n.SingleDatePicker_picker__fullScreenPortal {\\n background-color: #fff\\n}\\n.SingleDatePicker_closeButton {\\n background: 0 0;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n cursor: pointer;\\n position: absolute;\\n top: 0;\\n right: 0;\\n padding: 15px;\\n z-index: 2\\n}\\n.SingleDatePicker_closeButton:focus,\\n.SingleDatePicker_closeButton:hover {\\n color: darken(#cacccd,10%);\\n text-decoration: none\\n}\\n.SingleDatePicker_closeButton_svg {\\n height: 15px;\\n width: 15px;\\n fill: #cacccd\\n}\\n.DayPickerKeyboardShortcuts_buttonReset {\\n background: 0 0;\\n border: 0;\\n border-radius: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n padding: 0;\\n cursor: pointer;\\n font-size: 14px\\n}\\n.DayPickerKeyboardShortcuts_buttonReset:active {\\n outline: 0\\n}\\n.DayPickerKeyboardShortcuts_show {\\n width: 33px;\\n height: 26px;\\n position: absolute;\\n z-index: 2\\n}\\n.DayPickerKeyboardShortcuts_show::before {\\n content: \\\"\\\";\\n display: block;\\n position: absolute\\n}\\n.DayPickerKeyboardShortcuts_show__bottomRight {\\n bottom: 0;\\n right: 0\\n}\\n.DayPickerKeyboardShortcuts_show__bottomRight::before {\\n border-top: 26px solid transparent;\\n border-right: 33px solid #00a699;\\n bottom: 0;\\n right: 0\\n}\\n.DayPickerKeyboardShortcuts_show__bottomRight:hover::before {\\n border-right: 33px solid #008489\\n}\\n.DayPickerKeyboardShortcuts_show__topRight {\\n top: 0;\\n right: 0\\n}\\n.DayPickerKeyboardShortcuts_show__topRight::before {\\n border-bottom: 26px solid transparent;\\n border-right: 33px solid #00a699;\\n top: 0;\\n right: 0\\n}\\n.DayPickerKeyboardShortcuts_show__topRight:hover::before {\\n border-right: 33px solid #008489\\n}\\n.DayPickerKeyboardShortcuts_show__topLeft {\\n top: 0;\\n left: 0\\n}\\n.DayPickerKeyboardShortcuts_show__topLeft::before {\\n border-bottom: 26px solid transparent;\\n border-left: 33px solid #00a699;\\n top: 0;\\n left: 0\\n}\\n.DayPickerKeyboardShortcuts_show__topLeft:hover::before {\\n border-left: 33px solid #008489\\n}\\n.DayPickerKeyboardShortcuts_showSpan {\\n color: #fff;\\n position: absolute\\n}\\n.DayPickerKeyboardShortcuts_showSpan__bottomRight {\\n bottom: 0;\\n right: 5px\\n}\\n.DayPickerKeyboardShortcuts_showSpan__topRight {\\n top: 1px;\\n right: 5px\\n}\\n.DayPickerKeyboardShortcuts_showSpan__topLeft {\\n top: 1px;\\n left: 5px\\n}\\n.DayPickerKeyboardShortcuts_panel {\\n overflow: auto;\\n background: #fff;\\n border: 1px solid #dbdbdb;\\n border-radius: 2px;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n right: 0;\\n left: 0;\\n z-index: 2;\\n padding: 22px;\\n margin: 33px;\\n text-align: left\\n}\\n.DayPickerKeyboardShortcuts_title {\\n font-size: 16px;\\n font-weight: 700;\\n margin: 0\\n}\\n.DayPickerKeyboardShortcuts_list {\\n list-style: none;\\n padding: 0;\\n font-size: 14px\\n}\\n.DayPickerKeyboardShortcuts_close {\\n position: absolute;\\n right: 22px;\\n top: 22px;\\n z-index: 2\\n}\\n.DayPickerKeyboardShortcuts_close:active {\\n outline: 0\\n}\\n.DayPickerKeyboardShortcuts_closeSvg {\\n height: 15px;\\n width: 15px;\\n fill: #cacccd\\n}\\n.DayPickerKeyboardShortcuts_closeSvg:focus,\\n.DayPickerKeyboardShortcuts_closeSvg:hover {\\n fill: #82888a\\n}\\n.CalendarDay {\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n cursor: pointer;\\n font-size: 14px;\\n text-align: center\\n}\\n.CalendarDay:active {\\n outline: 0\\n}\\n.CalendarDay__defaultCursor {\\n cursor: default\\n}\\n.CalendarDay__default {\\n border: 1px solid #e4e7e7;\\n color: #484848;\\n background: #fff\\n}\\n.CalendarDay__default:hover {\\n background: #e4e7e7;\\n border: 1px solid #e4e7e7;\\n color: inherit\\n}\\n.CalendarDay__hovered_offset {\\n background: #f4f5f5;\\n border: 1px double #e4e7e7;\\n color: inherit\\n}\\n.CalendarDay__outside {\\n border: 0;\\n background: #fff;\\n color: #484848\\n}\\n.CalendarDay__outside:hover {\\n border: 0\\n}\\n.CalendarDay__blocked_minimum_nights {\\n background: #fff;\\n border: 1px solid #eceeee;\\n color: #cacccd\\n}\\n.CalendarDay__blocked_minimum_nights:active,\\n.CalendarDay__blocked_minimum_nights:hover {\\n background: #fff;\\n color: #cacccd\\n}\\n.CalendarDay__highlighted_calendar {\\n background: #ffe8bc;\\n color: #484848\\n}\\n.CalendarDay__highlighted_calendar:active,\\n.CalendarDay__highlighted_calendar:hover {\\n background: #ffce71;\\n color: #484848\\n}\\n.CalendarDay__selected_span {\\n background: #66e2da;\\n border: 1px double #33dacd;\\n color: #fff\\n}\\n.CalendarDay__selected_span:active,\\n.CalendarDay__selected_span:hover {\\n background: #33dacd;\\n border: 1px double #33dacd;\\n color: #fff\\n}\\n.CalendarDay__selected,\\n.CalendarDay__selected:active,\\n.CalendarDay__selected:hover {\\n background: #00a699;\\n border: 1px double #00a699;\\n color: #fff\\n}\\n.CalendarDay__hovered_span,\\n.CalendarDay__hovered_span:hover {\\n background: #b2f1ec;\\n border: 1px double #80e8e0;\\n color: #007a87\\n}\\n.CalendarDay__hovered_span:active {\\n background: #80e8e0;\\n border: 1px double #80e8e0;\\n color: #007a87\\n}\\n.CalendarDay__blocked_calendar,\\n.CalendarDay__blocked_calendar:active,\\n.CalendarDay__blocked_calendar:hover {\\n background: #cacccd;\\n border: 1px solid #cacccd;\\n color: #82888a\\n}\\n.CalendarDay__blocked_out_of_range,\\n.CalendarDay__blocked_out_of_range:active,\\n.CalendarDay__blocked_out_of_range:hover {\\n background: #fff;\\n border: 1px solid #e4e7e7;\\n color: #cacccd\\n}\\n.CalendarDay__hovered_start_first_possible_end {\\n background: #eceeee;\\n border: 1px double #eceeee\\n}\\n.CalendarDay__hovered_start_blocked_min_nights {\\n background: #eceeee;\\n border: 1px double #e4e7e7\\n}\\n.CalendarMonth {\\n background: #fff;\\n text-align: center;\\n vertical-align: top;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none\\n}\\n.CalendarMonth_table {\\n border-collapse: collapse;\\n border-spacing: 0\\n}\\n.CalendarMonth_verticalSpacing {\\n border-collapse: separate\\n}\\n.CalendarMonth_caption {\\n color: #484848;\\n font-size: 18px;\\n text-align: center;\\n padding-top: 22px;\\n padding-bottom: 37px;\\n caption-side: initial\\n}\\n.CalendarMonth_caption__verticalScrollable {\\n padding-top: 12px;\\n padding-bottom: 7px\\n}\\n.CalendarMonthGrid {\\n background: #fff;\\n text-align: left;\\n z-index: 0\\n}\\n.CalendarMonthGrid__animating {\\n z-index: 1\\n}\\n.CalendarMonthGrid__horizontal {\\n position: absolute;\\n left: 9px\\n}\\n.CalendarMonthGrid__vertical,\\n.CalendarMonthGrid__vertical_scrollable {\\n margin: 0 auto\\n}\\n.CalendarMonthGrid_month__horizontal {\\n display: inline-block;\\n vertical-align: top;\\n min-height: 100%\\n}\\n.CalendarMonthGrid_month__hideForAnimation {\\n position: absolute;\\n z-index: -1;\\n opacity: 0;\\n pointer-events: none\\n}\\n.CalendarMonthGrid_month__hidden {\\n visibility: hidden\\n}\\n.DayPickerNavigation {\\n position: relative;\\n z-index: 2\\n}\\n.DayPickerNavigation__horizontal {\\n height: 0\\n}\\n.DayPickerNavigation__verticalScrollable_prevNav {\\n z-index: 1\\n}\\n.DayPickerNavigation__verticalDefault {\\n position: absolute;\\n width: 100%;\\n height: 52px;\\n bottom: 0;\\n left: 0\\n}\\n.DayPickerNavigation__verticalScrollableDefault {\\n position: relative\\n}\\n.DayPickerNavigation__bottom {\\n height: auto\\n}\\n.DayPickerNavigation__bottomDefault {\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n display: -webkit-box;\\n display: -moz-box;\\n display: -ms-flexbox;\\n display: -webkit-flex;\\n display: flex;\\n -webkit-justify-content: space-between;\\n justify-content: space-between\\n}\\n.DayPickerNavigation_button {\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n border: 0;\\n padding: 0;\\n margin: 0\\n}\\n.DayPickerNavigation_button__default {\\n border: 1px solid #e4e7e7;\\n background-color: #fff;\\n color: #757575\\n}\\n.DayPickerNavigation_button__default:focus,\\n.DayPickerNavigation_button__default:hover {\\n border: 1px solid #c4c4c4\\n}\\n.DayPickerNavigation_button__default:active {\\n background: #f2f2f2\\n}\\n.DayPickerNavigation_button__disabled {\\n cursor: default;\\n border: 1px solid #f2f2f2\\n}\\n.DayPickerNavigation_button__disabled:focus,\\n.DayPickerNavigation_button__disabled:hover {\\n border: 1px solid #f2f2f2\\n}\\n.DayPickerNavigation_button__disabled:active {\\n background: 0 0\\n}\\n.DayPickerNavigation_button__horizontalDefault {\\n position: absolute;\\n top: 18px;\\n line-height: .78;\\n border-radius: 3px;\\n padding: 6px 9px\\n}\\n.DayPickerNavigation_bottomButton__horizontalDefault {\\n position: static;\\n margin: -10px 22px 30px\\n}\\n.DayPickerNavigation_leftButton__horizontalDefault {\\n left: 22px\\n}\\n.DayPickerNavigation_rightButton__horizontalDefault {\\n right: 22px\\n}\\n.DayPickerNavigation_button__verticalDefault {\\n padding: 5px;\\n background: #fff;\\n box-shadow: 0 0 5px 2px rgba(0,0,0,.1);\\n position: relative;\\n display: inline-block;\\n text-align: center;\\n height: 100%;\\n width: 50%\\n}\\n.DayPickerNavigation_nextButton__verticalDefault {\\n border-left: 0\\n}\\n.DayPickerNavigation_nextButton__verticalScrollableDefault,\\n.DayPickerNavigation_prevButton__verticalScrollableDefault {\\n width: 100%\\n}\\n.DayPickerNavigation_svg__horizontal {\\n height: 19px;\\n width: 19px;\\n fill: #82888a;\\n display: block\\n}\\n.DayPickerNavigation_svg__vertical {\\n height: 42px;\\n width: 42px;\\n fill: #484848\\n}\\n.DayPickerNavigation_svg__disabled {\\n fill: #f2f2f2\\n}\\n.DayPicker {\\n background: #fff;\\n position: relative;\\n text-align: left\\n}\\n.DayPicker__horizontal {\\n background: #fff\\n}\\n.DayPicker__verticalScrollable {\\n height: 100%\\n}\\n.DayPicker__hidden {\\n visibility: hidden\\n}\\n.DayPicker__withBorder {\\n box-shadow: 0 2px 6px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.07);\\n border-radius: 3px\\n}\\n.DayPicker_portal__horizontal {\\n box-shadow: none;\\n position: absolute;\\n left: 50%;\\n top: 50%\\n}\\n.DayPicker_portal__vertical {\\n position: initial\\n}\\n.DayPicker_focusRegion {\\n outline: 0\\n}\\n.DayPicker_calendarInfo__horizontal,\\n.DayPicker_wrapper__horizontal {\\n display: inline-block;\\n vertical-align: top\\n}\\n.DayPicker_weekHeaders {\\n position: relative\\n}\\n.DayPicker_weekHeaders__horizontal {\\n margin-left: 9px\\n}\\n.DayPicker_weekHeader {\\n color: #757575;\\n position: absolute;\\n top: 62px;\\n z-index: 2;\\n text-align: left\\n}\\n.DayPicker_weekHeader__vertical {\\n left: 50%\\n}\\n.DayPicker_weekHeader__verticalScrollable {\\n top: 0;\\n display: table-row;\\n border-bottom: 1px solid #dbdbdb;\\n background: #fff;\\n margin-left: 0;\\n left: 0;\\n width: 100%;\\n text-align: center\\n}\\n.DayPicker_weekHeader_ul {\\n list-style: none;\\n margin: 1px 0;\\n padding-left: 0;\\n padding-right: 0;\\n font-size: 14px\\n}\\n.DayPicker_weekHeader_li {\\n display: inline-block;\\n text-align: center\\n}\\n.DayPicker_transitionContainer {\\n position: relative;\\n overflow: hidden;\\n border-radius: 3px\\n}\\n.DayPicker_transitionContainer__horizontal {\\n -webkit-transition: height .2s ease-in-out;\\n -moz-transition: height .2s ease-in-out;\\n transition: height .2s ease-in-out\\n}\\n.DayPicker_transitionContainer__vertical {\\n width: 100%\\n}\\n.DayPicker_transitionContainer__verticalScrollable {\\n padding-top: 20px;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n right: 0;\\n left: 0;\\n overflow-y: scroll\\n}\\n.DateInput {\\n margin: 0;\\n padding: 0;\\n background: #fff;\\n position: relative;\\n display: inline-block;\\n width: 130px;\\n vertical-align: middle\\n}\\n.DateInput__small {\\n width: 97px\\n}\\n.DateInput__block {\\n width: 100%\\n}\\n.DateInput__disabled {\\n background: #f2f2f2;\\n color: #dbdbdb\\n}\\n.DateInput_input {\\n font-weight: 200;\\n font-size: 19px;\\n line-height: 24px;\\n color: #484848;\\n background-color: #fff;\\n width: 100%;\\n padding: 11px 11px 9px;\\n border: 0;\\n border-top: 0;\\n border-right: 0;\\n border-bottom: 2px solid transparent;\\n border-left: 0;\\n border-radius: 0\\n}\\n.DateInput_input__small {\\n font-size: 15px;\\n line-height: 18px;\\n letter-spacing: .2px;\\n padding: 7px 7px 5px\\n}\\n.DateInput_input__regular {\\n font-weight: auto\\n}\\n.DateInput_input__readOnly {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none\\n}\\n.DateInput_input__focused {\\n outline: 0;\\n background: #fff;\\n border: 0;\\n border-top: 0;\\n border-right: 0;\\n border-bottom: 2px solid #008489;\\n border-left: 0\\n}\\n.DateInput_input__disabled {\\n background: #f2f2f2;\\n font-style: italic\\n}\\n.DateInput_screenReaderMessage {\\n border: 0;\\n clip: rect(0,0,0,0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px\\n}\\n.DateInput_fang {\\n position: absolute;\\n width: 20px;\\n height: 10px;\\n left: 22px;\\n z-index: 2\\n}\\n.DateInput_fangShape {\\n fill: #fff\\n}\\n.DateInput_fangStroke {\\n stroke: #dbdbdb;\\n fill: transparent\\n}\\n.DateRangePickerInput {\\n background-color: #fff;\\n display: inline-block\\n}\\n.DateRangePickerInput__disabled {\\n background: #f2f2f2\\n}\\n.DateRangePickerInput__withBorder {\\n border-radius: 2px;\\n border: 1px solid #dbdbdb\\n}\\n.DateRangePickerInput__rtl {\\n direction: rtl\\n}\\n.DateRangePickerInput__block {\\n display: block\\n}\\n.DateRangePickerInput__showClearDates {\\n padding-right: 30px\\n}\\n.DateRangePickerInput_arrow {\\n display: inline-block;\\n vertical-align: middle;\\n color: #484848\\n}\\n.DateRangePickerInput_arrow_svg {\\n vertical-align: middle;\\n fill: #484848;\\n height: 24px;\\n width: 24px\\n}\\n.DateRangePickerInput_clearDates {\\n background: 0 0;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n cursor: pointer;\\n padding: 10px;\\n margin: 0 10px 0 5px;\\n position: absolute;\\n right: 0;\\n top: 50%;\\n -webkit-transform: translateY(-50%);\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%)\\n}\\n.DateRangePickerInput_clearDates__small {\\n padding: 6px\\n}\\n.DateRangePickerInput_clearDates_default:focus,\\n.DateRangePickerInput_clearDates_default:hover {\\n background: #dbdbdb;\\n border-radius: 50%\\n}\\n.DateRangePickerInput_clearDates__hide {\\n visibility: hidden\\n}\\n.DateRangePickerInput_clearDates_svg {\\n fill: #82888a;\\n height: 12px;\\n width: 15px;\\n vertical-align: middle\\n}\\n.DateRangePickerInput_clearDates_svg__small {\\n height: 9px\\n}\\n.DateRangePickerInput_calendarIcon {\\n background: 0 0;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n cursor: pointer;\\n display: inline-block;\\n vertical-align: middle;\\n padding: 10px;\\n margin: 0 5px 0 10px\\n}\\n.DateRangePickerInput_calendarIcon_svg {\\n fill: #82888a;\\n height: 15px;\\n width: 14px;\\n vertical-align: middle\\n}\\n.DateRangePicker {\\n position: relative;\\n display: inline-block\\n}\\n.DateRangePicker__block {\\n display: block\\n}\\n.DateRangePicker_picker {\\n z-index: 1;\\n background-color: #fff;\\n position: absolute\\n}\\n.DateRangePicker_picker__rtl {\\n direction: rtl\\n}\\n.DateRangePicker_picker__directionLeft {\\n left: 0\\n}\\n.DateRangePicker_picker__directionRight {\\n right: 0\\n}\\n.DateRangePicker_picker__portal {\\n background-color: rgba(0,0,0,.3);\\n position: fixed;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%\\n}\\n.DateRangePicker_picker__fullScreenPortal {\\n background-color: #fff\\n}\\n.DateRangePicker_closeButton {\\n background: 0 0;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n cursor: pointer;\\n position: absolute;\\n top: 0;\\n right: 0;\\n padding: 15px;\\n z-index: 2\\n}\\n.DateRangePicker_closeButton:focus,\\n.DateRangePicker_closeButton:hover {\\n color: darken(#cacccd,10%);\\n text-decoration: none\\n}\\n.DateRangePicker_closeButton_svg {\\n height: 15px;\\n width: 15px;\\n fill: #cacccd\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/react-dates/lib/css/_datepicker.css\"],\"names\":[],\"mappings\":\"AAAA;EACE;AACF;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,kBAAkB;EAClB,eAAe;EACf,yBAAyB;EACzB,cAAc;EACd,iBAAiB;EACjB,iBAAiB;EACjB,aAAa;EACb,gBAAgB;EAChB,mBAAmB;EACnB,iBAAiB;EACjB,2BAA2B;EAC3B,sBAAsB;EACtB;AACF;AACA;EACE;AACF;AACA;EACE,WAAW;EACX;AACF;AACA;EACE,qBAAqB;EACrB;AACF;AACA;EACE,kBAAkB;EAClB;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE,eAAe;EACf,SAAS;EACT,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,eAAe;EACf,aAAa;EACb,oBAAoB;EACpB,kBAAkB;EAClB,QAAQ;EACR,QAAQ;EACR,mCAAmC;EACnC,+BAA+B;EAC/B;AACF;AACA;;EAEE,mBAAmB;EACnB;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE,aAAa;EACb,YAAY;EACZ,WAAW;EACX;AACF;AACA;EACE;AACF;AACA;EACE,eAAe;EACf,SAAS;EACT,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,eAAe;EACf,qBAAqB;EACrB,sBAAsB;EACtB,aAAa;EACb;AACF;AACA;EACE,aAAa;EACb,YAAY;EACZ,WAAW;EACX;AACF;AACA;EACE,kBAAkB;EAClB;AACF;AACA;EACE;AACF;AACA;EACE,UAAU;EACV,sBAAsB;EACtB;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE,gCAAgC;EAChC,eAAe;EACf,MAAM;EACN,OAAO;EACP,YAAY;EACZ;AACF;AACA;EACE;AACF;AACA;EACE,eAAe;EACf,SAAS;EACT,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,eAAe;EACf,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,aAAa;EACb;AACF;AACA;;EAEE,0BAA0B;EAC1B;AACF;AACA;EACE,YAAY;EACZ,WAAW;EACX;AACF;AACA;EACE,eAAe;EACf,SAAS;EACT,gBAAgB;EAChB,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,UAAU;EACV,eAAe;EACf;AACF;AACA;EACE;AACF;AACA;EACE,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB;AACF;AACA;EACE,WAAW;EACX,cAAc;EACd;AACF;AACA;EACE,SAAS;EACT;AACF;AACA;EACE,kCAAkC;EAClC,gCAAgC;EAChC,SAAS;EACT;AACF;AACA;EACE;AACF;AACA;EACE,MAAM;EACN;AACF;AACA;EACE,qCAAqC;EACrC,gCAAgC;EAChC,MAAM;EACN;AACF;AACA;EACE;AACF;AACA;EACE,MAAM;EACN;AACF;AACA;EACE,qCAAqC;EACrC,+BAA+B;EAC/B,MAAM;EACN;AACF;AACA;EACE;AACF;AACA;EACE,WAAW;EACX;AACF;AACA;EACE,SAAS;EACT;AACF;AACA;EACE,QAAQ;EACR;AACF;AACA;EACE,QAAQ;EACR;AACF;AACA;EACE,cAAc;EACd,gBAAgB;EAChB,yBAAyB;EACzB,kBAAkB;EAClB,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,QAAQ;EACR,OAAO;EACP,UAAU;EACV,aAAa;EACb,YAAY;EACZ;AACF;AACA;EACE,eAAe;EACf,gBAAgB;EAChB;AACF;AACA;EACE,gBAAgB;EAChB,UAAU;EACV;AACF;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT;AACF;AACA;EACE;AACF;AACA;EACE,YAAY;EACZ,WAAW;EACX;AACF;AACA;;EAEE;AACF;AACA;EACE,2BAA2B;EAC3B,sBAAsB;EACtB,eAAe;EACf,eAAe;EACf;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE,yBAAyB;EACzB,cAAc;EACd;AACF;AACA;EACE,mBAAmB;EACnB,yBAAyB;EACzB;AACF;AACA;EACE,mBAAmB;EACnB,0BAA0B;EAC1B;AACF;AACA;EACE,SAAS;EACT,gBAAgB;EAChB;AACF;AACA;EACE;AACF;AACA;EACE,gBAAgB;EAChB,yBAAyB;EACzB;AACF;AACA;;EAEE,gBAAgB;EAChB;AACF;AACA;EACE,mBAAmB;EACnB;AACF;AACA;;EAEE,mBAAmB;EACnB;AACF;AACA;EACE,mBAAmB;EACnB,0BAA0B;EAC1B;AACF;AACA;;EAEE,mBAAmB;EACnB,0BAA0B;EAC1B;AACF;AACA;;;EAGE,mBAAmB;EACnB,0BAA0B;EAC1B;AACF;AACA;;EAEE,mBAAmB;EACnB,0BAA0B;EAC1B;AACF;AACA;EACE,mBAAmB;EACnB,0BAA0B;EAC1B;AACF;AACA;;;EAGE,mBAAmB;EACnB,yBAAyB;EACzB;AACF;AACA;;;EAGE,gBAAgB;EAChB,yBAAyB;EACzB;AACF;AACA;EACE,mBAAmB;EACnB;AACF;AACA;EACE,mBAAmB;EACnB;AACF;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB;AACF;AACA;EACE,yBAAyB;EACzB;AACF;AACA;EACE;AACF;AACA;EACE,cAAc;EACd,eAAe;EACf,kBAAkB;EAClB,iBAAiB;EACjB,oBAAoB;EACpB;AACF;AACA;EACE,iBAAiB;EACjB;AACF;AACA;EACE,gBAAgB;EAChB,gBAAgB;EAChB;AACF;AACA;EACE;AACF;AACA;EACE,kBAAkB;EAClB;AACF;AACA;;EAEE;AACF;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB;AACF;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,UAAU;EACV;AACF;AACA;EACE;AACF;AACA;EACE,kBAAkB;EAClB;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,SAAS;EACT;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE,yBAAyB;EACzB,sBAAsB;EACtB,oBAAoB;EACpB,iBAAiB;EACjB,oBAAoB;EACpB,qBAAqB;EACrB,aAAa;EACb,sCAAsC;EACtC;AACF;AACA;EACE,eAAe;EACf,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;EACjB,SAAS;EACT,UAAU;EACV;AACF;AACA;EACE,yBAAyB;EACzB,sBAAsB;EACtB;AACF;AACA;;EAEE;AACF;AACA;EACE;AACF;AACA;EACE,eAAe;EACf;AACF;AACA;;EAEE;AACF;AACA;EACE;AACF;AACA;EACE,kBAAkB;EAClB,SAAS;EACT,gBAAgB;EAChB,kBAAkB;EAClB;AACF;AACA;EACE,gBAAgB;EAChB;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE,YAAY;EACZ,gBAAgB;EAChB,sCAAsC;EACtC,kBAAkB;EAClB,qBAAqB;EACrB,kBAAkB;EAClB,YAAY;EACZ;AACF;AACA;EACE;AACF;AACA;;EAEE;AACF;AACA;EACE,YAAY;EACZ,WAAW;EACX,aAAa;EACb;AACF;AACA;EACE,YAAY;EACZ,WAAW;EACX;AACF;AACA;EACE;AACF;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE,+DAA+D;EAC/D;AACF;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,SAAS;EACT;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;;EAEE,qBAAqB;EACrB;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE,cAAc;EACd,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV;AACF;AACA;EACE;AACF;AACA;EACE,MAAM;EACN,kBAAkB;EAClB,gCAAgC;EAChC,gBAAgB;EAChB,cAAc;EACd,OAAO;EACP,WAAW;EACX;AACF;AACA;EACE,gBAAgB;EAChB,aAAa;EACb,eAAe;EACf,gBAAgB;EAChB;AACF;AACA;EACE,qBAAqB;EACrB;AACF;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB;AACF;AACA;EACE,0CAA0C;EAC1C,uCAAuC;EACvC;AACF;AACA;EACE;AACF;AACA;EACE,iBAAiB;EACjB,YAAY;EACZ,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,QAAQ;EACR,OAAO;EACP;AACF;AACA;EACE,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,kBAAkB;EAClB,qBAAqB;EACrB,YAAY;EACZ;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE,mBAAmB;EACnB;AACF;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,iBAAiB;EACjB,cAAc;EACd,sBAAsB;EACtB,WAAW;EACX,sBAAsB;EACtB,SAAS;EACT,aAAa;EACb,eAAe;EACf,oCAAoC;EACpC,cAAc;EACd;AACF;AACA;EACE,eAAe;EACf,iBAAiB;EACjB,oBAAoB;EACpB;AACF;AACA;EACE;AACF;AACA;EACE,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB;AACF;AACA;EACE,UAAU;EACV,gBAAgB;EAChB,SAAS;EACT,aAAa;EACb,eAAe;EACf,gCAAgC;EAChC;AACF;AACA;EACE,mBAAmB;EACnB;AACF;AACA;EACE,SAAS;EACT,mBAAmB;EACnB,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACV,kBAAkB;EAClB;AACF;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,UAAU;EACV;AACF;AACA;EACE;AACF;AACA;EACE,eAAe;EACf;AACF;AACA;EACE,sBAAsB;EACtB;AACF;AACA;EACE;AACF;AACA;EACE,kBAAkB;EAClB;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE,qBAAqB;EACrB,sBAAsB;EACtB;AACF;AACA;EACE,sBAAsB;EACtB,aAAa;EACb,YAAY;EACZ;AACF;AACA;EACE,eAAe;EACf,SAAS;EACT,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,eAAe;EACf,aAAa;EACb,oBAAoB;EACpB,kBAAkB;EAClB,QAAQ;EACR,QAAQ;EACR,mCAAmC;EACnC,+BAA+B;EAC/B;AACF;AACA;EACE;AACF;AACA;;EAEE,mBAAmB;EACnB;AACF;AACA;EACE;AACF;AACA;EACE,aAAa;EACb,YAAY;EACZ,WAAW;EACX;AACF;AACA;EACE;AACF;AACA;EACE,eAAe;EACf,SAAS;EACT,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,eAAe;EACf,qBAAqB;EACrB,sBAAsB;EACtB,aAAa;EACb;AACF;AACA;EACE,aAAa;EACb,YAAY;EACZ,WAAW;EACX;AACF;AACA;EACE,kBAAkB;EAClB;AACF;AACA;EACE;AACF;AACA;EACE,UAAU;EACV,sBAAsB;EACtB;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE;AACF;AACA;EACE,gCAAgC;EAChC,eAAe;EACf,MAAM;EACN,OAAO;EACP,YAAY;EACZ;AACF;AACA;EACE;AACF;AACA;EACE,eAAe;EACf,SAAS;EACT,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,eAAe;EACf,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,aAAa;EACb;AACF;AACA;;EAEE,0BAA0B;EAC1B;AACF;AACA;EACE,YAAY;EACZ,WAAW;EACX;AACF\",\"sourcesContent\":[\".PresetDateRangePicker_panel {\\n padding: 0 22px 11px\\n}\\n.PresetDateRangePicker_button {\\n position: relative;\\n height: 100%;\\n text-align: center;\\n background: 0 0;\\n border: 2px solid #00a699;\\n color: #00a699;\\n padding: 4px 12px;\\n margin-right: 8px;\\n font: inherit;\\n font-weight: 700;\\n line-height: normal;\\n overflow: visible;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n cursor: pointer\\n}\\n.PresetDateRangePicker_button:active {\\n outline: 0\\n}\\n.PresetDateRangePicker_button__selected {\\n color: #fff;\\n background: #00a699\\n}\\n.SingleDatePickerInput {\\n display: inline-block;\\n background-color: #fff\\n}\\n.SingleDatePickerInput__withBorder {\\n border-radius: 2px;\\n border: 1px solid #dbdbdb\\n}\\n.SingleDatePickerInput__rtl {\\n direction: rtl\\n}\\n.SingleDatePickerInput__disabled {\\n background-color: #f2f2f2\\n}\\n.SingleDatePickerInput__block {\\n display: block\\n}\\n.SingleDatePickerInput__showClearDate {\\n padding-right: 30px\\n}\\n.SingleDatePickerInput_clearDate {\\n background: 0 0;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n cursor: pointer;\\n padding: 10px;\\n margin: 0 10px 0 5px;\\n position: absolute;\\n right: 0;\\n top: 50%;\\n -webkit-transform: translateY(-50%);\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%)\\n}\\n.SingleDatePickerInput_clearDate__default:focus,\\n.SingleDatePickerInput_clearDate__default:hover {\\n background: #dbdbdb;\\n border-radius: 50%\\n}\\n.SingleDatePickerInput_clearDate__small {\\n padding: 6px\\n}\\n.SingleDatePickerInput_clearDate__hide {\\n visibility: hidden\\n}\\n.SingleDatePickerInput_clearDate_svg {\\n fill: #82888a;\\n height: 12px;\\n width: 15px;\\n vertical-align: middle\\n}\\n.SingleDatePickerInput_clearDate_svg__small {\\n height: 9px\\n}\\n.SingleDatePickerInput_calendarIcon {\\n background: 0 0;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n cursor: pointer;\\n display: inline-block;\\n vertical-align: middle;\\n padding: 10px;\\n margin: 0 5px 0 10px\\n}\\n.SingleDatePickerInput_calendarIcon_svg {\\n fill: #82888a;\\n height: 15px;\\n width: 14px;\\n vertical-align: middle\\n}\\n.SingleDatePicker {\\n position: relative;\\n display: inline-block\\n}\\n.SingleDatePicker__block {\\n display: block\\n}\\n.SingleDatePicker_picker {\\n z-index: 1;\\n background-color: #fff;\\n position: absolute\\n}\\n.SingleDatePicker_picker__rtl {\\n direction: rtl\\n}\\n.SingleDatePicker_picker__directionLeft {\\n left: 0\\n}\\n.SingleDatePicker_picker__directionRight {\\n right: 0\\n}\\n.SingleDatePicker_picker__portal {\\n background-color: rgba(0,0,0,.3);\\n position: fixed;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%\\n}\\n.SingleDatePicker_picker__fullScreenPortal {\\n background-color: #fff\\n}\\n.SingleDatePicker_closeButton {\\n background: 0 0;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n cursor: pointer;\\n position: absolute;\\n top: 0;\\n right: 0;\\n padding: 15px;\\n z-index: 2\\n}\\n.SingleDatePicker_closeButton:focus,\\n.SingleDatePicker_closeButton:hover {\\n color: darken(#cacccd,10%);\\n text-decoration: none\\n}\\n.SingleDatePicker_closeButton_svg {\\n height: 15px;\\n width: 15px;\\n fill: #cacccd\\n}\\n.DayPickerKeyboardShortcuts_buttonReset {\\n background: 0 0;\\n border: 0;\\n border-radius: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n padding: 0;\\n cursor: pointer;\\n font-size: 14px\\n}\\n.DayPickerKeyboardShortcuts_buttonReset:active {\\n outline: 0\\n}\\n.DayPickerKeyboardShortcuts_show {\\n width: 33px;\\n height: 26px;\\n position: absolute;\\n z-index: 2\\n}\\n.DayPickerKeyboardShortcuts_show::before {\\n content: \\\"\\\";\\n display: block;\\n position: absolute\\n}\\n.DayPickerKeyboardShortcuts_show__bottomRight {\\n bottom: 0;\\n right: 0\\n}\\n.DayPickerKeyboardShortcuts_show__bottomRight::before {\\n border-top: 26px solid transparent;\\n border-right: 33px solid #00a699;\\n bottom: 0;\\n right: 0\\n}\\n.DayPickerKeyboardShortcuts_show__bottomRight:hover::before {\\n border-right: 33px solid #008489\\n}\\n.DayPickerKeyboardShortcuts_show__topRight {\\n top: 0;\\n right: 0\\n}\\n.DayPickerKeyboardShortcuts_show__topRight::before {\\n border-bottom: 26px solid transparent;\\n border-right: 33px solid #00a699;\\n top: 0;\\n right: 0\\n}\\n.DayPickerKeyboardShortcuts_show__topRight:hover::before {\\n border-right: 33px solid #008489\\n}\\n.DayPickerKeyboardShortcuts_show__topLeft {\\n top: 0;\\n left: 0\\n}\\n.DayPickerKeyboardShortcuts_show__topLeft::before {\\n border-bottom: 26px solid transparent;\\n border-left: 33px solid #00a699;\\n top: 0;\\n left: 0\\n}\\n.DayPickerKeyboardShortcuts_show__topLeft:hover::before {\\n border-left: 33px solid #008489\\n}\\n.DayPickerKeyboardShortcuts_showSpan {\\n color: #fff;\\n position: absolute\\n}\\n.DayPickerKeyboardShortcuts_showSpan__bottomRight {\\n bottom: 0;\\n right: 5px\\n}\\n.DayPickerKeyboardShortcuts_showSpan__topRight {\\n top: 1px;\\n right: 5px\\n}\\n.DayPickerKeyboardShortcuts_showSpan__topLeft {\\n top: 1px;\\n left: 5px\\n}\\n.DayPickerKeyboardShortcuts_panel {\\n overflow: auto;\\n background: #fff;\\n border: 1px solid #dbdbdb;\\n border-radius: 2px;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n right: 0;\\n left: 0;\\n z-index: 2;\\n padding: 22px;\\n margin: 33px;\\n text-align: left\\n}\\n.DayPickerKeyboardShortcuts_title {\\n font-size: 16px;\\n font-weight: 700;\\n margin: 0\\n}\\n.DayPickerKeyboardShortcuts_list {\\n list-style: none;\\n padding: 0;\\n font-size: 14px\\n}\\n.DayPickerKeyboardShortcuts_close {\\n position: absolute;\\n right: 22px;\\n top: 22px;\\n z-index: 2\\n}\\n.DayPickerKeyboardShortcuts_close:active {\\n outline: 0\\n}\\n.DayPickerKeyboardShortcuts_closeSvg {\\n height: 15px;\\n width: 15px;\\n fill: #cacccd\\n}\\n.DayPickerKeyboardShortcuts_closeSvg:focus,\\n.DayPickerKeyboardShortcuts_closeSvg:hover {\\n fill: #82888a\\n}\\n.CalendarDay {\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n cursor: pointer;\\n font-size: 14px;\\n text-align: center\\n}\\n.CalendarDay:active {\\n outline: 0\\n}\\n.CalendarDay__defaultCursor {\\n cursor: default\\n}\\n.CalendarDay__default {\\n border: 1px solid #e4e7e7;\\n color: #484848;\\n background: #fff\\n}\\n.CalendarDay__default:hover {\\n background: #e4e7e7;\\n border: 1px solid #e4e7e7;\\n color: inherit\\n}\\n.CalendarDay__hovered_offset {\\n background: #f4f5f5;\\n border: 1px double #e4e7e7;\\n color: inherit\\n}\\n.CalendarDay__outside {\\n border: 0;\\n background: #fff;\\n color: #484848\\n}\\n.CalendarDay__outside:hover {\\n border: 0\\n}\\n.CalendarDay__blocked_minimum_nights {\\n background: #fff;\\n border: 1px solid #eceeee;\\n color: #cacccd\\n}\\n.CalendarDay__blocked_minimum_nights:active,\\n.CalendarDay__blocked_minimum_nights:hover {\\n background: #fff;\\n color: #cacccd\\n}\\n.CalendarDay__highlighted_calendar {\\n background: #ffe8bc;\\n color: #484848\\n}\\n.CalendarDay__highlighted_calendar:active,\\n.CalendarDay__highlighted_calendar:hover {\\n background: #ffce71;\\n color: #484848\\n}\\n.CalendarDay__selected_span {\\n background: #66e2da;\\n border: 1px double #33dacd;\\n color: #fff\\n}\\n.CalendarDay__selected_span:active,\\n.CalendarDay__selected_span:hover {\\n background: #33dacd;\\n border: 1px double #33dacd;\\n color: #fff\\n}\\n.CalendarDay__selected,\\n.CalendarDay__selected:active,\\n.CalendarDay__selected:hover {\\n background: #00a699;\\n border: 1px double #00a699;\\n color: #fff\\n}\\n.CalendarDay__hovered_span,\\n.CalendarDay__hovered_span:hover {\\n background: #b2f1ec;\\n border: 1px double #80e8e0;\\n color: #007a87\\n}\\n.CalendarDay__hovered_span:active {\\n background: #80e8e0;\\n border: 1px double #80e8e0;\\n color: #007a87\\n}\\n.CalendarDay__blocked_calendar,\\n.CalendarDay__blocked_calendar:active,\\n.CalendarDay__blocked_calendar:hover {\\n background: #cacccd;\\n border: 1px solid #cacccd;\\n color: #82888a\\n}\\n.CalendarDay__blocked_out_of_range,\\n.CalendarDay__blocked_out_of_range:active,\\n.CalendarDay__blocked_out_of_range:hover {\\n background: #fff;\\n border: 1px solid #e4e7e7;\\n color: #cacccd\\n}\\n.CalendarDay__hovered_start_first_possible_end {\\n background: #eceeee;\\n border: 1px double #eceeee\\n}\\n.CalendarDay__hovered_start_blocked_min_nights {\\n background: #eceeee;\\n border: 1px double #e4e7e7\\n}\\n.CalendarMonth {\\n background: #fff;\\n text-align: center;\\n vertical-align: top;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none\\n}\\n.CalendarMonth_table {\\n border-collapse: collapse;\\n border-spacing: 0\\n}\\n.CalendarMonth_verticalSpacing {\\n border-collapse: separate\\n}\\n.CalendarMonth_caption {\\n color: #484848;\\n font-size: 18px;\\n text-align: center;\\n padding-top: 22px;\\n padding-bottom: 37px;\\n caption-side: initial\\n}\\n.CalendarMonth_caption__verticalScrollable {\\n padding-top: 12px;\\n padding-bottom: 7px\\n}\\n.CalendarMonthGrid {\\n background: #fff;\\n text-align: left;\\n z-index: 0\\n}\\n.CalendarMonthGrid__animating {\\n z-index: 1\\n}\\n.CalendarMonthGrid__horizontal {\\n position: absolute;\\n left: 9px\\n}\\n.CalendarMonthGrid__vertical,\\n.CalendarMonthGrid__vertical_scrollable {\\n margin: 0 auto\\n}\\n.CalendarMonthGrid_month__horizontal {\\n display: inline-block;\\n vertical-align: top;\\n min-height: 100%\\n}\\n.CalendarMonthGrid_month__hideForAnimation {\\n position: absolute;\\n z-index: -1;\\n opacity: 0;\\n pointer-events: none\\n}\\n.CalendarMonthGrid_month__hidden {\\n visibility: hidden\\n}\\n.DayPickerNavigation {\\n position: relative;\\n z-index: 2\\n}\\n.DayPickerNavigation__horizontal {\\n height: 0\\n}\\n.DayPickerNavigation__verticalScrollable_prevNav {\\n z-index: 1\\n}\\n.DayPickerNavigation__verticalDefault {\\n position: absolute;\\n width: 100%;\\n height: 52px;\\n bottom: 0;\\n left: 0\\n}\\n.DayPickerNavigation__verticalScrollableDefault {\\n position: relative\\n}\\n.DayPickerNavigation__bottom {\\n height: auto\\n}\\n.DayPickerNavigation__bottomDefault {\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n display: -webkit-box;\\n display: -moz-box;\\n display: -ms-flexbox;\\n display: -webkit-flex;\\n display: flex;\\n -webkit-justify-content: space-between;\\n justify-content: space-between\\n}\\n.DayPickerNavigation_button {\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n border: 0;\\n padding: 0;\\n margin: 0\\n}\\n.DayPickerNavigation_button__default {\\n border: 1px solid #e4e7e7;\\n background-color: #fff;\\n color: #757575\\n}\\n.DayPickerNavigation_button__default:focus,\\n.DayPickerNavigation_button__default:hover {\\n border: 1px solid #c4c4c4\\n}\\n.DayPickerNavigation_button__default:active {\\n background: #f2f2f2\\n}\\n.DayPickerNavigation_button__disabled {\\n cursor: default;\\n border: 1px solid #f2f2f2\\n}\\n.DayPickerNavigation_button__disabled:focus,\\n.DayPickerNavigation_button__disabled:hover {\\n border: 1px solid #f2f2f2\\n}\\n.DayPickerNavigation_button__disabled:active {\\n background: 0 0\\n}\\n.DayPickerNavigation_button__horizontalDefault {\\n position: absolute;\\n top: 18px;\\n line-height: .78;\\n border-radius: 3px;\\n padding: 6px 9px\\n}\\n.DayPickerNavigation_bottomButton__horizontalDefault {\\n position: static;\\n margin: -10px 22px 30px\\n}\\n.DayPickerNavigation_leftButton__horizontalDefault {\\n left: 22px\\n}\\n.DayPickerNavigation_rightButton__horizontalDefault {\\n right: 22px\\n}\\n.DayPickerNavigation_button__verticalDefault {\\n padding: 5px;\\n background: #fff;\\n box-shadow: 0 0 5px 2px rgba(0,0,0,.1);\\n position: relative;\\n display: inline-block;\\n text-align: center;\\n height: 100%;\\n width: 50%\\n}\\n.DayPickerNavigation_nextButton__verticalDefault {\\n border-left: 0\\n}\\n.DayPickerNavigation_nextButton__verticalScrollableDefault,\\n.DayPickerNavigation_prevButton__verticalScrollableDefault {\\n width: 100%\\n}\\n.DayPickerNavigation_svg__horizontal {\\n height: 19px;\\n width: 19px;\\n fill: #82888a;\\n display: block\\n}\\n.DayPickerNavigation_svg__vertical {\\n height: 42px;\\n width: 42px;\\n fill: #484848\\n}\\n.DayPickerNavigation_svg__disabled {\\n fill: #f2f2f2\\n}\\n.DayPicker {\\n background: #fff;\\n position: relative;\\n text-align: left\\n}\\n.DayPicker__horizontal {\\n background: #fff\\n}\\n.DayPicker__verticalScrollable {\\n height: 100%\\n}\\n.DayPicker__hidden {\\n visibility: hidden\\n}\\n.DayPicker__withBorder {\\n box-shadow: 0 2px 6px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.07);\\n border-radius: 3px\\n}\\n.DayPicker_portal__horizontal {\\n box-shadow: none;\\n position: absolute;\\n left: 50%;\\n top: 50%\\n}\\n.DayPicker_portal__vertical {\\n position: initial\\n}\\n.DayPicker_focusRegion {\\n outline: 0\\n}\\n.DayPicker_calendarInfo__horizontal,\\n.DayPicker_wrapper__horizontal {\\n display: inline-block;\\n vertical-align: top\\n}\\n.DayPicker_weekHeaders {\\n position: relative\\n}\\n.DayPicker_weekHeaders__horizontal {\\n margin-left: 9px\\n}\\n.DayPicker_weekHeader {\\n color: #757575;\\n position: absolute;\\n top: 62px;\\n z-index: 2;\\n text-align: left\\n}\\n.DayPicker_weekHeader__vertical {\\n left: 50%\\n}\\n.DayPicker_weekHeader__verticalScrollable {\\n top: 0;\\n display: table-row;\\n border-bottom: 1px solid #dbdbdb;\\n background: #fff;\\n margin-left: 0;\\n left: 0;\\n width: 100%;\\n text-align: center\\n}\\n.DayPicker_weekHeader_ul {\\n list-style: none;\\n margin: 1px 0;\\n padding-left: 0;\\n padding-right: 0;\\n font-size: 14px\\n}\\n.DayPicker_weekHeader_li {\\n display: inline-block;\\n text-align: center\\n}\\n.DayPicker_transitionContainer {\\n position: relative;\\n overflow: hidden;\\n border-radius: 3px\\n}\\n.DayPicker_transitionContainer__horizontal {\\n -webkit-transition: height .2s ease-in-out;\\n -moz-transition: height .2s ease-in-out;\\n transition: height .2s ease-in-out\\n}\\n.DayPicker_transitionContainer__vertical {\\n width: 100%\\n}\\n.DayPicker_transitionContainer__verticalScrollable {\\n padding-top: 20px;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n right: 0;\\n left: 0;\\n overflow-y: scroll\\n}\\n.DateInput {\\n margin: 0;\\n padding: 0;\\n background: #fff;\\n position: relative;\\n display: inline-block;\\n width: 130px;\\n vertical-align: middle\\n}\\n.DateInput__small {\\n width: 97px\\n}\\n.DateInput__block {\\n width: 100%\\n}\\n.DateInput__disabled {\\n background: #f2f2f2;\\n color: #dbdbdb\\n}\\n.DateInput_input {\\n font-weight: 200;\\n font-size: 19px;\\n line-height: 24px;\\n color: #484848;\\n background-color: #fff;\\n width: 100%;\\n padding: 11px 11px 9px;\\n border: 0;\\n border-top: 0;\\n border-right: 0;\\n border-bottom: 2px solid transparent;\\n border-left: 0;\\n border-radius: 0\\n}\\n.DateInput_input__small {\\n font-size: 15px;\\n line-height: 18px;\\n letter-spacing: .2px;\\n padding: 7px 7px 5px\\n}\\n.DateInput_input__regular {\\n font-weight: auto\\n}\\n.DateInput_input__readOnly {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none\\n}\\n.DateInput_input__focused {\\n outline: 0;\\n background: #fff;\\n border: 0;\\n border-top: 0;\\n border-right: 0;\\n border-bottom: 2px solid #008489;\\n border-left: 0\\n}\\n.DateInput_input__disabled {\\n background: #f2f2f2;\\n font-style: italic\\n}\\n.DateInput_screenReaderMessage {\\n border: 0;\\n clip: rect(0,0,0,0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px\\n}\\n.DateInput_fang {\\n position: absolute;\\n width: 20px;\\n height: 10px;\\n left: 22px;\\n z-index: 2\\n}\\n.DateInput_fangShape {\\n fill: #fff\\n}\\n.DateInput_fangStroke {\\n stroke: #dbdbdb;\\n fill: transparent\\n}\\n.DateRangePickerInput {\\n background-color: #fff;\\n display: inline-block\\n}\\n.DateRangePickerInput__disabled {\\n background: #f2f2f2\\n}\\n.DateRangePickerInput__withBorder {\\n border-radius: 2px;\\n border: 1px solid #dbdbdb\\n}\\n.DateRangePickerInput__rtl {\\n direction: rtl\\n}\\n.DateRangePickerInput__block {\\n display: block\\n}\\n.DateRangePickerInput__showClearDates {\\n padding-right: 30px\\n}\\n.DateRangePickerInput_arrow {\\n display: inline-block;\\n vertical-align: middle;\\n color: #484848\\n}\\n.DateRangePickerInput_arrow_svg {\\n vertical-align: middle;\\n fill: #484848;\\n height: 24px;\\n width: 24px\\n}\\n.DateRangePickerInput_clearDates {\\n background: 0 0;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n cursor: pointer;\\n padding: 10px;\\n margin: 0 10px 0 5px;\\n position: absolute;\\n right: 0;\\n top: 50%;\\n -webkit-transform: translateY(-50%);\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%)\\n}\\n.DateRangePickerInput_clearDates__small {\\n padding: 6px\\n}\\n.DateRangePickerInput_clearDates_default:focus,\\n.DateRangePickerInput_clearDates_default:hover {\\n background: #dbdbdb;\\n border-radius: 50%\\n}\\n.DateRangePickerInput_clearDates__hide {\\n visibility: hidden\\n}\\n.DateRangePickerInput_clearDates_svg {\\n fill: #82888a;\\n height: 12px;\\n width: 15px;\\n vertical-align: middle\\n}\\n.DateRangePickerInput_clearDates_svg__small {\\n height: 9px\\n}\\n.DateRangePickerInput_calendarIcon {\\n background: 0 0;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n cursor: pointer;\\n display: inline-block;\\n vertical-align: middle;\\n padding: 10px;\\n margin: 0 5px 0 10px\\n}\\n.DateRangePickerInput_calendarIcon_svg {\\n fill: #82888a;\\n height: 15px;\\n width: 14px;\\n vertical-align: middle\\n}\\n.DateRangePicker {\\n position: relative;\\n display: inline-block\\n}\\n.DateRangePicker__block {\\n display: block\\n}\\n.DateRangePicker_picker {\\n z-index: 1;\\n background-color: #fff;\\n position: absolute\\n}\\n.DateRangePicker_picker__rtl {\\n direction: rtl\\n}\\n.DateRangePicker_picker__directionLeft {\\n left: 0\\n}\\n.DateRangePicker_picker__directionRight {\\n right: 0\\n}\\n.DateRangePicker_picker__portal {\\n background-color: rgba(0,0,0,.3);\\n position: fixed;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%\\n}\\n.DateRangePicker_picker__fullScreenPortal {\\n background-color: #fff\\n}\\n.DateRangePicker_closeButton {\\n background: 0 0;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n cursor: pointer;\\n position: absolute;\\n top: 0;\\n right: 0;\\n padding: 15px;\\n z-index: 2\\n}\\n.DateRangePicker_closeButton:focus,\\n.DateRangePicker_closeButton:hover {\\n color: darken(#cacccd,10%);\\n text-decoration: none\\n}\\n.DateRangePicker_closeButton_svg {\\n height: 15px;\\n width: 15px;\\n fill: #cacccd\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"input:invalid {\\n outline: solid red;\\n}\\n\\ninput:valid {\\n outline: none black;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/input.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,kBAAkB;AACtB;;AAEA;IACI,mBAAmB;AACvB\",\"sourcesContent\":[\"input:invalid {\\n outline: solid red;\\n}\\n\\ninput:valid {\\n outline: none black;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-logout-btn {\\n padding: 1rem;\\n background-color: #119DFF;\\n border: 1px solid #119DFF;\\n color: #ffffff;\\n outline: none;\\n cursor: pointer;\\n text-align: center;\\n}\\n\\n.dash-logout-btn:hover, .dash-logout-btn:focus {\\n background-color: #0d76bf;\\n border: 1px solid #0d76bf;\\n}\\n\\n.dash-logout-frame {\\n display: block;\\n padding: 0;\\n margin: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/logout.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,aAAa;IACb,yBAAyB;IACzB,yBAAyB;IACzB,cAAc;IACd,aAAa;IACb,eAAe;IACf,kBAAkB;AACtB;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;AAC7B;;AAEA;IACI,cAAc;IACd,UAAU;IACV,SAAS;AACb\",\"sourcesContent\":[\".dash-logout-btn {\\n padding: 1rem;\\n background-color: #119DFF;\\n border: 1px solid #119DFF;\\n color: #ffffff;\\n outline: none;\\n cursor: pointer;\\n text-align: center;\\n}\\n\\n.dash-logout-btn:hover, .dash-logout-btn:focus {\\n background-color: #0d76bf;\\n border: 1px solid #0d76bf;\\n}\\n\\n.dash-logout-frame {\\n display: block;\\n padding: 0;\\n margin: 0;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".DateInput_input {\\n box-sizing: border-box;\\n}\\n\\n.DayPickerNavigation__verticalDefault {\\n text-align: center;\\n height: initial;\\n padding: 10px 0px;\\n}\\n\\n.DayPickerNavigation_svg__vertical {\\n height: 20px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/react-dates@20.1.0-fix.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,sBAAsB;AAC1B;;AAEA;IACI,kBAAkB;IAClB,eAAe;IACf,iBAAiB;AACrB;;AAEA;IACI,YAAY;AAChB\",\"sourcesContent\":[\".DateInput_input {\\n box-sizing: border-box;\\n}\\n\\n.DayPickerNavigation__verticalDefault {\\n text-align: center;\\n height: initial;\\n padding: 10px 0px;\\n}\\n\\n.DayPickerNavigation_svg__vertical {\\n height: 20px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".Select,.Select-control{position:relative}.Select-control,.Select-input>input{width:100%;cursor:default;outline:0}.Select-arrow-zone,.Select-clear-zone,.Select-loading-zone{text-align:center;cursor:pointer}.Select,.Select div,.Select input,.Select span{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.Select.is-disabled>.Select-control{background-color:#f9f9f9}.Select.is-disabled>.Select-control:hover{box-shadow:none}.Select.is-disabled .Select-arrow-zone{cursor:default;pointer-events:none;opacity:.35}.Select-control{background-color:#fff;border-radius:4px;border:1px solid #ccc;color:#333;display:table;border-spacing:0;border-collapse:separate;height:36px;overflow:hidden}.is-searchable.is-focused:not(.is-open)>.Select-control,.is-searchable.is-open>.Select-control{cursor:text}.Select-control:hover{box-shadow:0 1px 0 rgba(0,0,0,.06)}.Select-control .Select-input:focus{outline:0}.is-open>.Select-control{border-bottom-right-radius:0;border-bottom-left-radius:0;background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.is-open>.Select-control .Select-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}.is-focused:not(.is-open)>.Select-control{border-color:#007eff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 0 3px rgba(0,126,255,.1)}.Select--single>.Select-control .Select-value,.Select-placeholder{bottom:0;color:#aaa;left:0;line-height:34px;padding-left:10px;padding-right:10px;position:absolute;right:0;top:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-value.Select--single>.Select-control .Select-value .Select-value-label,.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value .Select-value-label{color:#333}.has-value.Select--single>.Select-control .Select-value a.Select-value-label,.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label{cursor:pointer;text-decoration:none}.has-value.Select--single>.Select-control .Select-value a.Select-value-label:focus,.has-value.Select--single>.Select-control .Select-value a.Select-value-label:hover,.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label:focus,.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label:hover{color:#007eff;outline:0;text-decoration:underline}.Select-input{height:34px;padding-left:10px;padding-right:10px;vertical-align:middle}.Select-input>input{background:none;border:0;box-shadow:none;display:inline-block;font-family:inherit;font-size:inherit;margin:0;line-height:14px;padding:8px 0 12px;-webkit-appearance:none}.Select-loading,.Select-loading-zone{width:16px;position:relative;vertical-align:middle}.is-focused .Select-input>input{cursor:text}.has-value.is-pseudo-focused .Select-input{opacity:0}.Select-control:not(.is-searchable)>.Select-input{outline:0}.Select-loading-zone{display:table-cell}.Select-loading{-webkit-animation:Select-animation-spin .4s infinite linear;-o-animation:Select-animation-spin .4s infinite linear;animation:Select-animation-spin .4s infinite linear;height:16px;box-sizing:border-box;border-radius:50%;border:2px solid #ccc;border-right-color:#333;display:inline-block}.Select-clear-zone{-webkit-animation:Select-animation-fadeIn .2s;-o-animation:Select-animation-fadeIn .2s;animation:Select-animation-fadeIn .2s;color:#999;display:table-cell;position:relative;vertical-align:middle;width:17px}.Select-clear-zone:hover{color:#D0021B}.Select-clear{display:inline-block;font-size:18px;line-height:1}.Select--multi .Select-clear-zone{width:17px}.Select-arrow-zone{display:table-cell;position:relative;vertical-align:middle;width:25px;padding-right:5px}.Select--multi .Select-multi-value-wrapper,.Select-arrow{display:inline-block}.Select-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px;height:0;width:0;position:relative}.Select-arrow-zone:hover>.Select-arrow,.is-open .Select-arrow{border-top-color:#666}.Select .Select-aria-only{display:inline-block;height:1px;width:1px;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;float:left}.Select-noresults,.Select-option{box-sizing:border-box;display:block;padding:8px 10px}@-webkit-keyframes Select-animation-fadeIn{from{opacity:0}to{opacity:1}}@keyframes Select-animation-fadeIn{from{opacity:0}to{opacity:1}}.Select-menu-outer{border-bottom-right-radius:4px;border-bottom-left-radius:4px;background-color:#fff;border:1px solid #ccc;border-top-color:#e6e6e6;box-shadow:0 1px 0 rgba(0,0,0,.06);box-sizing:border-box;margin-top:-1px;max-height:200px;position:absolute;top:100%;width:100%;z-index:1;-webkit-overflow-scrolling:touch}.Select-menu{max-height:198px;overflow-y:auto}.Select-option{background-color:#fff;color:#666;cursor:pointer}.Select-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.Select-option.is-selected{background-color:#f5faff;background-color:rgba(0,126,255,.04);color:#333}.Select-option.is-focused{background-color:#ebf5ff;background-color:rgba(0,126,255,.08);color:#333}.Select-option.is-disabled{color:#ccc;cursor:default}.Select-noresults{color:#999;cursor:default}.Select--multi .Select-input{vertical-align:middle;margin-left:10px;padding:0}.Select--multi.has-value .Select-input{margin-left:5px}.Select--multi .Select-value{background-color:#ebf5ff;background-color:rgba(0,126,255,.08);border-radius:2px;border:1px solid #c2e0ff;border:1px solid rgba(0,126,255,.24);color:#007eff;display:inline-block;font-size:.9em;line-height:1.4;margin-left:5px;margin-top:5px;vertical-align:top}.Select--multi .Select-value-icon,.Select--multi .Select-value-label{display:inline-block;vertical-align:middle}.Select--multi .Select-value-label{border-bottom-right-radius:2px;border-top-right-radius:2px;cursor:default;padding:2px 5px}.Select--multi a.Select-value-label{color:#007eff;cursor:pointer;text-decoration:none}.Select--multi a.Select-value-label:hover{text-decoration:underline}.Select--multi .Select-value-icon{cursor:pointer;border-bottom-left-radius:2px;border-top-left-radius:2px;border-right:1px solid #c2e0ff;border-right:1px solid rgba(0,126,255,.24);padding:1px 5px 3px}.Select--multi .Select-value-icon:focus,.Select--multi .Select-value-icon:hover{background-color:#d8eafd;background-color:rgba(0,113,230,.08);color:#0071e6}.Select--multi .Select-value-icon:active{background-color:#c2e0ff;background-color:rgba(0,126,255,.24)}.Select--multi.is-disabled .Select-value{background-color:#fcfcfc;border:1px solid #e3e3e3;color:#333}.Select--multi.is-disabled .Select-value-icon{cursor:not-allowed;border-right:1px solid #e3e3e3}.Select--multi.is-disabled .Select-value-icon:active,.Select--multi.is-disabled .Select-value-icon:focus,.Select--multi.is-disabled .Select-value-icon:hover{background-color:#fcfcfc}@keyframes Select-animation-spin{to{transform:rotate(1turn)}}@-webkit-keyframes Select-animation-spin{to{-webkit-transform:rotate(1turn)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/react-select@1.0.0-rc.3.min.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\".Select,.Select-control{position:relative}.Select-control,.Select-input>input{width:100%;cursor:default;outline:0}.Select-arrow-zone,.Select-clear-zone,.Select-loading-zone{text-align:center;cursor:pointer}.Select,.Select div,.Select input,.Select span{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.Select.is-disabled>.Select-control{background-color:#f9f9f9}.Select.is-disabled>.Select-control:hover{box-shadow:none}.Select.is-disabled .Select-arrow-zone{cursor:default;pointer-events:none;opacity:.35}.Select-control{background-color:#fff;border-radius:4px;border:1px solid #ccc;color:#333;display:table;border-spacing:0;border-collapse:separate;height:36px;overflow:hidden}.is-searchable.is-focused:not(.is-open)>.Select-control,.is-searchable.is-open>.Select-control{cursor:text}.Select-control:hover{box-shadow:0 1px 0 rgba(0,0,0,.06)}.Select-control .Select-input:focus{outline:0}.is-open>.Select-control{border-bottom-right-radius:0;border-bottom-left-radius:0;background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.is-open>.Select-control .Select-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}.is-focused:not(.is-open)>.Select-control{border-color:#007eff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 0 3px rgba(0,126,255,.1)}.Select--single>.Select-control .Select-value,.Select-placeholder{bottom:0;color:#aaa;left:0;line-height:34px;padding-left:10px;padding-right:10px;position:absolute;right:0;top:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-value.Select--single>.Select-control .Select-value .Select-value-label,.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value .Select-value-label{color:#333}.has-value.Select--single>.Select-control .Select-value a.Select-value-label,.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label{cursor:pointer;text-decoration:none}.has-value.Select--single>.Select-control .Select-value a.Select-value-label:focus,.has-value.Select--single>.Select-control .Select-value a.Select-value-label:hover,.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label:focus,.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label:hover{color:#007eff;outline:0;text-decoration:underline}.Select-input{height:34px;padding-left:10px;padding-right:10px;vertical-align:middle}.Select-input>input{background:none;border:0;box-shadow:none;display:inline-block;font-family:inherit;font-size:inherit;margin:0;line-height:14px;padding:8px 0 12px;-webkit-appearance:none}.Select-loading,.Select-loading-zone{width:16px;position:relative;vertical-align:middle}.is-focused .Select-input>input{cursor:text}.has-value.is-pseudo-focused .Select-input{opacity:0}.Select-control:not(.is-searchable)>.Select-input{outline:0}.Select-loading-zone{display:table-cell}.Select-loading{-webkit-animation:Select-animation-spin .4s infinite linear;-o-animation:Select-animation-spin .4s infinite linear;animation:Select-animation-spin .4s infinite linear;height:16px;box-sizing:border-box;border-radius:50%;border:2px solid #ccc;border-right-color:#333;display:inline-block}.Select-clear-zone{-webkit-animation:Select-animation-fadeIn .2s;-o-animation:Select-animation-fadeIn .2s;animation:Select-animation-fadeIn .2s;color:#999;display:table-cell;position:relative;vertical-align:middle;width:17px}.Select-clear-zone:hover{color:#D0021B}.Select-clear{display:inline-block;font-size:18px;line-height:1}.Select--multi .Select-clear-zone{width:17px}.Select-arrow-zone{display:table-cell;position:relative;vertical-align:middle;width:25px;padding-right:5px}.Select--multi .Select-multi-value-wrapper,.Select-arrow{display:inline-block}.Select-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px;height:0;width:0;position:relative}.Select-arrow-zone:hover>.Select-arrow,.is-open .Select-arrow{border-top-color:#666}.Select .Select-aria-only{display:inline-block;height:1px;width:1px;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;float:left}.Select-noresults,.Select-option{box-sizing:border-box;display:block;padding:8px 10px}@-webkit-keyframes Select-animation-fadeIn{from{opacity:0}to{opacity:1}}@keyframes Select-animation-fadeIn{from{opacity:0}to{opacity:1}}.Select-menu-outer{border-bottom-right-radius:4px;border-bottom-left-radius:4px;background-color:#fff;border:1px solid #ccc;border-top-color:#e6e6e6;box-shadow:0 1px 0 rgba(0,0,0,.06);box-sizing:border-box;margin-top:-1px;max-height:200px;position:absolute;top:100%;width:100%;z-index:1;-webkit-overflow-scrolling:touch}.Select-menu{max-height:198px;overflow-y:auto}.Select-option{background-color:#fff;color:#666;cursor:pointer}.Select-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.Select-option.is-selected{background-color:#f5faff;background-color:rgba(0,126,255,.04);color:#333}.Select-option.is-focused{background-color:#ebf5ff;background-color:rgba(0,126,255,.08);color:#333}.Select-option.is-disabled{color:#ccc;cursor:default}.Select-noresults{color:#999;cursor:default}.Select--multi .Select-input{vertical-align:middle;margin-left:10px;padding:0}.Select--multi.has-value .Select-input{margin-left:5px}.Select--multi .Select-value{background-color:#ebf5ff;background-color:rgba(0,126,255,.08);border-radius:2px;border:1px solid #c2e0ff;border:1px solid rgba(0,126,255,.24);color:#007eff;display:inline-block;font-size:.9em;line-height:1.4;margin-left:5px;margin-top:5px;vertical-align:top}.Select--multi .Select-value-icon,.Select--multi .Select-value-label{display:inline-block;vertical-align:middle}.Select--multi .Select-value-label{border-bottom-right-radius:2px;border-top-right-radius:2px;cursor:default;padding:2px 5px}.Select--multi a.Select-value-label{color:#007eff;cursor:pointer;text-decoration:none}.Select--multi a.Select-value-label:hover{text-decoration:underline}.Select--multi .Select-value-icon{cursor:pointer;border-bottom-left-radius:2px;border-top-left-radius:2px;border-right:1px solid #c2e0ff;border-right:1px solid rgba(0,126,255,.24);padding:1px 5px 3px}.Select--multi .Select-value-icon:focus,.Select--multi .Select-value-icon:hover{background-color:#d8eafd;background-color:rgba(0,113,230,.08);color:#0071e6}.Select--multi .Select-value-icon:active{background-color:#c2e0ff;background-color:rgba(0,126,255,.24)}.Select--multi.is-disabled .Select-value{background-color:#fcfcfc;border:1px solid #e3e3e3;color:#333}.Select--multi.is-disabled .Select-value-icon{cursor:not-allowed;border-right:1px solid #e3e3e3}.Select--multi.is-disabled .Select-value-icon:active,.Select--multi.is-disabled .Select-value-icon:focus,.Select--multi.is-disabled .Select-value-icon:hover{background-color:#fcfcfc}@keyframes Select-animation-spin{to{transform:rotate(1turn)}}@-webkit-keyframes Select-animation-spin{to{-webkit-transform:rotate(1turn)}}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\torigDefineProperty(obj, 'x', { enumerable: false, value: obj });\n\t\t// eslint-disable-next-line no-unused-vars, no-restricted-syntax\n\t\tfor (var _ in obj) { // jscs:ignore disallowUnusedVariables\n\t\t\treturn false;\n\t\t}\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%');\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","/**\n * Code refactored from Mozilla Developer Network:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n */\n\n'use strict';\n\nfunction assign(target, firstSource) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n\n var keysArray = Object.keys(Object(nextSource));\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n}\n\nfunction polyfill() {\n if (!Object.assign) {\n Object.defineProperty(Object, 'assign', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: assign\n });\n }\n}\n\nmodule.exports = {\n assign: assign,\n polyfill: polyfill\n};\n","/**\n * inspired by is-number \n * but significantly simplified and sped up by ignoring number and string constructors\n * ie these return false:\n * new Number(1)\n * new String('1')\n */\n\n'use strict';\n\nvar allBlankCharCodes = require('is-string-blank');\n\nmodule.exports = function(n) {\n var type = typeof n;\n if(type === 'string') {\n var original = n;\n n = +n;\n // whitespace strings cast to zero - filter them out\n if(n===0 && allBlankCharCodes(original)) return false;\n }\n else if(type !== 'number') return false;\n\n return n - n < 1;\n};\n","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nmodule.exports = function forEach (obj, fn, ctx) {\n if (toString.call(fn) !== '[object Function]') {\n throw new TypeError('iterator must be a function');\n }\n var l = obj.length;\n if (l === +l) {\n for (var i = 0; i < l; i++) {\n fn.call(ctx, obj[i], i, obj);\n }\n } else {\n for (var k in obj) {\n if (hasOwn.call(obj, k)) {\n fn.call(ctx, obj[k], k, obj);\n }\n }\n }\n};\n\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function isNaN(value) {\n\treturn value !== value;\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Number);\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {\n\t\treturn Number.isNaN;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function shimNumberIsNaN() {\n\tvar polyfill = getPolyfill();\n\tdefine(Number, { isNaN: polyfill }, {\n\t\tisNaN: function testIsNaN() {\n\t\t\treturn Number.isNaN !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\r\n\r\n/**\r\n * Is this string all whitespace?\r\n * This solution kind of makes my brain hurt, but it's significantly faster\r\n * than !str.trim() or any other solution I could find.\r\n *\r\n * whitespace codes from: http://en.wikipedia.org/wiki/Whitespace_character\r\n * and verified with:\r\n *\r\n * for(var i = 0; i < 65536; i++) {\r\n * var s = String.fromCharCode(i);\r\n * if(+s===0 && !s.trim()) console.log(i, s);\r\n * }\r\n *\r\n * which counts a couple of these as *not* whitespace, but finds nothing else\r\n * that *is* whitespace. Note that charCodeAt stops at 16 bits, but it appears\r\n * that there are no whitespace characters above this, and code points above\r\n * this do not map onto white space characters.\r\n */\r\n\r\nmodule.exports = function(str){\r\n var l = str.length,\r\n a;\r\n for(var i = 0; i < l; i++) {\r\n a = str.charCodeAt(i);\r\n if((a < 9 || a > 13) && (a !== 32) && (a !== 133) && (a !== 160) &&\r\n (a !== 5760) && (a !== 6158) && (a < 8192 || a > 8205) &&\r\n (a !== 8232) && (a !== 8233) && (a !== 8239) && (a !== 8287) &&\r\n (a !== 8288) && (a !== 12288) && (a !== 65279)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n","'use strict';\n\nvar forEach = require('foreach');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasSymbols = require('has-symbols')();\nvar hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol';\n\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new global[typedArray]();\n\t\tif (!(Symbol.toStringTag in arr)) {\n\t\t\tthrow new EvalError('this engine has support for Symbol.toStringTag, but ' + typedArray + ' does not have the property! Please report this.');\n\t\t}\n\t\tvar proto = getPrototypeOf(arr);\n\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\tif (!descriptor) {\n\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t}\n\t\ttoStrTags[typedArray] = descriptor.get;\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Lybia) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı',\n };\n\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split(\n '_'\n ),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex = /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split(\n '_'\n ),\n weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string\n .replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split(\n '_'\n );\n\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n '_'\n ),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ',\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split(\n '_'\n ),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अक्टू/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सित/i,\n /^अक्टू/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split(\n '_'\n ),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n },\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex: /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(\n ' '\n );\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (\n $0,\n $1,\n $2\n ) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n });\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\n ),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ',\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n '_'\n ),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ',\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n '_'\n ),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်',\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n w: 'en uke',\n ww: '%d uker',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(\n '_'\n ),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(\n '_'\n ),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(\n '_'\n ),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(\n '_'\n ),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split(\n '_'\n ),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split(\n '_'\n ),\n weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return n > 1 && n < 5;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'дан',\n dd: translator.translate,\n M: 'месец',\n MM: translator.translate,\n y: 'годину',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\n ),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол',\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل',\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhTw;\n\n})));\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","//! moment.js\n//! version : 2.29.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key;\n for (i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i;\n for (i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (\n matched,\n p1,\n p2,\n p3,\n p4\n ) {\n return p1 || p2 || p3 || p4;\n })\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(\n '_'\n ),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 = /^(?:(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{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (\n input,\n array,\n config,\n token\n ) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n });\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","import _arity from \"./_arity.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n\n combinedIdx += 1;\n }\n\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n}","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _curryN from \"./internal/_curryN.js\";\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});\n\nexport default curryN;","export default function _arrayFromIterator(iter) {\n var list = [];\n var next;\n\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n\n return list;\n}","export default function _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n}","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\n\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","import _arrayFromIterator from \"./_arrayFromIterator.js\";\nimport _includesWith from \"./_includesWith.js\";\nimport _functionName from \"./_functionName.js\";\nimport _has from \"./_has.js\";\nimport _objectIs from \"./_objectIs.js\";\nimport keys from \"../keys.js\";\nimport type from \"../type.js\";\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparision of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n\n var b = _arrayFromIterator(bIterator);\n\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n } // if *a* array contains any element that is not included in *b*\n\n\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\n\nexport default function _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n\n var typeA = type(a);\n\n if (typeA !== type(b)) {\n return false;\n }\n\n if (a == null || b == null) {\n return false;\n }\n\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n\n break;\n\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n\n break;\n\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n\n break;\n\n case 'Error':\n return a.name === b.name && a.message === b.message;\n\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n\n break;\n }\n\n var idx = stackA.length - 1;\n\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n\n idx -= 1;\n }\n\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n idx = keysA.length - 1;\n\n while (idx >= 0) {\n var key = keysA[idx];\n\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n\n idx -= 1;\n }\n\n return true;\n}","export default function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _equals from \"./internal/_equals.js\";\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\n\nvar equals =\n/*#__PURE__*/\n_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\n\nexport default equals;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFilter =\n/*#__PURE__*/\nfunction () {\n function XFilter(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XFilter.prototype['@@transducer/init'] = _xfBase.init;\n XFilter.prototype['@@transducer/result'] = _xfBase.result;\n\n XFilter.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n };\n\n return XFilter;\n}();\n\nvar _xfilter =\n/*#__PURE__*/\n_curry2(function _xfilter(f, xf) {\n return new XFilter(f, xf);\n});\n\nexport default _xfilter;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _filter from \"./internal/_filter.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xfilter from \"./internal/_xfilter.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n * const isEven = n => n % 2 === 0;\n *\n * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\nvar filter =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['filter'], _xfilter, function (pred, filterable) {\n return _isObject(filterable) ? _reduce(function (acc, key) {\n if (pred(filterable[key])) {\n acc[key] = filterable[key];\n }\n\n return acc;\n }, {}, keys(filterable)) : // else\n _filter(pred, filterable);\n}));\n\nexport default filter;","export default function _filter(fn, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n\n while (idx < len) {\n if (fn(list[idx])) {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n\n return result;\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _has from \"./internal/_has.js\";\nimport isNil from \"./isNil.js\";\n/**\n * Returns whether or not a path exists in an object. Only the object's\n * own properties are checked.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> Boolean\n * @param {Array} path The path to use.\n * @param {Object} obj The object to check the path in.\n * @return {Boolean} Whether the path exists.\n * @see R.has\n * @example\n *\n * R.hasPath(['a', 'b'], {a: {b: 2}}); // => true\n * R.hasPath(['a', 'b'], {a: {b: undefined}}); // => true\n * R.hasPath(['a', 'b'], {a: {c: 2}}); // => false\n * R.hasPath(['a', 'b'], {}); // => false\n */\n\nvar hasPath =\n/*#__PURE__*/\n_curry2(function hasPath(_path, obj) {\n if (_path.length === 0 || isNil(obj)) {\n return false;\n }\n\n var val = obj;\n var idx = 0;\n\n while (idx < _path.length) {\n if (!isNil(val) && _has(_path[idx], val)) {\n val = val[_path[idx]];\n idx += 1;\n } else {\n return false;\n }\n }\n\n return true;\n});\n\nexport default hasPath;","import _curry2 from \"./internal/_curry2.js\";\nimport hasPath from \"./hasPath.js\";\n/**\n * Returns whether or not an object has an own property with the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n * const hasName = R.has('name');\n * hasName({name: 'alice'}); //=> true\n * hasName({name: 'bob'}); //=> true\n * hasName({}); //=> false\n *\n * const point = {x: 0, y: 0};\n * const pointHas = R.has(R.__, point);\n * pointHas('x'); //=> true\n * pointHas('y'); //=> true\n * pointHas('z'); //=> false\n */\n\nvar has =\n/*#__PURE__*/\n_curry2(function has(prop, obj) {\n return hasPath([prop], obj);\n});\n\nexport default has;","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n * Works also with strings.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.any\n * @example\n *\n * R.includes(3, [1, 2, 3]); //=> true\n * R.includes(4, [1, 2, 3]); //=> false\n * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n * R.includes([42], [[42]]); //=> true\n * R.includes('ba', 'banana'); //=>true\n */\n\nvar includes =\n/*#__PURE__*/\n_curry2(_includes);\n\nexport default includes;","export default function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}","import _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","export default function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","import _isArray from \"./_isArray.js\";\nimport _isTransformer from \"./_isTransformer.js\";\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\nexport default function _dispatchable(methodNames, xf, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n\n var args = Array.prototype.slice.call(arguments, 0);\n var obj = args.pop();\n\n if (!_isArray(obj)) {\n var idx = 0;\n\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, args);\n }\n\n idx += 1;\n }\n\n if (_isTransformer(obj)) {\n var transducer = xf.apply(null, args);\n return transducer(obj);\n }\n }\n\n return fn.apply(this, arguments);\n };\n}","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","import _indexOf from \"./_indexOf.js\";\nexport default function _includes(a, list) {\n return _indexOf(list, a, 0) >= 0;\n}","import equals from \"../equals.js\";\nexport default function _indexOf(list, a, idx) {\n var inf, item; // Array.prototype.indexOf doesn't exist below IE9\n\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n\n while (idx < list.length) {\n item = list[idx];\n\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } // non-zero numbers can utilise Set\n\n\n return list.indexOf(a, idx);\n // all these types can utilise Set\n\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n\n }\n } // anything else not covered above, defer to R.equals\n\n\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n}","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","export default function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","import _curry1 from \"./_curry1.js\";\nimport _isArray from \"./_isArray.js\";\nimport _isString from \"./_isString.js\";\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\n\nvar _isArrayLike =\n/*#__PURE__*/\n_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n\n if (!x) {\n return false;\n }\n\n if (typeof x !== 'object') {\n return false;\n }\n\n if (_isString(x)) {\n return false;\n }\n\n if (x.nodeType === 1) {\n return !!x.length;\n }\n\n if (x.length === 0) {\n return true;\n }\n\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n\n return false;\n});\n\nexport default _isArrayLike;","var XWrap =\n/*#__PURE__*/\nfunction () {\n function XWrap(fn) {\n this.f = fn;\n }\n\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nexport default function _xwrap(fn) {\n return new XWrap(fn);\n}","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\nvar bind =\n/*#__PURE__*/\n_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\n\nexport default bind;","import _isArrayLike from \"./_isArrayLike.js\";\nimport _xwrap from \"./_xwrap.js\";\nimport bind from \"../bind.js\";\n\nfunction _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n idx += 1;\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n step = iter.next();\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\nexport default function _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n\n if (_isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n }\n\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n}","export default {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\n\nvar isNil =\n/*#__PURE__*/\n_curry1(function isNil(x) {\n return x == null;\n});\n\nexport default isNil;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nexport default keys;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a partial copy of an object omitting the keys specified.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [String] -> {String: *} -> {String: *}\n * @param {Array} names an array of String property names to omit from the new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with properties from `names` not on it.\n * @see R.pick\n * @example\n *\n * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3}\n */\n\nvar omit =\n/*#__PURE__*/\n_curry2(function omit(names, obj) {\n var result = {};\n var index = {};\n var idx = 0;\n var len = names.length;\n\n while (idx < len) {\n index[names[idx]] = 1;\n idx += 1;\n }\n\n for (var prop in obj) {\n if (!index.hasOwnProperty(prop)) {\n result[prop] = obj[prop];\n }\n }\n\n return result;\n});\n\nexport default omit;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(undefined); //=> \"Undefined\"\n */\n\nvar type =\n/*#__PURE__*/\n_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\n\nexport default type;","'use strict';\n\nvar isArrayish = require('is-arrayish');\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n","module.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n","\"use strict\";\n\nfunction hash(str) {\n var hash = 5381,\n i = str.length;\n\n while(i) {\n hash = (hash * 33) ^ str.charCodeAt(--i);\n }\n\n /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n * integers. Since we want the results to be always positive, convert the\n * signed int to an unsigned by doing an unsigned bitshift. */\n return hash >>> 0;\n}\n\nmodule.exports = hash;\n","\"use strict\";\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var style = document.createElement(\"style\");\n options.setAttributes(style, options.attributes);\n options.insert(style);\n return style;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute(\"media\", media);\n } else {\n style.removeAttribute(\"media\");\n }\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, style);\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var style = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(style, options, obj);\n },\n remove: function remove() {\n removeStyleElement(style);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*\nBased on Glamor's sheet\nhttps://github.com/threepointone/glamor/blob/667b480d31b3721a905021b26e1290ce92ca2879/src/sheet.js\n*/\nvar isProd = typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'production';\n\nvar isString = function isString(o) {\n return Object.prototype.toString.call(o) === '[object String]';\n};\n\nvar StyleSheet = /*#__PURE__*/function () {\n function StyleSheet(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'stylesheet' : _ref$name,\n _ref$optimizeForSpeed = _ref.optimizeForSpeed,\n optimizeForSpeed = _ref$optimizeForSpeed === void 0 ? isProd : _ref$optimizeForSpeed,\n _ref$isBrowser = _ref.isBrowser,\n isBrowser = _ref$isBrowser === void 0 ? typeof window !== 'undefined' : _ref$isBrowser;\n\n invariant(isString(name), '`name` must be a string');\n this._name = name;\n this._deletedRulePlaceholder = \"#\" + name + \"-deleted-rule____{}\";\n invariant(typeof optimizeForSpeed === 'boolean', '`optimizeForSpeed` must be a boolean');\n this._optimizeForSpeed = optimizeForSpeed;\n this._isBrowser = isBrowser;\n this._serverSheet = undefined;\n this._tags = [];\n this._injected = false;\n this._rulesCount = 0;\n var node = this._isBrowser && document.querySelector('meta[property=\"csp-nonce\"]');\n this._nonce = node ? node.getAttribute('content') : null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.setOptimizeForSpeed = function setOptimizeForSpeed(bool) {\n invariant(typeof bool === 'boolean', '`setOptimizeForSpeed` accepts a boolean');\n invariant(this._rulesCount === 0, 'optimizeForSpeed cannot be when rules have already been inserted');\n this.flush();\n this._optimizeForSpeed = bool;\n this.inject();\n };\n\n _proto.isOptimizeForSpeed = function isOptimizeForSpeed() {\n return this._optimizeForSpeed;\n };\n\n _proto.inject = function inject() {\n var _this = this;\n\n invariant(!this._injected, 'sheet already injected');\n this._injected = true;\n\n if (this._isBrowser && this._optimizeForSpeed) {\n this._tags[0] = this.makeStyleTag(this._name);\n this._optimizeForSpeed = 'insertRule' in this.getSheet();\n\n if (!this._optimizeForSpeed) {\n if (!isProd) {\n console.warn('StyleSheet: optimizeForSpeed mode not supported falling back to standard mode.');\n }\n\n this.flush();\n this._injected = true;\n }\n\n return;\n }\n\n this._serverSheet = {\n cssRules: [],\n insertRule: function insertRule(rule, index) {\n if (typeof index === 'number') {\n _this._serverSheet.cssRules[index] = {\n cssText: rule\n };\n } else {\n _this._serverSheet.cssRules.push({\n cssText: rule\n });\n }\n\n return index;\n },\n deleteRule: function deleteRule(index) {\n _this._serverSheet.cssRules[index] = null;\n }\n };\n };\n\n _proto.getSheetForTag = function getSheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n }\n };\n\n _proto.getSheet = function getSheet() {\n return this.getSheetForTag(this._tags[this._tags.length - 1]);\n };\n\n _proto.insertRule = function insertRule(rule, index) {\n invariant(isString(rule), '`insertRule` accepts only strings');\n\n if (!this._isBrowser) {\n if (typeof index !== 'number') {\n index = this._serverSheet.cssRules.length;\n }\n\n this._serverSheet.insertRule(rule, index);\n\n return this._rulesCount++;\n }\n\n if (this._optimizeForSpeed) {\n var sheet = this.getSheet();\n\n if (typeof index !== 'number') {\n index = sheet.cssRules.length;\n } // this weirdness for perf, and chrome's weird bug\n // https://stackoverflow.com/questions/20007992/chrome-suddenly-stopped-accepting-insertrule\n\n\n try {\n sheet.insertRule(rule, index);\n } catch (error) {\n if (!isProd) {\n console.warn(\"StyleSheet: illegal rule: \\n\\n\" + rule + \"\\n\\nSee https://stackoverflow.com/q/20007992 for more info\");\n }\n\n return -1;\n }\n } else {\n var insertionPoint = this._tags[index];\n\n this._tags.push(this.makeStyleTag(this._name, rule, insertionPoint));\n }\n\n return this._rulesCount++;\n };\n\n _proto.replaceRule = function replaceRule(index, rule) {\n if (this._optimizeForSpeed || !this._isBrowser) {\n var sheet = this._isBrowser ? this.getSheet() : this._serverSheet;\n\n if (!rule.trim()) {\n rule = this._deletedRulePlaceholder;\n }\n\n if (!sheet.cssRules[index]) {\n // @TBD Should we throw an error?\n return index;\n }\n\n sheet.deleteRule(index);\n\n try {\n sheet.insertRule(rule, index);\n } catch (error) {\n if (!isProd) {\n console.warn(\"StyleSheet: illegal rule: \\n\\n\" + rule + \"\\n\\nSee https://stackoverflow.com/q/20007992 for more info\");\n } // In order to preserve the indices we insert a deleteRulePlaceholder\n\n\n sheet.insertRule(this._deletedRulePlaceholder, index);\n }\n } else {\n var tag = this._tags[index];\n invariant(tag, \"old rule at index `\" + index + \"` not found\");\n tag.textContent = rule;\n }\n\n return index;\n };\n\n _proto.deleteRule = function deleteRule(index) {\n if (!this._isBrowser) {\n this._serverSheet.deleteRule(index);\n\n return;\n }\n\n if (this._optimizeForSpeed) {\n this.replaceRule(index, '');\n } else {\n var tag = this._tags[index];\n invariant(tag, \"rule at index `\" + index + \"` not found\");\n tag.parentNode.removeChild(tag);\n this._tags[index] = null;\n }\n };\n\n _proto.flush = function flush() {\n this._injected = false;\n this._rulesCount = 0;\n\n if (this._isBrowser) {\n this._tags.forEach(function (tag) {\n return tag && tag.parentNode.removeChild(tag);\n });\n\n this._tags = [];\n } else {\n // simpler on server\n this._serverSheet.cssRules = [];\n }\n };\n\n _proto.cssRules = function cssRules() {\n var _this2 = this;\n\n if (!this._isBrowser) {\n return this._serverSheet.cssRules;\n }\n\n return this._tags.reduce(function (rules, tag) {\n if (tag) {\n rules = rules.concat(Array.prototype.map.call(_this2.getSheetForTag(tag).cssRules, function (rule) {\n return rule.cssText === _this2._deletedRulePlaceholder ? null : rule;\n }));\n } else {\n rules.push(null);\n }\n\n return rules;\n }, []);\n };\n\n _proto.makeStyleTag = function makeStyleTag(name, cssString, relativeToTag) {\n if (cssString) {\n invariant(isString(cssString), 'makeStyleTag acceps only strings as second parameter');\n }\n\n var tag = document.createElement('style');\n if (this._nonce) tag.setAttribute('nonce', this._nonce);\n tag.type = 'text/css';\n tag.setAttribute(\"data-\" + name, '');\n\n if (cssString) {\n tag.appendChild(document.createTextNode(cssString));\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n\n if (relativeToTag) {\n head.insertBefore(tag, relativeToTag);\n } else {\n head.appendChild(tag);\n }\n\n return tag;\n };\n\n _createClass(StyleSheet, [{\n key: \"length\",\n get: function get() {\n return this._rulesCount;\n }\n }]);\n\n return StyleSheet;\n}();\n\nexports[\"default\"] = StyleSheet;\n\nfunction invariant(condition, message) {\n if (!condition) {\n throw new Error(\"StyleSheet: \" + message + \".\");\n }\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.flush = flush;\nexports[\"default\"] = void 0;\n\nvar _react = require(\"react\");\n\nvar _stylesheetRegistry = _interopRequireDefault(require(\"./stylesheet-registry\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar styleSheetRegistry = new _stylesheetRegistry[\"default\"]();\n\nvar JSXStyle = /*#__PURE__*/function (_Component) {\n _inheritsLoose(JSXStyle, _Component);\n\n function JSXStyle(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n _this.prevProps = {};\n return _this;\n }\n\n JSXStyle.dynamic = function dynamic(info) {\n return info.map(function (tagInfo) {\n var baseId = tagInfo[0];\n var props = tagInfo[1];\n return styleSheetRegistry.computeId(baseId, props);\n }).join(' ');\n } // probably faster than PureComponent (shallowEqual)\n ;\n\n var _proto = JSXStyle.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(otherProps) {\n return this.props.id !== otherProps.id || // We do this check because `dynamic` is an array of strings or undefined.\n // These are the computed values for dynamic styles.\n String(this.props.dynamic) !== String(otherProps.dynamic);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n styleSheetRegistry.remove(this.props);\n };\n\n _proto.render = function render() {\n // This is a workaround to make the side effect async safe in the \"render\" phase.\n // See https://github.com/zeit/styled-jsx/pull/484\n if (this.shouldComponentUpdate(this.prevProps)) {\n // Updates\n if (this.prevProps.id) {\n styleSheetRegistry.remove(this.prevProps);\n }\n\n styleSheetRegistry.add(this.props);\n this.prevProps = this.props;\n }\n\n return null;\n };\n\n return JSXStyle;\n}(_react.Component);\n\nexports[\"default\"] = JSXStyle;\n\nfunction flush() {\n var cssRules = styleSheetRegistry.cssRules();\n styleSheetRegistry.flush();\n return cssRules;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _stringHash = _interopRequireDefault(require(\"string-hash\"));\n\nvar _stylesheet = _interopRequireDefault(require(\"./lib/stylesheet\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar sanitize = function sanitize(rule) {\n return rule.replace(/\\/style/gi, '\\\\/style');\n};\n\nvar StyleSheetRegistry = /*#__PURE__*/function () {\n function StyleSheetRegistry(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$styleSheet = _ref.styleSheet,\n styleSheet = _ref$styleSheet === void 0 ? null : _ref$styleSheet,\n _ref$optimizeForSpeed = _ref.optimizeForSpeed,\n optimizeForSpeed = _ref$optimizeForSpeed === void 0 ? false : _ref$optimizeForSpeed,\n _ref$isBrowser = _ref.isBrowser,\n isBrowser = _ref$isBrowser === void 0 ? typeof window !== 'undefined' : _ref$isBrowser;\n\n this._sheet = styleSheet || new _stylesheet[\"default\"]({\n name: 'styled-jsx',\n optimizeForSpeed: optimizeForSpeed\n });\n\n this._sheet.inject();\n\n if (styleSheet && typeof optimizeForSpeed === 'boolean') {\n this._sheet.setOptimizeForSpeed(optimizeForSpeed);\n\n this._optimizeForSpeed = this._sheet.isOptimizeForSpeed();\n }\n\n this._isBrowser = isBrowser;\n this._fromServer = undefined;\n this._indices = {};\n this._instancesCounts = {};\n this.computeId = this.createComputeId();\n this.computeSelector = this.createComputeSelector();\n }\n\n var _proto = StyleSheetRegistry.prototype;\n\n _proto.add = function add(props) {\n var _this = this;\n\n if (undefined === this._optimizeForSpeed) {\n this._optimizeForSpeed = Array.isArray(props.children);\n\n this._sheet.setOptimizeForSpeed(this._optimizeForSpeed);\n\n this._optimizeForSpeed = this._sheet.isOptimizeForSpeed();\n }\n\n if (this._isBrowser && !this._fromServer) {\n this._fromServer = this.selectFromServer();\n this._instancesCounts = Object.keys(this._fromServer).reduce(function (acc, tagName) {\n acc[tagName] = 0;\n return acc;\n }, {});\n }\n\n var _this$getIdAndRules = this.getIdAndRules(props),\n styleId = _this$getIdAndRules.styleId,\n rules = _this$getIdAndRules.rules; // Deduping: just increase the instances count.\n\n\n if (styleId in this._instancesCounts) {\n this._instancesCounts[styleId] += 1;\n return;\n }\n\n var indices = rules.map(function (rule) {\n return _this._sheet.insertRule(rule);\n }) // Filter out invalid rules\n .filter(function (index) {\n return index !== -1;\n });\n this._indices[styleId] = indices;\n this._instancesCounts[styleId] = 1;\n };\n\n _proto.remove = function remove(props) {\n var _this2 = this;\n\n var _this$getIdAndRules2 = this.getIdAndRules(props),\n styleId = _this$getIdAndRules2.styleId;\n\n invariant(styleId in this._instancesCounts, \"styleId: `\" + styleId + \"` not found\");\n this._instancesCounts[styleId] -= 1;\n\n if (this._instancesCounts[styleId] < 1) {\n var tagFromServer = this._fromServer && this._fromServer[styleId];\n\n if (tagFromServer) {\n tagFromServer.parentNode.removeChild(tagFromServer);\n delete this._fromServer[styleId];\n } else {\n this._indices[styleId].forEach(function (index) {\n return _this2._sheet.deleteRule(index);\n });\n\n delete this._indices[styleId];\n }\n\n delete this._instancesCounts[styleId];\n }\n };\n\n _proto.update = function update(props, nextProps) {\n this.add(nextProps);\n this.remove(props);\n };\n\n _proto.flush = function flush() {\n this._sheet.flush();\n\n this._sheet.inject();\n\n this._fromServer = undefined;\n this._indices = {};\n this._instancesCounts = {};\n this.computeId = this.createComputeId();\n this.computeSelector = this.createComputeSelector();\n };\n\n _proto.cssRules = function cssRules() {\n var _this3 = this;\n\n var fromServer = this._fromServer ? Object.keys(this._fromServer).map(function (styleId) {\n return [styleId, _this3._fromServer[styleId]];\n }) : [];\n\n var cssRules = this._sheet.cssRules();\n\n return fromServer.concat(Object.keys(this._indices).map(function (styleId) {\n return [styleId, _this3._indices[styleId].map(function (index) {\n return cssRules[index].cssText;\n }).join(_this3._optimizeForSpeed ? '' : '\\n')];\n }) // filter out empty rules\n .filter(function (rule) {\n return Boolean(rule[1]);\n }));\n }\n /**\n * createComputeId\n *\n * Creates a function to compute and memoize a jsx id from a basedId and optionally props.\n */\n ;\n\n _proto.createComputeId = function createComputeId() {\n var cache = {};\n return function (baseId, props) {\n if (!props) {\n return \"jsx-\" + baseId;\n }\n\n var propsToString = String(props);\n var key = baseId + propsToString; // return `jsx-${hashString(`${baseId}-${propsToString}`)}`\n\n if (!cache[key]) {\n cache[key] = \"jsx-\" + (0, _stringHash[\"default\"])(baseId + \"-\" + propsToString);\n }\n\n return cache[key];\n };\n }\n /**\n * createComputeSelector\n *\n * Creates a function to compute and memoize dynamic selectors.\n */\n ;\n\n _proto.createComputeSelector = function createComputeSelector(selectoPlaceholderRegexp) {\n if (selectoPlaceholderRegexp === void 0) {\n selectoPlaceholderRegexp = /__jsx-style-dynamic-selector/g;\n }\n\n var cache = {};\n return function (id, css) {\n // Sanitize SSR-ed CSS.\n // Client side code doesn't need to be sanitized since we use\n // document.createTextNode (dev) and the CSSOM api sheet.insertRule (prod).\n if (!this._isBrowser) {\n css = sanitize(css);\n }\n\n var idcss = id + css;\n\n if (!cache[idcss]) {\n cache[idcss] = css.replace(selectoPlaceholderRegexp, id);\n }\n\n return cache[idcss];\n };\n };\n\n _proto.getIdAndRules = function getIdAndRules(props) {\n var _this4 = this;\n\n var css = props.children,\n dynamic = props.dynamic,\n id = props.id;\n\n if (dynamic) {\n var styleId = this.computeId(id, dynamic);\n return {\n styleId: styleId,\n rules: Array.isArray(css) ? css.map(function (rule) {\n return _this4.computeSelector(styleId, rule);\n }) : [this.computeSelector(styleId, css)]\n };\n }\n\n return {\n styleId: this.computeId(id),\n rules: Array.isArray(css) ? css : [css]\n };\n }\n /**\n * selectFromServer\n *\n * Collects style tags from the document with id __jsx-XXX\n */\n ;\n\n _proto.selectFromServer = function selectFromServer() {\n var elements = Array.prototype.slice.call(document.querySelectorAll('[id^=\"__jsx-\"]'));\n return elements.reduce(function (acc, element) {\n var id = element.id.slice(2);\n acc[id] = element;\n return acc;\n }, {});\n };\n\n return StyleSheetRegistry;\n}();\n\nexports[\"default\"] = StyleSheetRegistry;\n\nfunction invariant(condition, message) {\n if (!condition) {\n throw new Error(\"StyleSheetRegistry: \" + message + \".\");\n }\n}","module.exports = require('./dist/style')\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nvar forEach = require('foreach');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasSymbols = require('has-symbols')();\nvar hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol';\n\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof global[typedArray] === 'function') {\n\t\t\tvar arr = new global[typedArray]();\n\t\t\tif (!(Symbol.toStringTag in arr)) {\n\t\t\t\tthrow new EvalError('this engine has support for Symbol.toStringTag, but ' + typedArray + ' does not have the property! Please report this.');\n\t\t\t}\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = require('is-typed-array');\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n","module.exports = window[\"PropTypes\"];","module.exports = window[\"React\"];","module.exports = window[\"ReactDOM\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + {\"132\":\"dash_core_components-shared\",\"154\":\"async-slider\",\"196\":\"async-graph\",\"583\":\"async-plotlyjs\",\"673\":\"async-upload\",\"754\":\"async-markdown\",\"790\":\"async-highlight\",\"792\":\"async-dropdown\",\"813\":\"async-datepicker\"}[chunkId] + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","var getCurrentScript = function() {\n var script = document.currentScript;\n if (!script) {\n /* Shim for IE11 and below */\n /* Do not take into account async scripts and inline scripts */\n\n var doc_scripts = document.getElementsByTagName('script');\n var scripts = [];\n\n for (var i = 0; i < doc_scripts.length; i++) {\n scripts.push(doc_scripts[i]);\n }\n\n scripts = scripts.filter(function(s) { return !s.async && !s.text && !s.textContent; });\n script = scripts.slice(-1)[0];\n }\n\n return script;\n};\n\nvar isLocalScript = function(script) {\n return /\\/_dash-component-suites\\//.test(script.src);\n};\n\nObject.defineProperty(__webpack_require__, 'p', {\n get: (function () {\n var script = getCurrentScript();\n\n var url = script.src.split('/').slice(0, -1).join('/') + '/';\n\n return function() {\n return url;\n };\n })()\n});\n\nif (typeof jsonpScriptSrc !== 'undefined') {\n var __jsonpScriptSrc__ = jsonpScriptSrc;\n jsonpScriptSrc = function(chunkId) {\n var script = getCurrentScript();\n var isLocal = isLocalScript(script);\n\n var src = __jsonpScriptSrc__(chunkId);\n\n if(!isLocal) {\n return src;\n }\n\n var srcFragments = src.split('/');\n var fileFragments = srcFragments.slice(-1)[0].split('.');\n\n fileFragments.splice(1, 0, \"v2_0_0m1634066883\");\n srcFragments.splice(-1, 1, fileFragments.join('.'))\n\n return srcFragments.join('/');\n };\n}\n","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) var result = runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdash_core_components\"] = self[\"webpackChunkdash_core_components\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Returns a new function much like the supplied one, except that the first two\n * arguments' order is reversed.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z)\n * @param {Function} fn The function to invoke with its first two parameters reversed.\n * @return {*} The result of invoking `fn` with its first two parameters' order reversed.\n * @example\n *\n * const mergeThree = (a, b, c) => [].concat(a, b, c);\n *\n * mergeThree(1, 2, 3); //=> [1, 2, 3]\n *\n * R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3]\n * @symb R.flip(f)(a, b, c) = f(b, a, c)\n */\n\nvar flip =\n/*#__PURE__*/\n_curry1(function flip(fn) {\n return curryN(fn.length, function (a, b) {\n var args = Array.prototype.slice.call(arguments, 0);\n args[0] = b;\n args[1] = a;\n return fn.apply(this, args);\n });\n});\n\nexport default flip;","import _complement from \"./internal/_complement.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport filter from \"./filter.js\";\n/**\n * The complement of [`filter`](#filter).\n *\n * Acts as a transducer if a transformer is given in list position. Filterable\n * objects include plain objects or any object that has a filter method such\n * as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n * const isOdd = (n) => n % 2 === 1;\n *\n * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\nvar reject =\n/*#__PURE__*/\n_curry2(function reject(pred, filterable) {\n return filter(_complement(pred), filterable);\n});\n\nexport default reject;","export default function _complement(f) {\n return function () {\n return !f.apply(this, arguments);\n };\n}","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport flip from \"./flip.js\";\nimport reject from \"./reject.js\";\n/**\n * Returns a new list without values in the first argument.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @param {Array} list1 The values to be removed from `list2`.\n * @param {Array} list2 The array to remove values from.\n * @return {Array} The new array without values in `list1`.\n * @see R.transduce, R.difference, R.remove\n * @example\n *\n * R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4]\n */\n\nvar without =\n/*#__PURE__*/\n_curry2(function (xs, list) {\n return reject(flip(_includes)(xs), list);\n});\n\nexport default without;","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new list containing the contents of the given list, followed by\n * the given element.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The element to add to the end of the new list.\n * @param {Array} list The list of elements to add a new item to.\n * list.\n * @return {Array} A new list containing the elements of the old list followed by `el`.\n * @see R.prepend\n * @example\n *\n * R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']\n * R.append('tests', []); //=> ['tests']\n * R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]\n */\n\nvar append =\n/*#__PURE__*/\n_curry2(function append(el, list) {\n return _concat(list, [el]);\n});\n\nexport default append;","/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nexport default function _concat(set1, set2) {\n set1 = set1 || [];\n set2 = set2 || [];\n var idx;\n var len1 = set1.length;\n var len2 = set2.length;\n var result = [];\n idx = 0;\n\n while (idx < len1) {\n result[result.length] = set1[idx];\n idx += 1;\n }\n\n idx = 0;\n\n while (idx < len2) {\n result[result.length] = set2[idx];\n idx += 1;\n }\n\n return result;\n}","import PropTypes from 'prop-types';\nimport {append, includes, without} from 'ramda';\nimport React, {Component} from 'react';\nimport {sanitizeOptions} from '../utils/optionTypes';\n\n/**\n * Checklist is a component that encapsulates several checkboxes.\n * The values and labels of the checklist are specified in the `options`\n * property and the checked items are specified with the `value` property.\n * Each checkbox is rendered as an input with a surrounding label.\n */\nexport default class Checklist extends Component {\n render() {\n const {\n className,\n id,\n inputClassName,\n inputStyle,\n labelClassName,\n labelStyle,\n options,\n setProps,\n style,\n loading_state,\n value,\n inline,\n } = this.props;\n return (\n \n {sanitizeOptions(options).map(option => {\n return (\n \n {\n let newValue;\n if (includes(option.value, value)) {\n newValue = without(\n [option.value],\n value\n );\n } else {\n newValue = append(option.value, value);\n }\n setProps({value: newValue});\n }}\n />\n {option.label}\n \n );\n })}\n
\n );\n }\n}\n\nChecklist.propTypes = {\n /**\n * An array of options\n */\n options: PropTypes.oneOfType([\n /**\n * Array of options where the label and the value are the same thing - [string|number|bool]\n */\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ])\n ),\n /**\n * Simpler `options` representation in dictionary format. The order is not guaranteed.\n * {`value1`: `label1`, `value2`: `label2`, ... }\n * which is equal to\n * [{label: `label1`, value: `value1`}, {label: `label2`, value: `value2`}, ...]\n */\n PropTypes.object,\n /**\n * An array of options {label: [string|number], value: [string|number]},\n * an optional disabled field can be used for each option\n */\n PropTypes.arrayOf(\n PropTypes.exact({\n /**\n * The option's label\n */\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]).isRequired,\n\n /**\n * The value of the option. This value\n * corresponds to the items specified in the\n * `value` property.\n */\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]).isRequired,\n\n /**\n * If true, this option is disabled and cannot be selected.\n */\n disabled: PropTypes.bool,\n\n /**\n * The HTML 'title' attribute for the option. Allows for\n * information on hover. For more information on this attribute,\n * see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/title\n */\n title: PropTypes.string,\n })\n ),\n ]),\n\n /**\n * The currently selected value\n */\n value: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ])\n ),\n\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * The class of the container (div)\n */\n className: PropTypes.string,\n\n /**\n * The style of the container (div)\n */\n style: PropTypes.object,\n\n /**\n * The style of the checkbox element\n */\n inputStyle: PropTypes.object,\n\n /**\n * The class of the checkbox element\n */\n inputClassName: PropTypes.string,\n\n /**\n * The style of the
\n ) : null;\n }\n}\n\nClipboard.defaultProps = {\n content: null,\n target_id: null,\n n_clicks: 0,\n};\n\nClipboard.propTypes = {\n /**\n * The ID used to identify this component.\n */\n id: PropTypes.string,\n\n /**\n * The id of target component containing text to copy to the clipboard.\n * The inner text of the `children` prop will be copied to the clipboard. If none, then the text from the\n * `value` prop will be copied.\n */\n target_id: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n /**\n * The text to be copied to the clipboard if the `target_id` is None.\n */\n content: PropTypes.string,\n\n /**\n * The number of times copy button was clicked\n */\n n_clicks: PropTypes.number,\n\n /**\n * The text shown as a tooltip when hovering over the copy icon.\n */\n title: PropTypes.string,\n\n /**\n * The icon's styles\n */\n style: PropTypes.object,\n\n /**\n * The class name of the icon element\n */\n className: PropTypes.string,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n","import PropTypes from 'prop-types';\nimport {Component} from 'react';\n\n/**\n * ConfirmDialog is used to display the browser's native \"confirm\" modal,\n * with an optional message and two buttons (\"OK\" and \"Cancel\").\n * This ConfirmDialog can be used in conjunction with buttons when the user\n * is performing an action that should require an extra step of verification.\n */\nexport default class ConfirmDialog extends Component {\n componentDidUpdate(prevProps) {\n this._update(!prevProps.displayed && this.props.displayed);\n }\n\n componentDidMount() {\n this._update(this.props.displayed);\n }\n\n _update(shouldTriggerDisplay) {\n const {message, setProps, cancel_n_clicks, submit_n_clicks} =\n this.props;\n\n if (shouldTriggerDisplay) {\n new Promise(resolve => resolve(window.confirm(message))).then(\n result => {\n if (result) {\n setProps({\n submit_n_clicks: submit_n_clicks + 1,\n submit_n_clicks_timestamp: Date.now(),\n displayed: false,\n });\n } else {\n setProps({\n cancel_n_clicks: cancel_n_clicks + 1,\n cancel_n_clicks_timestamp: Date.now(),\n displayed: false,\n });\n }\n }\n );\n }\n }\n\n render() {\n return null;\n }\n}\n\nConfirmDialog.defaultProps = {\n submit_n_clicks: 0,\n submit_n_clicks_timestamp: -1,\n cancel_n_clicks: 0,\n cancel_n_clicks_timestamp: -1,\n};\n\nConfirmDialog.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Message to show in the popup.\n */\n message: PropTypes.string,\n /**\n * Number of times the submit button was clicked\n */\n submit_n_clicks: PropTypes.number,\n /**\n * Last time the submit button was clicked.\n */\n submit_n_clicks_timestamp: PropTypes.number,\n /**\n * Number of times the popup was canceled.\n */\n cancel_n_clicks: PropTypes.number,\n /**\n * Last time the cancel button was clicked.\n */\n cancel_n_clicks_timestamp: PropTypes.number,\n /**\n * Set to true to send the ConfirmDialog.\n */\n displayed: PropTypes.bool,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n","import _cloneRegExp from \"./_cloneRegExp.js\";\nimport type from \"../type.js\";\n/**\n * Copies an object.\n *\n * @private\n * @param {*} value The value to be copied\n * @param {Array} refFrom Array containing the source references\n * @param {Array} refTo Array containing the copied source references\n * @param {Boolean} deep Whether or not to perform deep cloning.\n * @return {*} The copied value.\n */\n\nexport default function _clone(value, refFrom, refTo, deep) {\n var copy = function copy(copiedValue) {\n var len = refFrom.length;\n var idx = 0;\n\n while (idx < len) {\n if (value === refFrom[idx]) {\n return refTo[idx];\n }\n\n idx += 1;\n }\n\n refFrom[idx + 1] = value;\n refTo[idx + 1] = copiedValue;\n\n for (var key in value) {\n copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];\n }\n\n return copiedValue;\n };\n\n switch (type(value)) {\n case 'Object':\n return copy({});\n\n case 'Array':\n return copy([]);\n\n case 'Date':\n return new Date(value.valueOf());\n\n case 'RegExp':\n return _cloneRegExp(value);\n\n default:\n return value;\n }\n}","export default function _cloneRegExp(pattern) {\n return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));\n}","import _clone from \"./internal/_clone.js\";\nimport _curry1 from \"./internal/_curry1.js\";\n/**\n * Creates a deep copy of the value which may contain (nested) `Array`s and\n * `Object`s, `Number`s, `String`s, `Boolean`s and `Date`s. `Function`s are\n * assigned by reference rather than copied\n *\n * Dispatches to a `clone` method if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {*} -> {*}\n * @param {*} value The object or array to clone\n * @return {*} A deeply cloned copy of `val`\n * @example\n *\n * const objects = [{}, {}, {}];\n * const objectsClone = R.clone(objects);\n * objects === objectsClone; //=> false\n * objects[0] === objectsClone[0]; //=> false\n */\n\nvar clone =\n/*#__PURE__*/\n_curry1(function clone(value) {\n return value != null && typeof value.clone === 'function' ? value.clone() : _clone(value, [], [], true);\n});\n\nexport default clone;","import {clone} from 'ramda';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ConfirmDialog from './ConfirmDialog.react';\n\n/**\n * A wrapper component that will display a confirmation dialog\n * when its child component has been clicked on.\n *\n * For example:\n * ```\n * dcc.ConfirmDialogProvider(\n * html.Button('click me', id='btn'),\n * message='Danger - Are you sure you want to continue.'\n * id='confirm')\n * ```\n */\nexport default class ConfirmDialogProvider extends React.Component {\n render() {\n const {displayed, id, setProps, children, loading_state} = this.props;\n\n // Will lose the previous onClick of the child\n const wrapClick = child => {\n const props = clone(child.props);\n props._dashprivate_layout.props.onClick = () => {\n setProps({displayed: true});\n };\n\n return React.cloneElement(child, props);\n };\n\n return (\n \n {Array.isArray(children)\n ? children.map(wrapClick)\n : wrapClick(children)}\n \n
\n );\n }\n}\n\nConfirmDialogProvider.defaultProps = {\n submit_n_clicks: 0,\n submit_n_clicks_timestamp: -1,\n cancel_n_clicks: 0,\n cancel_n_clicks_timestamp: -1,\n};\n\nConfirmDialogProvider.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Message to show in the popup.\n */\n message: PropTypes.string,\n /**\n * Number of times the submit was clicked\n */\n submit_n_clicks: PropTypes.number,\n /**\n * Last time the submit button was clicked.\n */\n submit_n_clicks_timestamp: PropTypes.number,\n /**\n * Number of times the popup was canceled.\n */\n cancel_n_clicks: PropTypes.number,\n /**\n * Last time the cancel button was clicked.\n */\n cancel_n_clicks_timestamp: PropTypes.number,\n /**\n * Is the modal currently displayed.\n */\n displayed: PropTypes.bool,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n /**\n * The children to hijack clicks from and display the popup.\n */\n children: PropTypes.any,\n\n /**\n * Object that holds the loading state object coming from dash-renderer\n */\n loading_state: PropTypes.shape({\n /**\n * Determines if the component is loading or not\n */\n is_loading: PropTypes.bool,\n /**\n * Holds which property is loading\n */\n prop_name: PropTypes.string,\n /**\n * Holds the name of the component that is loading\n */\n component_name: PropTypes.string,\n }),\n};\n","import PropTypes from 'prop-types';\nimport {Component} from 'react';\nimport {toByteArray} from 'base64-js';\nimport {saveAs} from 'file-saver';\n\nconst getValue = (src, fallback, key) =>\n key in src ? src[key] : fallback[key];\n\n/**\n * The Download component opens a download dialog when the data property changes.\n */\nexport default class Download extends Component {\n componentDidUpdate(prevProps) {\n const {data} = this.props;\n // If the data hasn't changed, do nothing.\n if (!data || data === prevProps.data) {\n return;\n }\n // Extract options from data if provided, fallback to props.\n const type = getValue(data, this.props, 'type');\n const base64 = getValue(data, this.props, 'base64');\n // Invoke the download using a Blob.\n const content = base64 ? toByteArray(data.content) : data.content;\n const blob = new Blob([content], {type: type});\n saveAs(blob, data.filename);\n }\n\n render() {\n return null;\n }\n}\n\nDownload.propTypes = {\n /**\n * The ID of this component, used to identify dash components in callbacks.\n */\n id: PropTypes.string,\n\n /**\n * On change, a download is invoked.\n */\n data: PropTypes.exact({\n /**\n * Suggested filename in the download dialogue.\n */\n filename: PropTypes.string.isRequired,\n /**\n * File content.\n */\n content: PropTypes.string.isRequired,\n /**\n * Set to true, when data is base64 encoded.\n */\n base64: PropTypes.bool,\n /**\n * Blob type, usually a MIME-type.\n */\n type: PropTypes.string,\n }),\n\n /**\n * Default value for base64, used when not set as part of the data property.\n */\n base64: PropTypes.bool,\n\n /**\n * Default value for type, used when not set as part of the data property.\n */\n type: PropTypes.string,\n\n /**\n * Dash-supplied function for updating props.\n */\n setProps: PropTypes.func,\n};\n\nDownload.defaultProps = {\n type: 'text/plain',\n base64: false,\n};\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./input.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = function(css, style){\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n };\noptions.setAttributes = function(style) {\n var nonce =\n typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n style.setAttribute(\"nonce\", nonce);\n }\n };\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./input.css\";\n export default content && content.locals ? content.locals : undefined;\n","import {isNil, omit} from 'ramda';\nimport React, {PureComponent} from 'react';\nimport PropTypes from 'prop-types';\nimport isNumeric from 'fast-isnumeric';\nimport './css/input.css';\n\n// eslint-disable-next-line no-implicit-coercion\nconst convert = val => (isNumeric(val) ? +val : NaN);\n\nconst isEquivalent = (v1, v2) => v1 === v2 || (isNaN(v1) && isNaN(v2));\n\n/**\n * A basic HTML input control for entering text, numbers, or passwords.\n *\n * Note that checkbox and radio types are supported through\n * the Checklist and RadioItems component. Dates, times, and file uploads\n * are also supported through separate components.\n */\nexport default class Input extends PureComponent {\n constructor(props) {\n super(props);\n\n this.input = React.createRef();\n\n this.onBlur = this.onBlur.bind(this);\n this.onChange = this.onChange.bind(this);\n this.onEvent = this.onEvent.bind(this);\n this.onKeyPress = this.onKeyPress.bind(this);\n this.setInputValue = this.setInputValue.bind(this);\n this.setPropValue = this.setPropValue.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const {value} = this.input.current;\n const valueAsNumber = convert(value);\n this.setInputValue(\n isNil(valueAsNumber) ? value : valueAsNumber,\n nextProps.value\n );\n if (this.props.type !== 'number') {\n this.setState({value: nextProps.value});\n }\n }\n\n componentDidMount() {\n const {value} = this.input.current;\n const valueAsNumber = convert(value);\n this.setInputValue(\n isNil(valueAsNumber) ? value : valueAsNumber,\n this.props.value\n );\n }\n\n UNSAFE_componentWillMount() {\n if (this.props.type !== 'number') {\n this.setState({value: this.props.value});\n }\n }\n\n render() {\n const valprops =\n this.props.type === 'number' ? {} : {value: this.state.value};\n const {loading_state} = this.props;\n return (\n \n );\n }\n\n setInputValue(base, value) {\n const __value = value;\n base = this.input.current.checkValidity() ? convert(base) : NaN;\n value = convert(value);\n\n if (!isEquivalent(base, value)) {\n this.input.current.value = isNumeric(value) ? value : __value;\n }\n }\n\n setPropValue(base, value) {\n base = convert(base);\n value = this.input.current.checkValidity() ? convert(value) : NaN;\n\n if (!isEquivalent(base, value)) {\n this.props.setProps({value});\n }\n }\n\n onEvent() {\n const {value} = this.input.current;\n const valueAsNumber = convert(value);\n if (this.props.type === 'number') {\n this.setPropValue(\n this.props.value,\n isNil(valueAsNumber) ? value : valueAsNumber\n );\n } else {\n this.props.setProps({value});\n }\n }\n\n onBlur() {\n this.props.setProps({\n n_blur: this.props.n_blur + 1,\n n_blur_timestamp: Date.now(),\n });\n this.input.current.checkValidity();\n return this.props.debounce && this.onEvent();\n }\n\n onKeyPress(e) {\n if (e.key === 'Enter') {\n this.props.setProps({\n n_submit: this.props.n_submit + 1,\n n_submit_timestamp: Date.now(),\n });\n this.input.current.checkValidity();\n }\n return this.props.debounce && e.key === 'Enter' && this.onEvent();\n }\n\n onChange() {\n if (!this.props.debounce) {\n this.onEvent();\n } else if (this.props.type !== 'number') {\n this.setState({value: this.input.current.value});\n }\n }\n}\n\nInput.defaultProps = {\n type: 'text',\n n_blur: 0,\n n_blur_timestamp: -1,\n n_submit: 0,\n n_submit_timestamp: -1,\n debounce: false,\n step: 'any',\n persisted_props: ['value'],\n persistence_type: 'local',\n};\n\nInput.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * The value of the input\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * The input's inline styles\n */\n style: PropTypes.object,\n\n /**\n * The class of the input element\n */\n className: PropTypes.string,\n\n /**\n * If true, changes to input will be sent back to the Dash server only on enter or when losing focus.\n * If it's false, it will sent the value back on every change.\n */\n debounce: PropTypes.bool,\n\n /**\n * The type of control to render.\n */\n type: PropTypes.oneOf([\n // Only allowing the input types with wide browser compatibility\n 'text',\n 'number',\n 'password',\n 'email',\n 'range',\n 'search',\n 'tel',\n 'url',\n 'hidden',\n ]),\n\n /**\n * This attribute indicates whether the value of the control can be automatically completed by the browser.\n */\n autoComplete: PropTypes.string,\n\n /**\n * The element should be automatically focused after the page loaded.\n * autoFocus is an HTML boolean attribute - it is enabled by a boolean or\n * 'autoFocus'. Alternative capitalizations `autofocus` & `AUTOFOCUS`\n * are also acccepted.\n */\n autoFocus: PropTypes.oneOfType([\n PropTypes.oneOf(['autoFocus', 'autofocus', 'AUTOFOCUS']),\n PropTypes.bool,\n ]),\n\n /**\n * If true, the input is disabled and can't be clicked on.\n * disabled is an HTML boolean attribute - it is enabled by a boolean or\n * 'disabled'. Alternative capitalizations `DISABLED`\n */\n disabled: PropTypes.oneOfType([\n PropTypes.oneOf(['disabled', 'DISABLED']),\n PropTypes.bool,\n ]),\n\n /**\n * Provides a hint to the browser as to the type of data that might be\n * entered by the user while editing the element or its contents.\n */\n inputMode: PropTypes.oneOf([\n /**\n * Alphanumeric, non-prose content such as usernames and passwords.\n */\n 'verbatim',\n\n /**\n * Latin-script input in the user's preferred language with typing aids such as text prediction enabled. For human-to-computer communication such as search boxes.\n */\n 'latin',\n\n /**\n * As latin, but for human names.\n */\n 'latin-name',\n\n /**\n * As latin, but with more aggressive typing aids. For human-to-human communication such as instant messaging or email.\n */\n 'latin-prose',\n\n /**\n * As latin-prose, but for the user's secondary languages.\n */\n 'full-width-latin',\n\n /**\n * Kana or romaji input, typically hiragana input, using full-width characters, with support for converting to kanji. Intended for Japanese text input.\n */\n 'kana',\n\n /**\n * Katakana input, using full-width characters, with support for converting to kanji. Intended for Japanese text input.\n */\n 'katakana',\n\n /**\n * Numeric input, including keys for the digits 0 to 9, the user's preferred thousands separator character, and the character for indicating negative numbers. Intended for numeric codes (e.g. credit card numbers). For actual numbers, prefer using type=\"number\"\n */\n 'numeric',\n\n /**\n * Telephone input, including asterisk and pound key. Use type=\"tel\" if possible instead.\n */\n 'tel',\n\n /**\n * Email input. Use type=\"email\" if possible instead.\n */\n 'email',\n\n /**\n * URL input. Use type=\"url\" if possible instead.\n */\n 'url',\n ]),\n\n /**\n * Identifies a list of pre-defined options to suggest to the user.\n * The value must be the id of a element in the same document.\n * The browser displays only options that are valid values for this\n * input element.\n * This attribute is ignored when the type attribute's value is\n * hidden, checkbox, radio, file, or a button type.\n */\n list: PropTypes.string,\n\n /**\n * The maximum (numeric or date-time) value for this item, which must not be less than its minimum (min attribute) value.\n */\n max: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * If the value of the type attribute is text, email, search, password, tel, or url, this attribute specifies the maximum number of characters (in UTF-16 code units) that the user can enter. For other control types, it is ignored. It can exceed the value of the size attribute. If it is not specified, the user can enter an unlimited number of characters. Specifying a negative number results in the default behavior (i.e. the user can enter an unlimited number of characters). The constraint is evaluated only when the value of the attribute has been changed.\n */\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * The minimum (numeric or date-time) value for this item, which must not be greater than its maximum (max attribute) value.\n */\n min: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * If the value of the type attribute is text, email, search, password, tel, or url, this attribute specifies the minimum number of characters (in Unicode code points) that the user can enter. For other control types, it is ignored.\n */\n minLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * This Boolean attribute indicates whether the user can enter more than one value. This attribute applies when the type attribute is set to email or file, otherwise it is ignored.\n */\n multiple: PropTypes.bool,\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n name: PropTypes.string,\n\n /**\n * A regular expression that the control's value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value of the type attribute is text, search, tel, url, email, or password, otherwise it is ignored. The regular expression language is the same as JavaScript RegExp algorithm, with the 'u' parameter that makes it treat the pattern as a sequence of unicode code points. The pattern is not surrounded by forward slashes.\n */\n pattern: PropTypes.string,\n\n /**\n * A hint to the user of what can be entered in the control . The placeholder text must not contain carriage returns or line-feeds. Note: Do not use the placeholder attribute instead of a