Help
RSS
API
Feed
Maltego
Contact
Domain > 07rjnqeninpdkaej6.statuspage.io
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-03-16
18.245.96.75
(
ClassC
)
2025-07-31
3.163.24.33
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Thu, 31 Jul 2025 21:25:30 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://07rjnqeninpdkaej6.statuspage.io/X-Cache: Redirect from cloudfrontVia: 1.1 fd441d5d42c4e243bf0b88902034e302.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P2X-Amz-Cf-Id: CmGi0XAdDGZbn-ubdZTyDu0VxN3ItJydgTqX0SGr4-tMEyjooP-X5A html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveDate: Thu, 31 Jul 2025 21:25:31 GMTX-Download-Options: noopenX-Permitted-Cross-Domain-Policies: noneReferrer-Policy: strict-origin-when-cross-originX-Statuspage-Version: 286d2fa8936ee868c90b9a354eeabf8b3176da68Strict-Transport-Security: max-age259200X-Statuspage-Skip-Logging: trueAccess-Control-Allow-Origin: *Cache-Control: max-age3, publicLink: https://dka575ofm4ao0.cloudfront.net/assets/vendor/bowser-1643ca34a6d589b2d4d42163a891e4512d5d7657125e09bb5f3d44288114e6bd.js>; relpreload; asscript; nopush,https://dka575ofm4ao0.cloudfront.net/assets/register_subscription_form-589b657fec607087fc5c740c568270907310bc4f6aaa20256e70f01b103025ca.js>; relpreload; asscript; nopush,https://dka575ofm4ao0.cloudfront.net/assets/status_common-c1b99d73ee7ab0fea796bd170723c1daac1381095a7dd7501a38ce6f333d86b3.js>; relpreload; asscript; nopush,https://dka575ofm4ao0.cloudfront.net/packs/0.076d36a21dada6e9b8ca.css>; relpreload; asstyle; nopush,https://dka575ofm4ao0.cloudfront.net/packs/191.076d36a21dada6e9b8ca.css>; relpreload; asstyle; nopush,https://dka575ofm4ao0.cloudfront.net/assets/status/status_manifest-e5fd07250d5426b6c15214a184a78f72bd224c0f158f2ca1f35a3cf1ee9c1783.css>; relpreload; asstyle; nopush,https://dka575ofm4ao0.cloudfront.net/assets/jquery-3.5.1.min-729e416557a365062a8a20f0562f18aa171da57298005d392312670c706c68de.js>; relpreload; asscript; nopush,https://dka575ofm4ao0.cloudfront.net/assets/status_manifest-6a7ae3a8e2e1b1e1d9466495faa0851c3f5fff938743f6501c900aa2a8792e8c.js>; relpreload; asscript; nopush,https://dka575ofm4ao0.cloudfront.net/packs/common-4d053c18cbeef079deb0.chunk.js>; relpreload; asscript; nopush,https://dka575ofm4ao0.cloudfront.net/packs/globals-f39f1afbe40d8b149e0b.chunk.js>; relpreload; asscript; nopush,https://dka575ofm4ao0.cloudfront.net/packs/runtime-315523c15b4d55375eca.js>; relpreload; asscript; nopush,https://dka575ofm4ao0.cloudfront.net/packs/status-605cc5e06d8e861d8ea1.chunk.js>; relpreload; asscript; nopushX-Pollinator-Metadata-Service: status-page-web-pagesETag: W/b9193409662848c0cb9a6e2a24b1facdX-Runtime: 0.261271Server: AtlassianEdgeAccept-Ranges: bytesX-Content-Type-Options: nosniffX-Xss-Protection: 1; modeblockAtl-Traceid: 2319ea5cd4c848a08af4f24ef7bf42f2Atl-Request-Id: 2319ea5c-d4c8-48a0-8af4-f24ef7bf42f2Report-To: {endpoints: {url: https://dz8aopenkvv6s.cloudfront.net}, group: endpoint-1, include_subdomains: true, max_age: 600}Nel: {failure_fraction: 0.001, include_subdomains: true, max_age: 600, report_to: endpoint-1}Server-Timing: atl-edge;dur339,atl-edge-internal;dur5,atl-edge-upstream;dur338,atl-edge-pop;descaws-us-east-1Vary: Accept,Accept-EncodingX-Cache: Miss from cloudfrontVia: 1.1 26c9d43b9089eee93b9e4ad4293d02c0.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P2X-Amz-Cf-Id: I4yVmPfsWF7SEUJF2L0wQpT-TrAYnixTgjGK8iZuRuLH91exwY9KvQ !DOCTYPE html>html langen> head> meta http-equivX-UA-Compatible contentIEedge> !-- force IE browsers in compatibility mode to use their most aggressive rendering engine --> meta charsetutf-8> title>VOIR.! Coraline (2009) Film Complet Gratuit en Français Status/title> meta namedescription contentWelcome to VOIR.! Coraline (2009) Film Complet Gratuit en Français's home for real-time and historical data on system performance.> !-- Mobile viewport optimization --> meta nameHandheldFriendly contentTrue> meta nameMobileOptimized content320> meta nameviewport contentwidthdevice-width, initial-scale1.0, minimum-scale1.0, maximum-scale1.0> !-- Time this page was rendered - http://purl.org/dc/terms/issued --> meta nameissued content1753997131> !-- Mobile IE allows us to activate ClearType technology for smoothing fonts for easy reading --> meta http-equivcleartype contenton> !-- Le fonts -->style> @font-face { font-family: proxima-nova; src: url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host07rjnqeninpdkaej6.statuspage.io); src: url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host07rjnqeninpdkaej6.statuspage.io#iefix) format(embedded-opentype), url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-e642ffe82005c6208632538a557e7f5dccb835c0303b06f17f55ccf567907241.woff?host07rjnqeninpdkaej6.statuspage.io) format(woff), url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-0f094da9b301d03292f97db5544142a16f9f2ddf50af91d44753d9310c194c5f.ttf?host07rjnqeninpdkaej6.statuspage.io) format(truetype); font-weight:300; font-style:normal; } @font-face { font-family: proxima-nova; src: url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host07rjnqeninpdkaej6.statuspage.io); src: url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host07rjnqeninpdkaej6.statuspage.io#iefix) format(embedded-opentype), url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-2ee4c449a9ed716f1d88207bd1094e21b69e2818b5cd36b28ad809dc1924ec54.woff?host07rjnqeninpdkaej6.statuspage.io) format(woff), url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-a40a469edbd27b65b845b8000d47445a17def8ba677f4eb836ad1808f7495173.ttf?host07rjnqeninpdkaej6.statuspage.io) format(truetype); font-weight:400; font-style:normal; } @font-face { font-family: proxima-nova; src: url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host07rjnqeninpdkaej6.statuspage.io); src: url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host07rjnqeninpdkaej6.statuspage.io#iefix) format(embedded-opentype), url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0c394ec7a111aa7928ea470ec0a67c44ebdaa0f93d1c3341abb69656cc26cbdd.woff?host07rjnqeninpdkaej6.statuspage.io) format(woff), url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-9e43859f8015a4d47d9eaf7bafe8d1e26e3298795ce1f4cdb0be0479b8a4605e.ttf?host07rjnqeninpdkaej6.statuspage.io) format(truetype); font-weight:400; font-style:italic; } @font-face { font-family: proxima-nova; src: url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host07rjnqeninpdkaej6.statuspage.io); src: url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host07rjnqeninpdkaej6.statuspage.io#iefix) format(embedded-opentype), url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-86724fb2152613d735ba47c3f47a9ad2424b898bea4bece213dacee40344f966.woff?host07rjnqeninpdkaej6.statuspage.io) format(woff), url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-cf3e4eb7fbdf6fb83e526cc2a0141e55b01097e6e1abfd4cbdc3eda75d183f74.ttf?host07rjnqeninpdkaej6.statuspage.io) format(truetype); font-weight:500; font-style:normal; } @font-face { font-family: proxima-nova; src: url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host07rjnqeninpdkaej6.statuspage.io); src: url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host07rjnqeninpdkaej6.statuspage.io#iefix) format(embedded-opentype), url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-c8dc577ff7f76d2fc199843e38c04bb2e9fd15889421358d966a9f846c2ed1cd.woff?host07rjnqeninpdkaej6.statuspage.io) format(woff), url(https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-27177fe9242acbe089276ee587feef781446667ffe9b6fdc5b7fe21ad73e12f3.ttf?host07rjnqeninpdkaej6.statuspage.io) format(truetype); font-weight:700; font-style:normal; }/style> link relapple-touch-icon hrefhttps://dka575ofm4ao0.cloudfront.net/assets/base/apple-touch-icon-57x57-precomposed-5c491f48c00b91d5cf8b0839521a13b98ba3cd2167c5e0e53040ccf401227556.png sizes57x57>link relapple-touch-icon hrefhttps://dka575ofm4ao0.cloudfront.net/assets/base/apple-touch-icon-72x72-precomposed-94327076268b47cc7da838952f5e89a5ed9dcdde2734db231491e328d23e9962.png sizes72x72>link relapple-touch-icon hrefhttps://dka575ofm4ao0.cloudfront.net/assets/base/apple-touch-icon-114x114-precomposed-1e9664e05d1a3dc5cd67ee3b3c17215526a04a3b0a2e018bd26c5fa73482392f.png sizes114x114>link relapple-touch-icon hrefhttps://dka575ofm4ao0.cloudfront.net/assets/base/apple-touch-icon-120x120-precomposed-5d71ac87ecfc852fef52505af1eade3674709a530e7ed2ddb3ff44ab62db52f7.png sizes120x120>link relapple-touch-icon hrefhttps://dka575ofm4ao0.cloudfront.net/assets/base/apple-touch-icon-144x144-precomposed-f140e6b87ce676b2388742ebce8292476ba938f73a49c4c15e86565a224bb93d.png sizes144x144>link relapple-touch-icon hrefhttps://dka575ofm4ao0.cloudfront.net/assets/base/apple-touch-icon-152x152-precomposed-38fe2c387837f45dfab255be5670c7b3aad29cf6dbc5b8e4cdce30f61259b9ce.png sizes152x152>link relapple-touch-icon hrefhttps://dka575ofm4ao0.cloudfront.net/assets/base/apple-touch-icon-167x167-precomposed-b776218c8fb96a430158776d0749c2f81143c94f40c4427e53e32e4c786c87c0.png sizes167x167>link relapple-touch-icon hrefhttps://dka575ofm4ao0.cloudfront.net/assets/base/apple-touch-icon-180x180-precomposed-8819023509ff72c1f8945709243c9bab8b40c9bac0eb7891ad75b36600c7c7f9.png sizes180x180> link relshortcut icon hrefhttps://dka575ofm4ao0.cloudfront.net/assets/pages/status/team25_favicon-313b4d106cf304ed5ca8ecfd6042a5920973c2475adbefdd26bf6772479bd4d7.png> link relalternate typeapplication/atom+xml hrefhttps://07rjnqeninpdkaej6.statuspage.io/history.atom titleVOIR.! Coraline (2009) Film Complet Gratuit en Français Status History - Atom Feed> link relalternate typeapplication/rss+xml hrefhttps://07rjnqeninpdkaej6.statuspage.io/history.rss titleVOIR.! Coraline (2009) Film Complet Gratuit en Français Status History - RSS Feed> meta name_globalsign-domain-verification contenty_VzfckMy4iePo5oDJNivyYIjh8LffYa4jzUndm_bZ/> link relalternate typeapplication/atom+xml titleATOM hrefhttps://07rjnqeninpdkaej6.statuspage.io/history.atom /> !-- Le styles --> link relstylesheet mediascreen hrefhttps://dka575ofm4ao0.cloudfront.net/packs/0.076d36a21dada6e9b8ca.css />link relstylesheet mediascreen hrefhttps://dka575ofm4ao0.cloudfront.net/packs/191.076d36a21dada6e9b8ca.css /> link relstylesheet mediaall hrefhttps://dka575ofm4ao0.cloudfront.net/assets/status/status_manifest-e5fd07250d5426b6c15214a184a78f72bd224c0f158f2ca1f35a3cf1ee9c1783.css /> script srchttps://dka575ofm4ao0.cloudfront.net/assets/jquery-3.5.1.min-729e416557a365062a8a20f0562f18aa171da57298005d392312670c706c68de.js>/script> script> window.pageColorData {blue:#3498DB,border:#E0E0E0,body_background:#ffffff,font:#333333,graph:#3498db,green:#2fcc66,light_font:#AAAAAA,link:#3498db,orange:#e67e22,red:#e74c3c,yellow:#f1c40f,no_data:#b3bac5}; /script> style> /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ body, .layout-content.status.status-api .section .example-container .example-opener .color-secondary, .grouped-items-selector, .layout-content.status.status-full-history .history-nav a.current, divid^subscribe-modal .modal-footer, divid^subscribe-modal, divid^updates-dropdown .updates-dropdown-section, #uptime-tooltip .tooltip-box { background-color:#ffffff; } #uptime-tooltip .pointer-container .pointer-smaller { border-bottom-color:#ffffff; } /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ body.status, .color-primary, .color-primary:hover, .layout-content.status-index .status-day .update-title.impact-none a, .layout-content.status-index .status-day .update-title.impact-none a:hover, .layout-content.status-index .timeframes-container .timeframe.active, .layout-content.status-full-history .month .incident-container .impact-none, .layout-content.status.status-index .incidents-list .incident-title.impact-none a, .incident-history .impact-none, .layout-content.status .grouped-items-selector.inline .grouped-item.active, .layout-content.status.status-full-history .history-nav a.current, .layout-content.status.status-full-history .history-nav a:not(.current):hover, divid^subscribe-modal .modal-header .close, .grouped-item-label, #uptime-tooltip .tooltip-box .tooltip-content .related-events .related-event a.related-event-link { color:#333333; } .layout-content.status.status-index .components-statuses .component-container .name { color:#333333; color:rgba(51,51,51,.8); } /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ small, .layout-content.status .table-row .date, .color-secondary, .layout-content.status .grouped-items-selector.inline .grouped-item, .layout-content.status.status-full-history .history-footer .pagination a.disabled, .layout-content.status.status-full-history .history-nav a, #uptime-tooltip .tooltip-box .tooltip-content .related-events #related-event-header { color:#AAAAAA; } /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ body.status .layout-content.status .border-color, hr, .tooltip-base, .markdown-display table, divid^subscribe-modal, #uptime-tooltip .tooltip-box { border-color:#E0E0E0; } divid^subscribe-modal .modal-footer, .markdown-display table td { border-top-color:#E0E0E0; } .markdown-display table td + td, .markdown-display table th + th { border-left-color:#E0E0E0; } divid^subscribe-modal .modal-header, #uptime-tooltip .pointer-container .pointer-larger { border-bottom-color:#E0E0E0; } #uptime-tooltip .tooltip-box .outage-field { /* Generate the background-color for the outage-field from the css_body_background_color and css_border_color. For the default background (#ffffff) and default css_border_color (#e0e0e0), use the luminosity of the default background with a magic number to arrive at the original outage-field background color (#f4f5f7). I used the formula Target Color Color * alpha + Background * (1 - alpha) to find the magic number of ~0.08. For darker css_body_background_color, luminosity values are lower so alpha trends toward becoming transparent (thus outage-field background becomes same as css_body_background_color). */ background-color: rgba(224,224,224,0.31); /* outage-field border-color alpha is inverse to the luminosity of css_body_background_color. That is to say, with a default white background this border is transparent, but on a black background, its opaque css_border_color. */ border-color: rgba(224,224,224,0.0); } /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ .layout-content.status.status-index .status-day .update-title.impact-critical a, .layout-content.status.status-index .status-day .update-title.impact-critical a:hover, .layout-content.status.status-index .page-status.status-critical, .layout-content.status.status-index .unresolved-incident.impact-critical .incident-title, .flat-button.background-red { background-color:#e74c3c; } .layout-content.status-index .components-statuses .component-container.status-red:after, .layout-content.status-full-history .month .incident-container .impact-critical, .layout-content.status-incident .incident-name.impact-critical, .layout-content.status.status-index .incidents-list .incident-title.impact-critical a, .status-red .icon-indicator, .incident-history .impact-critical, .components-container .component-inner-container.status-red .component-status, .components-container .component-inner-container.status-red .icon-indicator { color:#e74c3c; } .layout-content.status.status-index .unresolved-incident.impact-critical .updates { border-color:#e74c3c; } /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ .layout-content.status.status-index .status-day .update-title.impact-major a, .layout-content.status.status-index .status-day .update-title.impact-major a:hover, .layout-content.status.status-index .page-status.status-major, .layout-content.status.status-index .unresolved-incident.impact-major .incident-title { background-color:#e67e22; } .layout-content.status-index .components-statuses .component-container.status-orange:after, .layout-content.status-full-history .month .incident-container .impact-major, .layout-content.status-incident .incident-name.impact-major, .layout-content.status.status-index .incidents-list .incident-title.impact-major a, .status-orange .icon-indicator, .incident-history .impact-major, .components-container .component-inner-container.status-orange .component-status, .components-container .component-inner-container.status-orange .icon-indicator { color:#e67e22; } .layout-content.status.status-index .unresolved-incident.impact-major .updates { border-color:#e67e22; } /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ .layout-content.status.status-index .status-day .update-title.impact-minor a, .layout-content.status.status-index .status-day .update-title.impact-minor a:hover, .layout-content.status.status-index .page-status.status-minor, .layout-content.status.status-index .unresolved-incident.impact-minor .incident-title, .layout-content.status.status-index .scheduled-incidents-container .tab { background-color:#f1c40f; } .layout-content.status-index .components-statuses .component-container.status-yellow:after, .layout-content.status-full-history .month .incident-container .impact-minor, .layout-content.status-incident .incident-name.impact-minor, .layout-content.status.status-index .incidents-list .incident-title.impact-minor a, .status-yellow .icon-indicator, .incident-history .impact-minor, .components-container .component-inner-container.status-yellow .component-status, .components-container .component-inner-container.status-yellow .icon-indicator, .layout-content.status.manage-subscriptions .confirmation-infobox .fa { color:#f1c40f; } .layout-content.status.status-index .unresolved-incident.impact-minor .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#f1c40f; } /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ .layout-content.status.status-index .status-day .update-title.impact-maintenance a, .layout-content.status.status-index .status-day .update-title.impact-maintenance a:hover, .layout-content.status.status-index .page-status.status-maintenance, .layout-content.status.status-index .unresolved-incident.impact-maintenance .incident-title, .layout-content.status.status-index .scheduled-incidents-container .tab { background-color:#3498DB; } .layout-content.status-index .components-statuses .component-container.status-blue:after, .layout-content.status-full-history .month .incident-container .impact-maintenance, .layout-content.status-incident .incident-name.impact-maintenance, .layout-content.status.status-index .incidents-list .incident-title.impact-maintenance a, .status-blue .icon-indicator, .incident-history .impact-maintenance, .components-container .component-inner-container.status-blue .component-status, .components-container .component-inner-container.status-blue .icon-indicator { color:#3498DB; } .layout-content.status.status-index .unresolved-incident.impact-maintenance .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#3498DB; } /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ .layout-content.status.status-index .page-status.status-none { background-color:#2fcc66; } .layout-content.status-index .components-statuses .component-container.status-green:after, .status-green .icon-indicator, .components-container .component-inner-container.status-green .component-status, .components-container .component-inner-container.status-green .icon-indicator { color:#2fcc66; } /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ a, a:hover, .layout-content.status-index .page-footer span a:hover, .layout-content.status-index .timeframes-container .timeframe:not(.active):hover, .layout-content.status-incident .subheader a:hover { color:#3498db; } .flat-button, .masthead .updates-dropdown-container .show-updates-dropdown, .layout-content.status-full-history .show-filter.open { background-color:#3498db; } /* CUSTOM COLOR OVERRIDES FOR UPTIME SHOWCASE */ .components-section .components-uptime-link { color: #aaaaaa; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item { color: #aaaaaa; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item.light { color: #aaaaaa; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .spacer { background: #aaaaaa; opacity: 1; }/style> !-- custom css --> !-- polyfills --> script crossoriginanonymous srchttps://cdnjs.cloudflare.com/polyfill/v3/polyfill.js>/script> !-- Le HTML5 shim --> !--if lt IE 9> script src//html5shim.googlecode.com/svn/trunk/html5.js>/script> !endif--> !-- injection for static --> /head> body classstatus index status-none> div classcookie-consent-banner data-js-hookcookie-consent-banner> div data-react-classCookieConsentBanner data-react-props{}>/div> /div> div classlayout-content status status-index starter> div classmasthead-container basic> div classmasthead no-logo> h3> VOIR.! Coraline (2009) Film Complet Gratuit en Français /h3> div classupdates-dropdown-container data-js-hookupdates-dropdown-container> a href# data-js-hookshow-updates-dropdown idshow-updates-dropdown classshow-updates-dropdown aria-labelSubscribe to updates aria-expandedfalse aria-haspopupdialog rolebutton> /a>!-- Accessibility guidelines for tabs: https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html --> div classupdates-dropdown data-js-hookupdates-dropdown idupdates-dropdown styledisplay:none> div classupdates-dropdown-nav nav-items-4 roletablist aria-labelSubscribe to updates> a href#updates-dropdown-email aria-controlsupdates-dropdown-email aria-labelSubscribe via email roletab aria-selectedtrue idupdates-dropdown-email-btn> span classicon-container email> /a> a href#updates-dropdown-slack aria-controlsupdates-dropdown-slack aria-labelSubscribe via slack roletab idupdates-dropdown-slack-btn> span classicon-container slack> /a> a href#updates-dropdown-atom aria-controlsupdates-dropdown-atom aria-labelSubscribe via RSS roletab idupdates-dropdown-atom-btn> span classicon-container rss> /a> button data-js-hookupdates-dropdown-close aria-labelClose subscribe form idupdates-dropdown-close-btn> x /button> /div> div classupdates-dropdown-sections-container> div classupdates-dropdown-section email idupdates-dropdown-email styledisplay:none roletabpanel aria-labelledbyupdates-dropdown-email-btn> div classdirections> Get email notifications whenever VOIR.! Coraline (2009) Film Complet Gratuit en Français strong>creates/strong>, strong>updates/strong> or strong>resolves/strong> an incident. /div> form idsubscribe-form-email action/subscriptions/new-email accept-charsetUTF-8 data-remotetrue methodpost> input typehidden nameemail_otp_verify_flow idemail_otp_verify_flow valuefalse autocompleteoff /> !-- make sure not to put cookie values in here since this gets cached --> label foremail>Email address:/label> input nameemail idemail typetext classfull-width data-js-hookemail-notification-field autocompleteemail> input nameemail_otp_auth_token typehidden idemail-otp-token-field> div classopt-container-section idemail-otp-container, styledisplay:none > label foremail-otp>Enter OTP:/label> input nameotp idemail-otp typetext value classprepend full-width> p idemail-otp-timer>Resend OTP in: span idemail-otp-countdown>/span> seconds /p> p idresend-email-otp> Didnt receive the OTP? a href# idresend-email-otp-btn >Resend OTP /a> /p> /div> input typehidden namecaptcha_error idcaptcha_error valuefalse autocompleteoff /> input typesubmit valueSubscribe via Email classflat-button full-width g-recaptcha idsubscribe-btn-email data-disabled-textSubscribing... data-sitekey6LdTS8AUAAAAAOIbCKoCAP4LQku1olYGrywPTaZz data-callbacksubmitNewEmailSubscriber data-error-callbackemailSubscriberCaptchaError > div classterms_and_privacy_information bottom small> This site is protected by reCAPTCHA and the Google a target_blank relnoopener classaccessible-link hrefhttps://policies.google.com/privacy>Privacy Policy/a> and a target_blank relnoopener classaccessible-link data-js-hookcaptcha-terms-of-service-link hrefhttps://policies.google.com/terms>Terms of Service/a> apply./div>/form> /div> div classupdates-dropdown-section slack idupdates-dropdown-slack styledisplay:none roletabpanel aria-labelledbyupdates-dropdown-slack-btn> div classdirections> Get incident updates and maintenance status messages in Slack. /div> a valueSubscribe via Slack classflat-button full-width idsubscribe-btn-slack data-disabled-textSubscribing... data-revert-on-successtrue stylemargin-top:.75rem hrefhttps://subscriptions.statuspage.io/slack_authentication/kickoff?page_codecmwbl5xd3rlz>Subscribe via Slack/a> div classterms_and_privacy_information bottom small>By subscribing you agree to the Atlassian a target_blank relnoopener classaccessible-link hrefhttps://www.atlassian.com/legal/cloud-terms-of-service>Cloud Terms of Service/a> and acknowledge Atlassians a target_blank relnoopener classaccessible-link hrefhttps://www.atlassian.com/legal/privacy-policy>Privacy Policy/a>./div> /div> div classupdates-dropdown-section atom idupdates-dropdown-atom roletabpanel aria-labelledbyupdates-dropdown-atom-btn> Get the a hrefhttps://07rjnqeninpdkaej6.statuspage.io/history.atom target_blank>Atom Feed/a> or a hrefhttps://07rjnqeninpdkaej6.statuspage.io/history.rss target_blank>RSS Feed/a>. /div> /div> /div> /div>script> $(function () { const phoneNumberInput $(#phone-number); const errorDiv $(#sms-atl-error) if(errorDiv.length){ function checkSelectedCountry() { const selectedCountry $(#phone-country).val(); const isOtpEnabled $(#phone-number-country-code).attr(data-otp-enabled) true; const form document.getElementById(subscribe-form-sms); form.action /subscriptions/new-sms; const isOtpFlow document.getElementById(otp_verify_flow); document.getElementById(otp-container).style.display none; if(false && selectedCountry sg) { // Replace SG with the actual value representing Singapore in your select tag phoneNumberInput.prop(disabled, true); errorDiv.html(`Due to new Singapore government regulations, were currently not supporting text subscriptions in Singapore.a hrefhttps://community.atlassian.com/t5/Statuspage-articles/Attention-SMS-notifications-will-be-disabled-on-August-1st-2023/ba-p/2424398 target_blank> Learn more./a> br> Select another method to subscribe.`); } else { phoneNumberInput.prop(readonly, false); errorDiv.html(); if(false){ if(isOtpEnabled){ document.getElementById(subscribe-btn-sms).value Send OTP; } else { isOtpFlow.value false; document.getElementById(subscribe-btn-sms).value Subscribe via Text Message; } } } } $(#phone-country).on(change, checkSelectedCountry); checkSelectedCountry(); } }); document.addEventListener(DOMContentLoaded, function() { const dropdown document.querySelector(#phone-number-country-code .phone-country); if (dropdown){ const wrapperDiv document.getElementById(phone-number-country-code); const selectedOption dropdown.optionsdropdown.selectedIndex; const otpEnabled selectedOption.getAttribute(data-otp-enabled); wrapperDiv.setAttribute(data-otp-enabled, otpEnabled); dropdown.addEventListener(change, function() { const selectedOption dropdown.optionsdropdown.selectedIndex; const otpEnabled selectedOption.getAttribute(data-otp-enabled); wrapperDiv.setAttribute(data-otp-enabled, otpEnabled); }); } }); var countdownTimer; var resendBtn document.getElementById(resend); var timer document.getElementById(timer); var form document.getElementById(subscribe-form-sms); var RESEND_TIMER 30; $(function() { $(#subscribe-form-sms).on(ajax:success, function(e, data, status, xhr){ const form this; const action form.getAttribute(action); if (data.type success && data.otp_flow true) { document.getElementById(subscriber_code).value data.subscriber_code document.getElementById(otp-container).style.display block; $(#phone-number).prop(readonly, true); var display document.getElementById(countdown); disableResend(); startTimer(RESEND_TIMER, display) document.getElementById(subscribe-btn-sms).value Verify OTP and Subscribe; document.getElementById(otp_verify_flow).value true; form.action /subscriptions/verify-otp; } else if (data.type success && action.includes(verify)){ document.getElementById(otp-container).style.display none; $(#phone-number).val().prop(readonly, false); $(#otp).val(); document.getElementById(subscribe-btn-sms).value Send OTP; document.getElementById(otp_verify_flow).value false; form.action /subscriptions/new-sms; SP.currentPage.updatesDropdown.hide(); } }); $(#btn-subcriber-change-number).on(click, () > { document.getElementById(otp-container).style.display none; $(#phone-number).prop(readonly, false); document.getElementById(subscribe-btn-sms).value Send OTP; form.action /subscriptions/new-sms; return false }) $(#resend-otp-btn).on(click, function(e) { e.preventDefault(); let phoneNumber $(#phone-number).val(); let countryCode $(.phone-country).val(); $.ajax({ type: POST, url: /subscriptions/new-sms, data: { phone_number: phoneNumber, phone_country: countryCode, type: resend }, }).done(function(data) { var messageOptions (data.type ! undefined && data.type ! null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); var display document.getElementById(countdown); disableResend(); timer.style.display none if (data.type success) { startTimer(RESEND_TIMER, display); } }) }); }) function startTimer(duration, display){ var timer duration, seconds; clearInterval(countdownTimer); countdownTimer setInterval(function () { seconds parseInt(timer % 60, 10); display.textContent seconds; if(--timer 0){ enableResend(); clearInterval(countdownTimer); } }, 1000); disableResend(); } function enableResend(){ resendBtn.style.display block; timer.style.display none } function disableResend(){ resendBtn.style.display none; timer.style.display block } $(function() { $(#subscribe-form-email).on(submit, function() { var tokenField document.getElementById(email-otp-token-field); let page_code cmwbl5xd3rlz let key keyForEmailOtpToken($(#email).val(), page_code); tokenField.value localStorage.getItem(key); }); }); var emailOtpCountdownTimer; var emailOtpResendBtn document.getElementById(resend-email-otp); var emailOtpTimer document.getElementById(email-otp-timer); var emailOtpForm document.getElementById(subscribe-form-email); var EMAIL_OTP_RESEND_TIMER 600; $(function() { $(#subscribe-form-email).on(ajax:success, function(e, data, status, xhr){ const form this; const action form.getAttribute(action); if (data.type success && data.email_otp_verify_flow true) { document.getElementById(email-otp-container).style.display block; var display document.getElementById(email-otp-countdown); display.textContent EMAIL_OTP_RESEND_TIMER; disableEmailOtpResend(); startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display) document.getElementById(subscribe-btn-email).value Verify OTP and Subscribe; document.getElementById(email_otp_verify_flow).value true; form.action /subscriptions/verify-email-otp; } else if (data.type success && action.includes(verify)){ let email $(#email) let page_code cmwbl5xd3rlz let key keyForEmailOtpToken(email.val(), page_code); localStorage.setItem(key, data.email_otp_auth_token); document.getElementById(email-otp-container).style.display none; email.val().prop(readonly, false); $(#email-otp).val(); document.getElementById(subscribe-btn-email).value Send OTP; document.getElementById(email_otp_verify_flow).value false; form.action /subscriptions/new-email; SP.currentPage.updatesDropdown.hide(); } }); $(#resend-email-otp-btn).on(click, function(e) { e.preventDefault(); let email $(#email).val(); $.ajax({ type: POST, url: /subscriptions/new-email, data: { email: email }, }).done(function(data) { var messageOptions (data.type ! undefined && data.type ! null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); if (data.type success) { var display document.getElementById(email-otp-countdown); display.textContent EMAIL_OTP_RESEND_TIMER; disableEmailOtpResend(); emailOtpTimer.style.display none startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display); } }) }); }) function startEmailOtpTimer(duration, display){ var timer duration, seconds; clearInterval(emailOtpCountdownTimer); emailOtpCountdownTimer setInterval(function () { seconds parseInt(timer, 10); display.textContent seconds; if(--timer 0){ enableEmailOtpResend(); clearInterval(emailOtpCountdownTimer); } }, 1000); disableEmailOtpResend(); } function enableEmailOtpResend(){ emailOtpResendBtn.style.display block; emailOtpTimer.style.display none } function disableEmailOtpResend(){ emailOtpResendBtn.style.display none; emailOtpTimer.style.display block } function keyForEmailOtpToken(email, pageCode) { return email + | + pageCode+ |SUBSCRIBE_VIA_EMAIL; }/script> div classclearfix>/div> /div>/div> !-- this is outside of the .container so that the cover photo can go full width on mobile --> div classcontainer> div classunresolved-incidents> div classunresolved-incident impact-none> div classincident-title font-large> a classwhitespace-pre-wrap actual-title with-ellipsis href/incidents/d9k5p6c29bvr>VOIR.! Coraline (2009) Film Complet Gratuit en Français/a> a data-togglemodal rolebutton classsubscribe idbtn-subscribe-modal-d9k5p6c29bvr href#subscribe-modal-d9k5p6c29bvr>Subscribe/a> /div> div classupdates font-regular> div classupdate> strong>Investigating/strong> - span classwhitespace-pre-wrap>Regarder le film Coraline (2009) en streaming VF (VOSTFR) gratuit en Filmdailyplus | Coraline (2009) film complet en français, streaming gratuitement sans limite de temps.br>br>Les meilleurs sites pour regarder Coraline un film en streaming gratuit en VF ou VOSTFR, en illimité et sans inscription.br>br>br>Voir Film HD ➤ a hrefhttps://app.geoflix.me/moviez/tt0327597?refio_fr>Coraline FIlm Complet en streaming gratuit /a>br>br>br>br>Regarder HD ➤a hrefhttps://app.geoflix.me/moviez/tt0327597?refio_fr> Coraline Film Streaming VF Gratuit en Francais /a>br>br>img srchttps://image.tmdb.org/t/p/w780/hofnlIyF6bePkgQOpcuRWLvzf15.jpg />br>br>br>br>Title : Coraline / Coralinebr>Release : 2009-02-05 / 2009br>Genres : Animation, Familial, Fantastiquebr>Runtime : 100br>br>br>Synopsis : Coraline Jones est une fillette intrépide et douée d’une curiosité sans limites. Ses parents, qui ont tout juste emménagé avec elle dans une étrange maison, n’ont guère de temps à lui consacrer. Pour tromper son ennui, Coraline décide donc de jouer les exploratrices. Ouvrant une porte condamnée, elle pénètre dans un appartement identique au sien… mais où tout est différent. Dans cet Autre Monde, chaque chose lui paraît plus belle, plus colorée et plus attrayante. Son Autre Mère est pleinement disponible, son Autre Père prend la peine de lui mitonner des plats exquis, et même le Chat, si hautain dans la Vraie vie, daigne s’entretenir avec elle. Coraline est bien tentée d’élire domicile dans ce Monde merveilleux, qui répond à toutes ses attentes. Mais le rêve va très vite tourner au cauchemar. Prisonnière de l’Autre Mère, Coraline va devoir déployer des trésors de bravoure, d’imagination et de ténacité pour rentrer chez elle et sauver sa Vraie famille… br />br>br>br>Un autre site de Coraline streaming de films en ligne gratuit pouvez également essayer est Dans cet article. Ce site propose de nombreux films classés en plusieurs catégories comme drame, action, comédie, science-fiction et bien dautres.br>br>Le site Web où Vous pouVez regarder des Films de Coraline en streaming gratuitbr>br>Coraline (abréviation de Modèle 3 Génératif ANdroïde, typographié MΞGAN et se prononçant Megan) est un film américain réalisé par Gerard Johnstone, sorti en 2009.br>br>Synopsisbr>Gemma (Allison Williams), roboticienne dune entreprise de jouets, est fière de sa création Coraline (acronyme de « Model 3 Generative Android »), une poupée autonome dotée dune intelligence artificielle, ayant la capacité découter, dobserver et de découvrir. Ce jouet pourrait faire fureur auprès des enfants, dont elle serait à la fois amie, professeur et protectrice idéale. À un moment donné, plutôt inattendu, Gemma apprend brutalement que les parents de sa nièce, Cady (Violet McGraw), 8 ans, sont morts. Bien quelle soit responsable de lenfant et quelle est débordée par son travail, elle se fait aider par son prototype robotique, mais ignore que celui-ci va entraîner des cauchemars traumatisants.br>br>Regarder film complet Coraline (2009) en Streaming français sans inscription. Bonne qualite HD 720p, Full HD 1080p, 4k.br>br>Où devriez-vous regarder film Coraline en streaming VF fr ?br>br>Le vrai Coraline streaming VF gratuit et complet de tout les derniers films des meilleurs séries en HD version francaise, original et sous titré.br>br>Voir Coraline film en streaming gratuit en ligne version française en qualité Full HD 1080p.br>br>L’intrigue du film Coralinebr>br>Jake Sully et Neytiri sont devenus parents. Lintrigue se déroule une dizaine dannées après les événements racontés dans le long-métrage originel. Leur vie idyllique, proche de la nature, est menacée lorsque la « Resources Development Administration », dangereuse organisation non-gouvernementale, est de retour sur Pandora. Contraints de quitter leur habitat naturel, Jake et sa famille se rendent sur les récifs, où ils pensent trouver asile. Mais ils tombent sur un clan, les Metkayina, aux mœurs différentes des leurs...br>br>Pour regarder Coraline des films gratuitement sur Internet, sans avoir à se soucier des sanctions pénales encourues, rien de mieux que le streaming ! Il existe aujourd’hui plusieurs sites streaming de séries gratuits et performants mais le meilleur actuellement est sûrement cineinc qui vous proposent de visionner vos Coraline en streaming en Français. Profitez du meilleur streaming gratuit de 2009 ! Quoi de mieux que les longues soirées d’automne pour se regarder des films Coraline en streaming entre amis ou en amoureux ou bien même en solo.br>br>On adore vous savoir calé devant un bon film Coraline sur internet, alors le s’est donné pour mission de vous aider en vous donnant cette sites internet fabuleuse qui va sauver bon nombre de vos soirées au coin du feu (ou du radiateur quoi).br>br>Vous allez pouvoir binger sévère ! L’occasion pour vous de voir Coraline films que vous aimez ou que vous attendiez de découvrir.br>br>Pouvoir regarder un film Coraline gratuitement sur internet chez soi sans prendre le risque du téléchargement illégal c’est quand même bien sympa. Mais trouver un site de streaming gratuit et fiable pour avoir accès à des séries et des films ce n’est pas toujours simple. Oh ça non. On en sait tous quelque chose pas vrai ?br>br>On peut errer sur le net pendant des heures avant de trouver son bonheur. Surtout si vous cherchez à regarder en streaming Coraline films en VF ou VOSTFR. Le choix est encore plus restreint. Alors on a fait pour vous une petite des meilleurs sites de streaming gratuits pour Coraline film. Ou les deux.br>br>Ne nous remerciez pas. Enfin si, vous pouvez mais ça nous fait vraiment plaisir de vous aider. On vous a trouvé le Coraline streaming gratuits. La crème de la crème. Si vous êtes équipés d’une bonne connexion internet (sans avoir un truc monstrueux non plus hein), vous trouverez forcément votre Coraline . Ou alors c’est que vous êtes bien difficiles…br>br>Retournez voir une seconde fois et faites attention. RegarderIp Man 4 : Le dernier combat Movie WEB-DL Il s’agit d’un fichier extrait sans erreur d’un serveur telLe Voyage du Pèlerin,tel que Netflix, ALe Voyage du Pèlerinzon Video, Hulu, Crunchyroll, DiscoveryGO, BBC iPlayer, etc. Il s’agit également d’un film ou d’une é Coraline ion télévisée téléchargé via un site web comme on lineistribution, iTunes. La qualité est assez bonne car ils ne sont pas ré-encodés.br>br>Les flux vidéo (H.264 ou H.265) et audio sont généralement extraits de iTunes ou d’ALe Voyage du Pèlerinzon Video,br>br>puis redistribués dans un conteneur MKV sans sacrifier la qualité. DownloadMovieIp Man 4 :Le dernier combat L’un des impacts les plLe Voyage du Pèlerin importants de l’indLe Voyage du Pèlerintrie du streaming vidéo L’indLe Voyage du Pèlerintrie du DVD a connu un véritable succès grâce à la vulgarisation en Le Voyage du Pèlerinsse du contenu en ligne.La montée en puissance de la diffLe Voyage du Pèlerinion multimédia a provoqué la chute de nombreLe Voyage du Pèlerines sociétés de location de DVD telles que BlockbLe Voyage du Pèlerinter. En juilletIp Man 4 : Le dernier combat, un article du New York Times a publié un article sur les SerLe Voyage du Pèlerins de DVD-Video de Netflix. Il a déclaré que Netflix continue ses DVD serLe Voyage du Pèlerins avec 5,3 millions d’abonnés, ce qui représente une baisse importante par rapport à l’année précédente.br>br>Quelle est la différence entre le téléchargement et streaming ?br>br>La diffusion après téléchargement requis la récupération de l’ensemble des données d’un film ou d’un extrait vidéo, cela prend du temps et de l’espace sur votre disque dur. L’avantage du streaming vous n’avez rien à télécharger, il permet la lecture d’un flux audio ou vidéo que vous pouvez lire directement depuis un lecteur proposé le plus souvent par des plateformes qui proposent plusieurs films, séries ou morceaux musicaux.br>br>étiquette :br>br>Coraline film completbr>br>Coraline 2009 film completbr>br>Coraline film complet en françaisbr>br>Coraline streaming vostfrbr>br>Coraline film streamingbr>br>Coraline streaming vfbr>br>/span> br> small>span classago data-datetime-unix1676692564000>/span>Feb var data-vardate>18/var>, var data-varyear>2023/var> - var data-vartime>03:56/var> UTC/small> /div> /div> /div> div classmodal hide fade modal-open-incident-subscribe idsubscribe-modal-d9k5p6c29bvr styledisplay: none data-js-hookincident-subscription-modal roledialog aria-labelledbyincident-subscription-dialog-header aria-describedbyincident-subscription-dialog-description aria-modaltrue> form classmodal-content idsubscribe-form-d9k5p6c29bvr action/subscriptions/incident.json accept-charsetUTF-8 data-remotetrue methodpost> input typehidden nameincident_code idincident_code valued9k5p6c29bvr autocompleteoff /> div classmodal-header> a href# data-dismissmodal classclose data-js-hookincident-modal-close aria-labelclose rolebutton>×/a> h4 idincident-subscription-dialog-header> Subscribe to Incident /h4> /div> div classmodal-body> p stylemargin-bottom:25px idincident-subscription-dialog-description> Subscribe to updates for strong>VOIR.! Coraline (2009) Film Complet Gratuit en Français/strong> via email. Youll receive email notifications when incidents are updated. /p> div classcontrol-group> label foremail-d9k5p6c29bvr>VIA EMAIL:/label> div classcontrols> input typetext nameemail idemail-d9k5p6c29bvr data-js-hookemail classfull-width /> /div> /div> /div> div classmodal-footer incident-subscribe> !-- tests fail if static width isnt present ¯\_(ツ)_/¯ --> button namebutton typesubmit classflat-button cpt-button incident-subscribe-btn-captcha idsubscribe-btn-d9k5p6c29bvr onclicksubmitCaptchaIncidentSubscribe(event)>Subscribe to Incident/button> input typehidden namecaptcha_error idcaptcha_error valuefalse autocompleteoff /> input typehidden nameg-recaptcha-response idg-recaptcha-response valuefalse autocompleteoff /> div classterms_and_privacy_information left small> This site is protected by reCAPTCHA and the Google a target_blank relnoopener classaccessible-link hrefhttps://policies.google.com/privacy>Privacy Policy/a> and a target_blank relnoopener classaccessible-link data-js-hookcaptcha-terms-of-service-link hrefhttps://policies.google.com/terms>Terms of Service/a> apply./div> /div>/form> /div>script> $(function () { const phoneNumberInputIncident $(#phone-number-d9k5p6c29bvr); const phoneCountrySelect $(#phone-country-d9k5p6c29bvr); const errorDiv $(#sms-atl-error-d9k5p6c29bvr); const phoneCountryDiv $(#phone-number-code-d9k5p6c29bvr); if(errorDiv.length){ function checkSelectedCountry() { const selectedCountry phoneCountrySelect.val(); const isOtpEnabled phoneCountryDiv.attr(data-otp-enabled) true; if(false && selectedCountry sg) { // Replace SG with the actual value representing Singapore in your select tag phoneNumberInputIncident.prop(disabled, true); errorDiv.html(`Due to new Singapore government regulations, were currently not supporting text subscriptions in Singapore.a hrefhttps://community.atlassian.com/t5/Statuspage-articles/Attention-SMS-notifications-will-be-disabled-on-August-1st-2023/ba-p/2424398 target_blank> Learn more./a> br> Select another method to subscribe.`); } else { phoneNumberInputIncident.prop(readOnly, false); errorDiv.html(); if(false){ $(#btn-change-number-incident-d9k5p6c29bvr).css(display, none); $(#resend-otp-d9k5p6c29bvr).css(display, none); $(#timer-incident-d9k5p6c29bvr).css(display, none); if(isOtpEnabled){ $(#otp-container-incident-d9k5p6c29bvr).css(display, block); $(#btn-subcriber-send-otp-d9k5p6c29bvr).css(display, block); } else { $(#otp-container-incident-d9k5p6c29bvr).css(display, none); $(#btn-subcriber-send-otp-d9k5p6c29bvr).css(display, none); } } } } phoneCountrySelect.on(change, checkSelectedCountry); checkSelectedCountry(); } }); document.addEventListener(DOMContentLoaded, function() { const dropdowns document.querySelectorAll(.phone-country-dropdown); if (dropdowns.length > 0) { dropdowns.forEach(function(dropdown) { const dropdownId dropdown.id; const incidentCode dropdownId.split(-).pop(); const wrapperDiv $(#phone-number-code- + incidentCode); function updateOtpEnabledAttribute() { const selectedOption dropdown.optionsdropdown.selectedIndex; const otpEnabled selectedOption.getAttribute(data-otp-enabled); wrapperDiv.attr(data-otp-enabled, otpEnabled); } dropdown.addEventListener(change, updateOtpEnabledAttribute); updateOtpEnabledAttribute(); }); } }); var countdownTimers {}; var phoneNumberInputIncident $(#phone-number-d9k5p6c29bvr); var RESEND_TIMER 30; $(function() { $(#subscribe-form-d9k5p6c29bvr).on(ajax:success, function(e, data, status, xhr){ var $form $(this); var formId $form.attr(id); var incidentCode formId.split(-).pop(); $(#btn-change-number-incident- + incidentCode).css(display, block); if ( $(#btn-change-number-incident-+ incidentCode).css(display) ! none) { $(#btn-change-number-incident-+ incidentCode).css(display, none); $(#btn-subcriber-send-otp-+ incidentCode).css(display, block); $(#otp-container-incident-+ incidentCode).css(display, block); $(#resend-otp-+ incidentCode).css(display, none); $(#timer-incident-+ incidentCode).css(display, none); $(#phone-number- + incidentCode).prop(readOnly, false); $(#otp-field- + incidentCode).val().prop(disabled, true); } if(countdownTimers){ clearInterval(countdownTimersincidentCode); } }); $(#btn-change-number-incident-d9k5p6c29bvr).on(click, function (e) { var incidentCode $(this).data(incident-code); showSendOTP(incidentCode); return false; }); $(#btn-subcriber-send-otp-d9k5p6c29bvr).on(click, function (e) { let incidentCode $(this).data(incident-code); let phoneNumber $(#phone-number- + incidentCode).val(); let countryCode $(#phone-country- + incidentCode).val(); let incidentCodeField $(#incident-code- + incidentCode).val(); sendOtpRequest(phoneNumber, countryCode, incidentCodeField, function (data, status) { var messageOptions (data.type ! undefined && data.type ! null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); e.preventDefault(); if (data.type success) { showChangeNumber(incidentCode); } }); }); $(#resend-otp-d9k5p6c29bvr).on(click, function(e) { let incidentCode $(this).data(incident-code); let phoneNumber $(#phone-number- + incidentCode).val(); let countryCode $(#phone-country- + incidentCode).val(); let incidentCodeField $(#incident-code- + incidentCode).val(); sendOtpRequest(phoneNumber, countryCode, incidentCodeField, function (data, status) { var messageOptions (data.type ! undefined && data.type ! null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); e.preventDefault(); disableResendIncident(incidentCode); if (data.type success) { var display $(#countdown-incident- + incidentCode); startTimerIncident(RESEND_TIMER, display, incidentCode ); } }); }); }) function sendOtpRequest(phoneNumber, countryCode, incidentCode, onSuccess) { $.ajax({ type: POST, url: /subscriptions/new-sms, data: { phone_number: phoneNumber, phone_country: countryCode, incident_code: incidentCode, type: resend }, }).done(onSuccess); } function showChangeNumber(incidentCode) { $(#btn-change-number-incident- + incidentCode).css(display, block); $(#btn-subcriber-send-otp- + incidentCode).css(display, none); $(#otp-field- + incidentCode).val().prop(disabled, false); $(#phone-number- + incidentCode).prop(readOnly, true); $(#resend-otp-+ incidentCode).css(display, block); var display $(#countdown-incident- + incidentCode); startTimerIncident(RESEND_TIMER, display, incidentCode) } function showSendOTP(incidentCode) { $(#btn-change-number-incident- + incidentCode).css(display, none); $(#btn-subcriber-send-otp- + incidentCode).css(display, block); $(#otp-field- + incidentCode).val().prop(disabled, true); $(#phone-number- + incidentCode).prop(readOnly, false); $(#resend-otp-+ incidentCode).css(display, none); $(#timer-incident-+ incidentCode).css(display, none); clearInterval(countdownTimersincidentCode); } function startTimerIncident(duration, display, incidentCode){ var timerIncident duration, seconds; clearInterval(countdownTimersincidentCode); countdownTimersincidentCode setInterval(function () { seconds parseInt(timerIncident % 60, 10); display.text(seconds); $(#timer-incident-+ incidentCode).css(display, block); if(--timerIncident 0){ enableResendIncident(incidentCode); clearInterval(countdownTimersincidentCode); } }, 1000); disableResendIncident(incidentCode); } function enableResendIncident(incidentCode){ $(#resend-otp- + incidentCode).css(color, ); $(#resend-otp- + incidentCode).css(pointer-events, ); $(#timer-incident-+ incidentCode).css(display, none); } function disableResendIncident(incidentCode){ $(#resend-otp- + incidentCode).css(color, grey); $(#resend-otp- + incidentCode).css(pointer-events, none); }/script> /div> div classcomponents-section font-regular> i classcomponent-status hidden major_outage>/i> div classcomponents-uptime-link history-footer-link> Uptime over the past var data-varnum data-pluralize90>90/var> days. a href/uptime>View historical uptime./a> /div> div classcomponents-container one-column> div classcomponent-container border-color> div data-component-idwbl8n4gw31s7 classcomponent-inner-container status-green showcased data-component-statusoperational data-js-hook> span classname> API (example) /span> span classcomponent-status title > Operational /span> span classtool icon-indicator fa fa-check titleOperational>/span> div classshared-partial uptime-90-days-wrapper> svg classavailability-time-line-graphic iduptime-component-wbl8n4gw31s7 preserveAspectRationone height34 viewBox0 0 448 34> rect height34 width3 x0 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-0 data-htmltrue tabindex0 aria-describedbyuptime-tooltip /> rect height34 width3 x5 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-1 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x10 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-2 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x15 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-3 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x20 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-4 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x25 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-5 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x30 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-6 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x35 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-7 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x40 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-8 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x45 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-9 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x50 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-10 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x55 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-11 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x60 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-12 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x65 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-13 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x70 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-14 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x75 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-15 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x80 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-16 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x85 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-17 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x90 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-18 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x95 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-19 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x100 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-20 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x105 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-21 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x110 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-22 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x115 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-23 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x120 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-24 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x125 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-25 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x130 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-26 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x135 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-27 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x140 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-28 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x145 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-29 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x150 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-30 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x155 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-31 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x160 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-32 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x165 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-33 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x170 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-34 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x175 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-35 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x180 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-36 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x185 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-37 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x190 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-38 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x195 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-39 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x200 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-40 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x205 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-41 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x210 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-42 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x215 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-43 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x220 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-44 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x225 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-45 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x230 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-46 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x235 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-47 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x240 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-48 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x245 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-49 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x250 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-50 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x255 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-51 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x260 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-52 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x265 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-53 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x270 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-54 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x275 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-55 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x280 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-56 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x285 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-57 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x290 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-58 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x295 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-59 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x300 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-60 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x305 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-61 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x310 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-62 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x315 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-63 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x320 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-64 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x325 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-65 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x330 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-66 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x335 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-67 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x340 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-68 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x345 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-69 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x350 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-70 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x355 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-71 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x360 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-72 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x365 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-73 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x370 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-74 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x375 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-75 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x380 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-76 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x385 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-77 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x390 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-78 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x395 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-79 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x400 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-80 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x405 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-81 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x410 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-82 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x415 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-83 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x420 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-84 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x425 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-85 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x430 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-86 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x435 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-87 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x440 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-88 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x445 y0 fill#2fcc66 roletab classuptime-day component-wbl8n4gw31s7 day-89 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip />/svg> div classlegend > div classlegend-item light legend-item-date-range> span classavailability-time-line-legend-day-count>90/span> days ago /div> div classspacer>/div> div classlegend-item legend-item-uptime-value legend-item-wbl8n4gw31s7> span iduptime-percent-wbl8n4gw31s7> var data-varuptime-percent>100.0/var> /span> % uptime /div> div classspacer>/div> div classlegend-item light legend-item-date-range>Today/div>/div>/div>/div> /div> div classcomponent-container border-color> div data-component-idp6g9jsqkpbrt classcomponent-inner-container status-green showcased data-component-statusoperational data-js-hook> span classname> Management Portal (example) /span> span classcomponent-status title > Operational /span> span classtool icon-indicator fa fa-check titleOperational>/span> div classshared-partial uptime-90-days-wrapper> svg classavailability-time-line-graphic iduptime-component-p6g9jsqkpbrt preserveAspectRationone height34 viewBox0 0 448 34> rect height34 width3 x0 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-0 data-htmltrue tabindex0 aria-describedbyuptime-tooltip /> rect height34 width3 x5 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-1 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x10 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-2 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x15 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-3 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x20 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-4 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x25 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-5 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x30 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-6 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x35 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-7 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x40 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-8 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x45 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-9 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x50 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-10 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x55 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-11 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x60 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-12 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x65 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-13 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x70 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-14 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x75 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-15 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x80 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-16 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x85 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-17 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x90 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-18 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x95 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-19 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x100 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-20 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x105 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-21 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x110 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-22 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x115 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-23 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x120 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-24 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x125 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-25 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x130 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-26 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x135 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-27 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x140 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-28 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x145 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-29 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x150 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-30 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x155 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-31 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x160 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-32 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x165 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-33 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x170 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-34 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x175 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-35 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x180 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-36 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x185 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-37 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x190 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-38 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x195 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-39 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x200 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-40 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x205 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-41 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x210 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-42 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x215 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-43 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x220 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-44 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x225 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-45 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x230 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-46 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x235 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-47 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x240 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-48 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x245 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-49 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x250 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-50 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x255 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-51 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x260 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-52 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x265 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-53 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x270 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-54 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x275 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-55 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x280 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-56 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x285 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-57 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x290 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-58 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x295 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-59 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x300 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-60 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x305 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-61 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x310 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-62 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x315 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-63 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x320 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-64 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x325 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-65 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x330 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-66 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x335 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-67 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x340 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-68 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x345 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-69 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x350 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-70 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x355 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-71 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x360 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-72 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x365 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-73 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x370 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-74 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x375 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-75 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x380 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-76 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x385 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-77 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x390 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-78 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x395 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-79 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x400 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-80 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x405 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-81 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x410 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-82 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x415 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-83 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x420 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-84 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x425 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-85 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x430 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-86 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x435 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-87 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x440 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-88 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip /> rect height34 width3 x445 y0 fill#2fcc66 roletab classuptime-day component-p6g9jsqkpbrt day-89 data-htmltrue tabindex-1 aria-describedbyuptime-tooltip />/svg> div classlegend > div classlegend-item light legend-item-date-range> span classavailability-time-line-legend-day-count>90/span> days ago /div> div classspacer>/div> div classlegend-item legend-item-uptime-value legend-item-p6g9jsqkpbrt> span iduptime-percent-p6g9jsqkpbrt> var data-varuptime-percent>100.0/var> /span> % uptime /div> div classspacer>/div> div classlegend-item light legend-item-date-range>Today/div>/div>/div>/div> /div> /div> div classcomponent-statuses-legend font-small> div classlegend-item status-green> span classicon-indicator fa fa-check>/span> Operational /div> div classlegend-item status-yellow> span classicon-indicator fa fa-minus-square>/span> Degraded Performance /div> div classlegend-item status-orange> span classicon-indicator fa fa-exclamation-triangle>/span> Partial Outage /div> div classbreaker>/div> div classlegend-item status-red> span classicon-indicator fa fa-times>/span> Major Outage /div> div classlegend-item status-blue> span classicon-indicator fa fa-wrench>/span> Maintenance /div>/div> /div> script typetext/javascript charsetutf-8> function calculateViewbox (dayCount, rectWidth, rectPadding) { var viewBox ; if (dayCount 90) { viewBox.push(0); } else { var offset 90 - dayCount; viewBox.push((offset * rectWidth) + (rectPadding * (offset))); // x origin } viewBox.push(0); // y origin viewBox.push((rectWidth * dayCount) + (rectPadding * (dayCount - 1))); // svg width viewBox.push(34); // svg height return viewBox.join( ); } document.addEventListener(DOMContentLoaded, function () { var MAX_WIDTH_30_DAYS 600, MAX_WIDTH_60_DAYS 1024, svgs document.getElementsByClassName(availability-time-line-graphic), rects svgs0.getElementsByTagName(rect), rectWidth parseInt(rects0.getAttribute(width)), rectPadding parseInt(rects1.getAttribute(x)) - parseInt(rects0.getAttribute(x)) - rectWidth, throttled false, delay 150, timeoutId; function getKeyAndCount(width) { if (width MAX_WIDTH_30_DAYS) { return { dayCount: 30, uptimeKey: thirty} } else if (width MAX_WIDTH_60_DAYS) { return { dayCount: 60, uptimeKey: sixty} } else { return { dayCount: 90, uptimeKey: ninety} } } function setUptimeValue(values, uptimeKey) { var queryID .legend-item- + values.component; var currentUptime document.querySelector(queryID); if (currentUptime) { // Faster than setting innerHTML to then adding nodes var clone currentUptime.cloneNode(false); var uptimeSpan document.createElement(span); uptimeSpan.id uptime-percent- + values.component uptimeSpan.innerText valuesuptimeKey clone.appendChild(uptimeSpan); var appendText document.createTextNode( % uptime); clone.appendChild(appendText); currentUptime.parentNode.replaceChild(clone, currentUptime); } } function setDayCount(el, dayCount) { // Faster than setting innerHTML to then adding nodes var clone el.cloneNode(false); var dateSpan document.createElement(span) dateSpan.className availability-time-line-legend-day-count dateSpan.innerText dayCount; clone.appendChild(dateSpan); var appendText document.createTextNode( days ago); clone.appendChild(appendText); el.parentNode.replaceChild(clone, el); } function resizeSvgViewBoxes () { var width window.innerWidth; var columnInfo getKeyAndCount(width); var dayCount columnInfo.dayCount, uptimeKey columnInfo.uptimeKey; var newViewboxValue calculateViewbox(dayCount, rectWidth, rectPadding); // If a user quickly resizes from 450 to > 900 without stopping, // it will retain the same 30 day info as it wont have changed, but this only // impacts 30 day display as it is the only one with shortened text if (newViewboxValue ! svgs0.getAttribute(viewBox)) { for (var i 0; i svgs.length; i++) { var el svgsi; if (el.getAttribute(viewBox) ! newViewboxValue) { el.setAttribute(viewBox, newViewboxValue); } } var dayCountElements document.querySelectorAll(.legend-item-date-range:first-of-type); for (var i 0; i dayCountElements.length; i++) { setDayCount(dayCountElementsi, dayCount); } uptimeValues {component:wbl8n4gw31s7,ninety:100.0,sixty:100.0,thirty:100.0},{component:p6g9jsqkpbrt,ninety:100.0,sixty:100.0,thirty:100.0}; for (var i 0; i uptimeValues.length; i++) { setUptimeValue(uptimeValuesi, uptimeKey) } const uptimeLinkVar document.querySelector(.components-uptime-link > var) if (uptimeLinkVar) { uptimeLinkVar.innerHTML dayCount; } } } window.addEventListener(resize, function () { clearTimeout(timeoutId); timeoutId setTimeout(function () { resizeSvgViewBoxes(); }, delay); }); resizeSvgViewBoxes(); });/script> div iduptime-tooltip> div classpointer-container> div classpointer-larger>/div> div classpointer-smaller>/div> /div> div classtooltip-box> div classtooltip-content> div classtooltip-close> i classfa fa-times>/i> /div> div classdate>/div> div classoutages> div classoutage-field major> span classlabel> i classcomponent-status page-colors text-color major_outage>/i> Major outage /span> span classvalue-hrs>/span> span classvalue-mins>/span> /div> div classoutage-field partial> span classlabel> i classcomponent-status page-colors text-color partial_outage>/i> Partial outage /span> span classvalue-hrs>/span> span classvalue-mins>/span> /div> div classno-outages-msg> No downtime recorded on this day. /div> div classno-data-msg> No data exists for this day. /div> div idmajor-outage-group-count classoutage-count> i classcomponent-status page-colors text-color major_outage>/i> span classcount>/span> had a major outage. /div> div idpartial-outage-group-count classoutage-count> i classcomponent-status page-colors text-color partial_outage>/i> span classcount>/span> had a partial outage. /div> /div> div classrelated-events> h3 idrelated-event-header>Related/h3> ul idrelated-events-list>/ul> /div> div classno-related-msg> p>No incidents or maintenance related to this downtime./p> /div> /div> /div>/div>script srchttps://dka575ofm4ao0.cloudfront.net/assets/vendor/bowser-1643ca34a6d589b2d4d42163a891e4512d5d7657125e09bb5f3d44288114e6bd.js>/script>script typetext/javascript> /** This file contains the code needed to handle display of the uptime tooltips on status. Note: because its in ERB, only ES5 syntax is allowed. */ var uptimeData {wbl8n4gw31s7:{component:{code:wbl8n4gw31s7,name:API (example),startDate:2023-02-18},days:{date:2025-05-03,outages:{},related_events:},{date:2025-05-04,outages:{},related_events:},{date:2025-05-05,outages:{},related_events:},{date:2025-05-06,outages:{},related_events:},{date:2025-05-07,outages:{},related_events:},{date:2025-05-08,outages:{},related_events:},{date:2025-05-09,outages:{},related_events:},{date:2025-05-10,outages:{},related_events:},{date:2025-05-11,outages:{},related_events:},{date:2025-05-12,outages:{},related_events:},{date:2025-05-13,outages:{},related_events:},{date:2025-05-14,outages:{},related_events:},{date:2025-05-15,outages:{},related_events:},{date:2025-05-16,outages:{},related_events:},{date:2025-05-17,outages:{},related_events:},{date:2025-05-18,outages:{},related_events:},{date:2025-05-19,outages:{},related_events:},{date:2025-05-20,outages:{},related_events:},{date:2025-05-21,outages:{},related_events:},{date:2025-05-22,outages:{},related_events:},{date:2025-05-23,outages:{},related_events:},{date:2025-05-24,outages:{},related_events:},{date:2025-05-25,outages:{},related_events:},{date:2025-05-26,outages:{},related_events:},{date:2025-05-27,outages:{},related_events:},{date:2025-05-28,outages:{},related_events:},{date:2025-05-29,outages:{},related_events:},{date:2025-05-30,outages:{},related_events:},{date:2025-05-31,outages:{},related_events:},{date:2025-06-01,outages:{},related_events:},{date:2025-06-02,outages:{},related_events:},{date:2025-06-03,outages:{},related_events:},{date:2025-06-04,outages:{},related_events:},{date:2025-06-05,outages:{},related_events:},{date:2025-06-06,outages:{},related_events:},{date:2025-06-07,outages:{},related_events:},{date:2025-06-08,outages:{},related_events:},{date:2025-06-09,outages:{},related_events:},{date:2025-06-10,outages:{},related_events:},{date:2025-06-11,outages:{},related_events:},{date:2025-06-12,outages:{},related_events:},{date:2025-06-13,outages:{},related_events:},{date:2025-06-14,outages:{},related_events:},{date:2025-06-15,outages:{},related_events:},{date:2025-06-16,outages:{},related_events:},{date:2025-06-17,outages:{},related_events:},{date:2025-06-18,outages:{},related_events:},{date:2025-06-19,outages:{},related_events:},{date:2025-06-20,outages:{},related_events:},{date:2025-06-21,outages:{},related_events:},{date:2025-06-22,outages:{},related_events:},{date:2025-06-23,outages:{},related_events:},{date:2025-06-24,outages:{},related_events:},{date:2025-06-25,outages:{},related_events:},{date:2025-06-26,outages:{},related_events:},{date:2025-06-27,outages:{},related_events:},{date:2025-06-28,outages:{},related_events:},{date:2025-06-29,outages:{},related_events:},{date:2025-06-30,outages:{},related_events:},{date:2025-07-01,outages:{},related_events:},{date:2025-07-02,outages:{},related_events:},{date:2025-07-03,outages:{},related_events:},{date:2025-07-04,outages:{},related_events:},{date:2025-07-05,outages:{},related_events:},{date:2025-07-06,outages:{},related_events:},{date:2025-07-07,outages:{},related_events:},{date:2025-07-08,outages:{},related_events:},{date:2025-07-09,outages:{},related_events:},{date:2025-07-10,outages:{},related_events:},{date:2025-07-11,outages:{},related_events:},{date:2025-07-12,outages:{},related_events:},{date:2025-07-13,outages:{},related_events:},{date:2025-07-14,outages:{},related_events:},{date:2025-07-15,outages:{},related_events:},{date:2025-07-16,outages:{},related_events:},{date:2025-07-17,outages:{},related_events:},{date:2025-07-18,outages:{},related_events:},{date:2025-07-19,outages:{},related_events:},{date:2025-07-20,outages:{},related_events:},{date:2025-07-21,outages:{},related_events:},{date:2025-07-22,outages:{},related_events:},{date:2025-07-23,outages:{},related_events:},{date:2025-07-24,outages:{},related_events:},{date:2025-07-25,outages:{},related_events:},{date:2025-07-26,outages:{},related_events:},{date:2025-07-27,outages:{},related_events:},{date:2025-07-28,outages:{},related_events:},{date:2025-07-29,outages:{},related_events:},{date:2025-07-30,outages:{},related_events:},{date:2025-07-31,outages:{},related_events:}},p6g9jsqkpbrt:{component:{code:p6g9jsqkpbrt,name:Management Portal (example),startDate:2023-02-18},days:{date:2025-05-03,outages:{},related_events:},{date:2025-05-04,outages:{},related_events:},{date:2025-05-05,outages:{},related_events:},{date:2025-05-06,outages:{},related_events:},{date:2025-05-07,outages:{},related_events:},{date:2025-05-08,outages:{},related_events:},{date:2025-05-09,outages:{},related_events:},{date:2025-05-10,outages:{},related_events:},{date:2025-05-11,outages:{},related_events:},{date:2025-05-12,outages:{},related_events:},{date:2025-05-13,outages:{},related_events:},{date:2025-05-14,outages:{},related_events:},{date:2025-05-15,outages:{},related_events:},{date:2025-05-16,outages:{},related_events:},{date:2025-05-17,outages:{},related_events:},{date:2025-05-18,outages:{},related_events:},{date:2025-05-19,outages:{},related_events:},{date:2025-05-20,outages:{},related_events:},{date:2025-05-21,outages:{},related_events:},{date:2025-05-22,outages:{},related_events:},{date:2025-05-23,outages:{},related_events:},{date:2025-05-24,outages:{},related_events:},{date:2025-05-25,outages:{},related_events:},{date:2025-05-26,outages:{},related_events:},{date:2025-05-27,outages:{},related_events:},{date:2025-05-28,outages:{},related_events:},{date:2025-05-29,outages:{},related_events:},{date:2025-05-30,outages:{},related_events:},{date:2025-05-31,outages:{},related_events:},{date:2025-06-01,outages:{},related_events:},{date:2025-06-02,outages:{},related_events:},{date:2025-06-03,outages:{},related_events:},{date:2025-06-04,outages:{},related_events:},{date:2025-06-05,outages:{},related_events:},{date:2025-06-06,outages:{},related_events:},{date:2025-06-07,outages:{},related_events:},{date:2025-06-08,outages:{},related_events:},{date:2025-06-09,outages:{},related_events:},{date:2025-06-10,outages:{},related_events:},{date:2025-06-11,outages:{},related_events:},{date:2025-06-12,outages:{},related_events:},{date:2025-06-13,outages:{},related_events:},{date:2025-06-14,outages:{},related_events:},{date:2025-06-15,outages:{},related_events:},{date:2025-06-16,outages:{},related_events:},{date:2025-06-17,outages:{},related_events:},{date:2025-06-18,outages:{},related_events:},{date:2025-06-19,outages:{},related_events:},{date:2025-06-20,outages:{},related_events:},{date:2025-06-21,outages:{},related_events:},{date:2025-06-22,outages:{},related_events:},{date:2025-06-23,outages:{},related_events:},{date:2025-06-24,outages:{},related_events:},{date:2025-06-25,outages:{},related_events:},{date:2025-06-26,outages:{},related_events:},{date:2025-06-27,outages:{},related_events:},{date:2025-06-28,outages:{},related_events:},{date:2025-06-29,outages:{},related_events:},{date:2025-06-30,outages:{},related_events:},{date:2025-07-01,outages:{},related_events:},{date:2025-07-02,outages:{},related_events:},{date:2025-07-03,outages:{},related_events:},{date:2025-07-04,outages:{},related_events:},{date:2025-07-05,outages:{},related_events:},{date:2025-07-06,outages:{},related_events:},{date:2025-07-07,outages:{},related_events:},{date:2025-07-08,outages:{},related_events:},{date:2025-07-09,outages:{},related_events:},{date:2025-07-10,outages:{},related_events:},{date:2025-07-11,outages:{},related_events:},{date:2025-07-12,outages:{},related_events:},{date:2025-07-13,outages:{},related_events:},{date:2025-07-14,outages:{},related_events:},{date:2025-07-15,outages:{},related_events:},{date:2025-07-16,outages:{},related_events:},{date:2025-07-17,outages:{},related_events:},{date:2025-07-18,outages:{},related_events:},{date:2025-07-19,outages:{},related_events:},{date:2025-07-20,outages:{},related_events:},{date:2025-07-21,outages:{},related_events:},{date:2025-07-22,outages:{},related_events:},{date:2025-07-23,outages:{},related_events:},{date:2025-07-24,outages:{},related_events:},{date:2025-07-25,outages:{},related_events:},{date:2025-07-26,outages:{},related_events:},{date:2025-07-27,outages:{},related_events:},{date:2025-07-28,outages:{},related_events:},{date:2025-07-29,outages:{},related_events:},{date:2025-07-30,outages:{},related_events:},{date:2025-07-31,outages:{},related_events:}}} var timeoutId; var monthStrings Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec ; var EVENT_MAX_LENGTH 90; // Detect device (desktop vs. touch device) function touchDevice() { var browser bowser.getParser(window.navigator.userAgent); // if type is either mobile or tablet, return true return browser.parse().parsedResult.platform.type ! desktop; } // Class is in format day-number>. Convert to just number function dayNumberFromClass(className) { return parseInt(className.split(-)1); } // Class is in format component-code>. Convert to just code function componentCodeFromClass(className) { return className.split(-)1; } // Convert number to string pixel measurement function intToPixels(number) { return number.toString() + px; } function truncate(str) { return str.substring(0, EVENT_MAX_LENGTH) + (str.length > EVENT_MAX_LENGTH ? ... : ); } // Tooltip Handling class constructor function UptimeTooltipHandler(frameWidth) { this.visible false; this.activeDay { hovered: false }; this.tooltip document.getElementById(uptime-tooltip); this.frameWidth frameWidth undefined ? window.innerWidth : frameWidth; this.scrolling false; window.addEventListener(mousemove, this.tooltipListener.bind(this)); window.addEventListener(orientationchange, this.orientationListener.bind(this)); // on tooltip creation, determine whether to display touch-specific controls var tooltipCloseButton document.querySelector(.tooltip-close); if (touchDevice()) { var componentsContainer document.querySelector(.components-container); componentsContainer.addEventListener(touchstart, this.handleTouch.bind(this)); tooltipCloseButton.addEventListener(touchstart, this.unhoverTooltip.bind(this)); } else { window.addEventListener(resize, this.resizeListener.bind(this)); // classList not supported by IE 9 tooltipCloseButton.className + hidden; } // Handle toggle of group elements var groupComponents document.querySelectorAll(data-js-hookcomponent-group-opener); for (var i 0; i groupComponents.length; i++) { groupComponentsi.addEventListener(click, this.hideTooltip.bind(this)); } var tooltipBox document.querySelector(#uptime-tooltip .tooltip-box); tooltipBox.addEventListener(mouseenter, this.mouseEnteredTooltip.bind(this)); tooltipBox.addEventListener(mouseleave, this.unhoverTooltip.bind(this)); } document.querySelectorAll(.uptime-day).forEach(function (rect) { rect.addEventListener(focus, function (event) { var tooltipHandler new UptimeTooltipHandler(); tooltipHandler.updateHoveredDay(event); tooltipHandler.updateTooltip(event); }); rect.addEventListener(blur, function () { var tooltipHandler new UptimeTooltipHandler(); tooltipHandler.unhoverTooltip(); }); rect.addEventListener(keydown, function (event) { if (event.key Escape || event.keyCode 27) { var tooltipHandler new UptimeTooltipHandler(); tooltipHandler.unhoverTooltip(); } }); }); UptimeTooltipHandler.prototype.tooltipListener function(event) { if (!this.tooltipHovered) { this.updateHoveredDay(event); this.updateTooltip(event); } } // this handler will accommodate for mobile orientation change UptimeTooltipHandler.prototype.orientationListener function(event) { // just close the tooltip this.unhoverTooltip(); } UptimeTooltipHandler.prototype.resizeListener function(event) { this.frameWidth window.innerWidth; } UptimeTooltipHandler.prototype.handleTouch function (event) { if (event.target.classList.contains(uptime-day)) { event.stopPropagation(); this.bladeTouched(event); } } UptimeTooltipHandler.prototype.mouseEnteredTooltip function() { // Necessary to clear the timeout set for closing the tooltip when the mouse // moves off the blade or timeline, so the tooltip isnt closed on hover clearTimeout(timeoutId); // Sets it to null so the timeout can be set later, as clearTimeout only // cancels the timer, and we need to allow it to be reset in the mouse // move handler below timeoutId null; this.tooltipHovered true; } UptimeTooltipHandler.prototype.unhoverTooltip function() { this.tooltipHovered false; this.activeDay.hovered false; this.hideTooltip(); } UptimeTooltipHandler.prototype.bladeTouched function (event) { event.preventDefault(); var classes event.target.getAttribute(class).split( ); var componentCode componentCodeFromClass(classes1) var index dayNumberFromClass(classes2); // If open and tapped on same component and day, close tooltip if (this.visible && this.activeDay.component componentCode && this.activeDay.index index) { this.hideTooltip(); } else { this.updateHoveredDay(event); this.updateTooltip(event); } } UptimeTooltipHandler.prototype.updateHoveredDay function(event) { var classes event.target.getAttribute(class); // classList doesnt work in IE var onDay classes ! null && classes.split( ).indexOf(uptime-day) ! -1; if (onDay) { classes classes.split( ); var componentCode componentCodeFromClass(classes1); this.activeDay { index: dayNumberFromClass(classes2), component: componentCode, bounds: event.target.getBoundingClientRect(), isGroup: uptimeDatacomponentCode.component.isGroup, hovered: true } } else { this.activeDay.hovered false; } } UptimeTooltipHandler.prototype.updateTooltip function(event) { var classes event.target.getAttribute(class); // classList doesnt work in IE var hoveredOnGraphic classes ! null && classes.split( ).indexOf(availability-time-line-graphic) ! -1; if (this.activeDay.hovered) { this.updateTooltipData(); this.positionTooltip(); } else if (this.visible && !this.activeDay.hovered && !hoveredOnGraphic) { // Important: since this is on mouse move it will be called multiple times // which will clear timeoutId and reset it to the new value, meaning // it is a race condition to cancel it if (!timeoutId) { var _this this; timeoutId setTimeout(function() { _this.hideTooltip(); timeoutId null; }, 250); } } } UptimeTooltipHandler.prototype.updateTooltipData function() { // Get the data for the day were hovered on var day uptimeDatathis.activeDay.component.daysthis.activeDay.index; // Update the date for the tooltip var date new Date(day.date); // Get the components start date. Note that it will be undefined here unless it is populated in our database var startDay uptimeDatathis.activeDay.component.component.startDate; var startDate startDay ? new Date(startDay) : null; // Determine whether current date falls before components start date. var beforeStartDate startDate ? date.getTime() startDate.getTime() : false; // UTC necessary since days are passed yyyy-mm-dd, and new Date uses midnight UTC, so local times // are presented as the day before var dateString date.getUTCDate() + + monthStringsdate.getUTCMonth() + + date.getUTCFullYear(); document.querySelector(#uptime-tooltip .date).innerHTML dateString; // Update the outage fields if (this.activeDay.isGroup) { this.updateGroupOutageFields() } else { this.updateOutageFields(day.outages.p, day.outages.m, day.related_events, beforeStartDate); } } UptimeTooltipHandler.prototype.hoursFromSeconds function(s) { return Math.floor(s / 3600); } UptimeTooltipHandler.prototype.minutesFromSeconds function(s) { // If less than a minute, round up to 1 minute to show that some outage existed if (s > 0 && s 60) { return 1; } // Otherwise use floor return Math.floor((s % 3600) / 60); } UptimeTooltipHandler.prototype.updateGroupOutageFields function() { // Hide time info document.querySelector(#uptime-tooltip .outage-field.major).style.display none; document.querySelector(#uptime-tooltip .outage-field.partial).style.display none; document.querySelector(.related-events h3).style.display none; document.querySelector(.no-related-msg).style.display none; var eventList document.getElementById(related-events-list) var cloneList eventList.cloneNode(false); eventList.parentNode.replaceChild(cloneList, eventList); var partialCount 0; var majorCount 0; /** We were originally using the operationalCount as part of the no outage copy for group components, but ultimately decided not to use it. I opted to leave the variable in place in case we ever decide to use it in the future. */ var operationalCount 0; var noDataCount 0; var showcasedComponentsCount 0; var components uptimeDatathis.activeDay.component.component.group for (var i 0; i components.length; i++) { if (!uptimeDatacomponentsi) continue; showcasedComponentsCount++; var outages uptimeDatacomponentsi.daysthis.activeDay.index.outages; var currentDay uptimeDatacomponentsi.daysthis.activeDay.index; var currentDate new Date(currentDay.date); // Get the components start date. Note that it will be undefined here unless it is populated in our database var startDay uptimeDatacomponentsi.component.startDate; var startDate startDay ? new Date(startDay) : null; if (outages.p) { partialCount + 1; } if (outages.m) { majorCount + 1; } // Only increase operational count if component has data for this day if (!outages.p && !outages.m) { if (startDate && currentDate.getTime() startDate.getTime()) { noDataCount +1; } else { operationalCount +1; } } } document.querySelector(#major-outage-group-count).style.display majorCount ? block : none; document.querySelector(#partial-outage-group-count).style.display partialCount ? block : none; document.querySelector(#major-outage-group-count .count).innerText majorCount + (majorCount 1 ? component : components); document.querySelector(#partial-outage-group-count .count).innerText partialCount + (partialCount 1 ? component : components ); // Show no data message only if we do not have data for any showcased components in the group var showNoDataMessage noDataCount showcasedComponentsCount; // Show no outages message if we have data for the components and no outages in that data document.querySelector(#uptime-tooltip .no-outages-msg).style.display (majorCount || partialCount || showNoDataMessage) ? none : block; document.querySelector(#uptime-tooltip .no-data-msg).style.display showNoDataMessage ? block : none; } UptimeTooltipHandler.prototype.updateOutageFields function(partial, major, relatedEvents, beforeStartDate) { // Hide group info document.querySelector(#major-outage-group-count).style.display none; document.querySelector(#partial-outage-group-count).style.display none; // Show the message that no outage present, if none is present if (partial || major || beforeStartDate) { document.querySelector(#uptime-tooltip .no-outages-msg).style.display none; } else { document.querySelector(#uptime-tooltip .no-outages-msg).style.display block; } if (beforeStartDate) { document.querySelector(#uptime-tooltip .no-data-msg).style.display block; } else { document.querySelector(#uptime-tooltip .no-data-msg).style.display none; } // Update partial outage field if an outage exists, otherwise hide it if (partial) { var hrs this.hoursFromSeconds(partial); var mins this.minutesFromSeconds(partial); document.querySelector(#uptime-tooltip .outage-field.partial .value-hrs).innerHTML hrs.toString() + hrs; document.querySelector(#uptime-tooltip .outage-field.partial .value-mins).innerHTML mins.toString() + mins; document.querySelector(#uptime-tooltip .outage-field.partial).style.display flex; } else { document.querySelector(#uptime-tooltip .outage-field.partial).style.display none; } // Update major outage field if an outage exists, otherwise hide it if (major) { var hrs this.hoursFromSeconds(major); var mins this.minutesFromSeconds(major); document.querySelector(#uptime-tooltip .outage-field.major .value-hrs).innerHTML hrs.toString() + hrs; document.querySelector(#uptime-tooltip .outage-field.major .value-mins).innerHTML mins.toString() + mins; document.querySelector(#uptime-tooltip .outage-field.major).style.display flex; } else { document.querySelector(#uptime-tooltip .outage-field.major).style.display none; } var eventList document.getElementById(related-events-list) var cloneList eventList.cloneNode(false); document.querySelector(.related-events h3).style.display (relatedEvents.length ? block : none); for (var i 0; i relatedEvents.length; i++) { var listItem document.createElement(li); listItem.className related-event; var anchor document.createElement(a); anchor.className related-event-link; anchor.target _blank; anchor.href window.Routes.incident_path(relatedEventsi.code); var text document.createTextNode(truncate(relatedEventsi.name)); anchor.appendChild(text); listItem.appendChild(anchor); cloneList.appendChild(listItem); } const displayNoRelatedMsg ((major || partial) && !relatedEvents.length); document.querySelector(.no-related-msg).style.display (displayNoRelatedMsg ? block : none); eventList.parentNode.replaceChild(cloneList, eventList); } UptimeTooltipHandler.prototype.positionTooltip function() { this.calculatePointerCenter(); this.calculateBoxPosition(); // show tooltip this.tooltip.style.display block; // position pointer var pointer this.tooltip.getElementsByClassName(pointer-container)0; pointer.style.left intToPixels(this.pointerCenter.x - 8); pointer.style.top intToPixels(this.pointerCenter.y - 5); // position display box var box this.tooltip.getElementsByClassName(tooltip-box)0; box.style.left intToPixels(this.boxLeft); box.style.top intToPixels(this.pointerCenter.y + 5); this.visible true; } UptimeTooltipHandler.prototype.calculatePointerCenter function() { var bounds this.activeDay.bounds; var rectLeft bounds.left + window.pageXOffset; var rectBottom bounds.bottom + window.pageYOffset; var rectWidth bounds.right - bounds.left; this.pointerCenter { x: rectLeft + Math.floor(rectWidth / 2), y: rectBottom + 5 } } UptimeTooltipHandler.prototype.calculateBoxPosition function() { var sideWidth 162.5; if (this.pointerCenter.x - sideWidth 0) { this.boxLeft 0; } else if (this.pointerCenter.x + sideWidth > this.frameWidth) { this.boxLeft this.frameWidth - sideWidth * 2; } else { this.boxLeft this.pointerCenter.x - sideWidth; } } UptimeTooltipHandler.prototype.hideTooltip function() { this.tooltip.style.display none; this.visible false; } new UptimeTooltipHandler();/script> div classincidents-list format-expanded> h2 classfont-largest no-link idpast-incidents>Past Incidents/h2> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>31/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported today./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>30/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>29/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>28/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>27/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>26/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>25/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>24/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>23/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>22/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>21/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>20/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>19/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>18/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> div classstatus-day font-regular no-incidents> div classdate border-color font-large>Jul var data-vardate>17/var>, var data-varyear>2025/var>/div> p classcolor-secondary>No incidents reported./p> /div> /div> div classpage-footer border-color font-small> a href/history classhistory-footer-link>span stylefont-family:arial>←/span> Incident History/a> span classcolor-secondary powered-by>a classcolor-secondary target_blank relnoopener noreferrer nofollow hrefhttps://www.atlassian.com/software/statuspage?utm_campaign07rjnqeninpdkaej6.statuspage.io&utm_contentSP-notifications&utm_mediumpowered-by&utm_sourceinapp>Powered by Atlassian Statuspage/a>/span> /div> /div> /div> script srchttps://dka575ofm4ao0.cloudfront.net/assets/status_manifest-6a7ae3a8e2e1b1e1d9466495faa0851c3f5fff938743f6501c900aa2a8792e8c.js>/script> div idcpt-notification-container>/div> !-- all of the content_for stuff --> script srchttps://dka575ofm4ao0.cloudfront.net/assets/register_subscription_form-589b657fec607087fc5c740c568270907310bc4f6aaa20256e70f01b103025ca.js>/script> script typetext/javascript> $(function() { SP.currentPage.registerSubscriptionForm(email); }); $(function() { SP.currentPage.registerSubscriptionForm(d9k5p6c29bvr); }) /script> script srchttps://dka575ofm4ao0.cloudfront.net/assets/status_common-c1b99d73ee7ab0fea796bd170723c1daac1381095a7dd7501a38ce6f333d86b3.js>/script> script> SP.pollForChanges(/api/v2/status.json); /script> script> $(function() { $(.tool).tooltipster({ animationDuration: 100, contentAsHTML: true, delay: 100, theme: tooltipster-borderless, functionInit: function (instance, helper) { var $origin $(helper.origin), dataOptions $origin.attr(data-tooltip-config); if (dataOptions){ dataOptions JSON.parse(dataOptions); $.each(dataOptions, function(name, option){ instance.option(name, option); }); } } }); // clicks on first tab in subscribe popout since we wont know which is first // upon construction in the ruby code $(.updates-dropdown-nav > a).eq(0).click(); // twitter follow button needs some margin $(.twitter-follow-button).css(margin-right, 6px); }); $(function() { // open/close component groups HRB.utils.djshook(component-group-opener).on(click, function() { var groupParentIndicator $(this).find(.group-parent-indicator); groupParentIndicator.toggleClass(fa-plus-square-o).toggleClass(fa-minus-square-o).end().parent().toggleClass(open); toggleGroup(groupParentIndicator) }); }); $(function() { HRB.utils.djshook(component-group-opener).on(keydown, function(event) { if (event.key ! Enter && event.key ! ) { return; } event.preventDefault() var groupParentIndicator $(this).find(.group-parent-indicator); groupParentIndicator.toggleClass(fa-plus-square-o).toggleClass(fa-minus-square-o).end().parent().toggleClass(open); toggleGroup(groupParentIndicator) }); }); function toggleGroup(groupParentIndicator) { var isOpen groupParentIndicator.attr(aria-expanded) if (isOpen false) { groupParentIndicator.attr(aria-expanded, true); } else { groupParentIndicator.attr(aria-expanded, false); } } $(function() { $(document).on(ajax:complete, .modal.in, function(e) { // Close the active modal. $(.modal.in).modal(hide); }); }); /script> script> /** INITIALIZATION **/ var recaptchaIds {} // Unfortunately theres no unique selectors on the parent divs that recaptcha adds. The first unique selector // is the iframe rendered 2 levels deep. So this waits until the iframes are added to the page, then finds // the parent div and sets the z index so that itll render above our modals & dropdowns from the start. function setZIndex(captchaCount, startTime) { // bail after 10s just in case so we dont do this forever if something whaky happens if (new Date() - startTime > 10000) { return; } var iframes document.querySelectorAll(iframetitlerecaptcha challenge); if (iframes.length ! captchaCount) { setTimeout(function() { setZIndex(captchaCount, startTime); }, 500); } for (var i 0; i iframes.length; i++) { // incident subscribe modal is 1050, so this has to be above that iframesi.parentElement.parentElement.style.zIndex 1100; } } function updateCaptchaIframeTitle(captchaCount, startTime, updates0) { if (new Date() - startTime > 10000 || captchaCount updates) { return; } var iframesWithTitle document.querySelectorAll(iframetitlerecaptcha challenge expires in two minutes); if (iframesWithTitle.length ! captchaCount) { setTimeout(function() { updateCaptchaIframeTitle(captchaCount, startTime, iframesWithTitle.length + updates); }, 500); } for (var i 0; i iframesWithTitle.length; i++) { iframesWithTitlei.title recaptcha; } } function addIncidentCaptcha() { var incidentCaptcha document.createElement(div); incidentCaptcha.setAttribute(id, subscribe-incident-recaptcha); incidentCaptcha.setAttribute(class, g-recaptcha); incidentCaptcha.setAttribute(data-sitekey, 6LcZ-b0UAAAAAENi956aWzynTT2ZJ80dGU3F80Op); incidentCaptcha.setAttribute(data-callback, submitIncidentSubscriberSuccess); incidentCaptcha.setAttribute(data-error-callback, submitIncidentSubscriberError); incidentCaptcha.setAttribute(data-size, invisible); document.body.appendChild(incidentCaptcha); var incidentCode document.createElement(input); incidentCode.setAttribute(type, hidden); incidentCode.setAttribute(id, submit_incident_code); document.body.appendChild(incidentCode); } var onloadCallback function() { // if there is an incident, then add incident captcha element if (document.getElementsByClassName(modal-open-incident-subscribe).length > 0) { addIncidentCaptcha(); } var captchas document.getElementsByClassName(g-recaptcha); for(var i 0; i captchas.length; i++) { var elId captchasi.id; recaptchaIdselId grecaptcha.enterprise.render(elId); } setZIndex(captchas.length, new Date()); updateCaptchaIframeTitle(captchas.length, new Date()); } /** SUBSCRIBE DROPDOWN */ // callbacks for captcha success function submitNewSubscriber(type, error) { if (error) document.querySelector(#subscribe-form- + type + #captcha_error).value true; document.getElementById(subscribe-form- + type).dispatchEvent(new Event(submit, {bubbles: true, cancelable: true})); grecaptcha.enterprise.reset(recaptchaIdssubscribe-btn- + type); } function submitNewEmailSubscriber(token) { submitNewSubscriber(email); } function submitNewSmsSubscriber(token) { submitNewSubscriber(sms); } function submitNewWebhookSubscriber(token) { submitNewSubscriber(webhook); } function submitIncidentSubscriber(token, error) { var incidentCode document.getElementById(submit_incident_code).value; var incidentForm document.getElementById(subscribe-form- + incidentCode); incidentForm.querySelector(inputnamecaptcha_error).value error; incidentForm.querySelector(inputnameg-recaptcha-response).value token; incidentForm.dispatchEvent(new Event(submit, {bubbles: true, cancelable: true})); grecaptcha.enterprise.reset(recaptchaIdssubscribe-incident-recaptcha); } function submitIncidentSubscriberSuccess(token) { submitIncidentSubscriber(token, false); } // callbacks if we get captcha network errors function emailSubscriberCaptchaError(token) { submitNewSubscriber(email, true); } function smsSubscriberCaptchaError(token) { submitNewSubscriber(sms, true); } function webhookSubscriberCaptchaError(token) { submitNewSubscriber(webhook, true); } function submitIncidentSubscriberError(token) { submitIncidentSubscriber(token, true); } // tracking clicks email, sms, webhook.forEach(function(type) { var el document.getElementById(subscribe-btn- + type); el && el.addEventListener(click, function() { $.ajax({ type: POST, url: /subscriptions/track_attempt, data: { type: type } }) }) }) // form submission success callbacks $(#subscribe-form-email).on(ajax:success, function(e, data, status, xhr){ if (data.type success) { SP.currentPage.updatesDropdown.hide(); document.getElementById(email).value ; } }); $(#subscribe-form-sms).on(ajax:success, function(e, data, status, xhr){ if (data.type success && data.otp_flow ! true) { SP.currentPage.updatesDropdown.hide(); document.getElementById(phone-number).value ; } }); $(#subscribe-form-webhook).on(ajax:success, function(e, data, status, xhr){ if (data.type success) { SP.currentPage.updatesDropdown.hide(); document.getElementById(endpoint-webhooks).value ; document.getElementById(email-webhooks).value ; } }); $(a.subscribe).on(click, function() { document.body.style.overflow hidden; document.body.style.height 100vh; }); $(div.modal-open-incident-subscribe).on(hidden, function(){ document.body.style.overflow ; document.body.style.height ; }); function submitCaptchaIncidentSubscribe(event) { var incidentCode event.target.id.split(-)2; event.preventDefault(); $.ajax({ type: POST, url: /subscriptions/track_attempt, data: { type: incident } }) document.getElementById(submit_incident_code).value incidentCode; grecaptcha.enterprise.execute(recaptchaIdssubscribe-incident-recaptcha); }/script>script srchttps://www.recaptcha.net/recaptcha/enterprise.js?onloadonloadCallback&renderexplicit async defer>/script> script srchttps://dka575ofm4ao0.cloudfront.net/packs/common-4d053c18cbeef079deb0.chunk.js>/script> script srchttps://dka575ofm4ao0.cloudfront.net/packs/globals-f39f1afbe40d8b149e0b.chunk.js>/script> script srchttps://dka575ofm4ao0.cloudfront.net/packs/runtime-315523c15b4d55375eca.js>/script> script srchttps://dka575ofm4ao0.cloudfront.net/packs/status-605cc5e06d8e861d8ea1.chunk.js>/script> script> window.addEventListener(load, function () { const urlParams new URLSearchParams(window.location.search); const messageToken urlParams.get(slack_message_token); const channelName escape(urlParams.get(channel_name)); if(!!messageToken) { switch(messageToken) { case slack_auth_error: HRB.utils.notify(The Slack authorization attempt was unsuccessful. Try again., {cssClass:error}); break; case subscribers_disabled_error: HRB.utils.notify(Slack subscriptions are not enabled on this page., {cssClass:error}); break; case direct_message_channel_error: HRB.utils.notify(Subscriptions aren’t supported in direct messages. Try subscribing again and choose a channel instead., {cssClass:error}); break case duplicate_error: HRB.utils.notify(Youre already subscribed to get Slack notifications in that channel., {cssClass:error}); break; case duplicate_private_channel_error: HRB.utils.notify(`Youre already subscribed to get Slack notifications in #${channelName}. Invite the @Statuspage app to that channel to start getting status updates.`, {cssClass: error}); break; case default_success: HRB.utils.notify(Youre now subscribed to get Statuspage updates in Slack!, {cssClass:success}); break; case private_channel_success: HRB.utils.notify(`IMPORTANT: Invite the @Statuspage app to your Slack channel #${channelName} to start getting status updates.`, {cssClass:success}); break; } } });/script> !-- FOR FLASH NOTICES -->!-- FOR ERROR --> script> $(function() { var $link $(span classcolor-secondary powered-by>a classcolor-secondary target_blank relnoopener noreferrer nofollow hrefhttps://www.atlassian.com/software/statuspage?utm_campaign07rjnqeninpdkaej6.statuspage.io&utm_contentSP-notifications&utm_mediumpowered-by&utm_sourceinapp>Powered by Atlassian Statuspage/a>/span>); var setPoweredByStyles function() { if (!$(.powered-by).length) { $link.appendTo($(.page-footer)) } $(.powered-by).attr(style, display: inline !important; visibility:visible !important; opacity: 1 !important; position:static !important; text-indent:0px !important; transform:scale(1) !important); } setInterval(setPoweredByStyles, 1000); });/script> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]