{"id":31,"date":"2023-11-06T09:01:08","date_gmt":"2023-11-06T09:01:08","guid":{"rendered":"http:\/\/maikel.lukkezen"},"modified":"2024-10-21T11:05:55","modified_gmt":"2024-10-21T11:05:55","slug":"resilience-assessment","status":"publish","type":"page","link":"https:\/\/pntportal.eu\/index.php\/resilience-assessment\/","title":{"rendered":"Resilience assessment"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"31\" class=\"elementor elementor-31\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4ad2640 e-con-full e-flex e-con e-parent\" data-id=\"4ad2640\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-23e51fe elementor-widget elementor-widget-accordion\" data-id=\"23e51fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-accordion\">\n\t\t\t\t\t\t\t<div class=\"elementor-accordion-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-3761\" class=\"elementor-tab-title\" data-tab=\"1\" role=\"button\" aria-controls=\"elementor-tab-content-3761\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon elementor-accordion-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-closed\"><svg class=\"e-font-icon-svg e-fas-plus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-opened\"><svg class=\"e-font-icon-svg e-fas-minus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-accordion-title\" tabindex=\"0\">Introduction<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-3761\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"region\" aria-labelledby=\"elementor-tab-title-3761\"><p><\/p>\n<p class=\"wp-block-paragraph\"><\/p>\n<p class=\"wp-block-paragraph\"><\/p>\n<p class=\"wp-block-paragraph\">Today&#8217;s critical infrastructure sectors (such as aerospace, finance, energy networks, precision agriculture) rely heavily on PNT (positioning, navigation and timing) systems. These systems can and need to be resilient to disturbances with varying strictness. For example, the flight guidance system of a plane requires extreme trustworthiness and resilience. The first step towards resilience is realizing the extent to which your organization relies on PNT information, and what the capabilities are of your current system. It is crucial to be aware of your organization&#8217;s current capabilities, and of the remaining areas of improvement, to ensure a sufficiently resilient infrastructure for your application.<\/p>\n<p><\/p>\n<p class=\"wp-block-paragraph\">This questionnaire is aimed at providing an estimation of the resilience level of your organization&#8217;s PNT system. It will take you through approximately 40 questions, and in the end will provide you with:<\/p>\n<p><\/p>\n<ul class=\"wp-block-list\">\n<li>An estimation of the overall resilience of your PNT system<\/li>\n\n<li>Indicative sub-scores in different key aspects of resilience<\/li>\n<\/ul>\n<p><\/p>\n<p class=\"wp-block-paragraph\">Because of the potentially sensitive nature of the information required to complete the questionnaire, your data is not collected or shared in any way. The answers are only temporarily stored in your browser to allow you to take breaks and come back directly to where you stopped. The questionnaire is expected to take between one and two hours to complete.<\/p>\n<p><\/p>\n<p class=\"wp-block-paragraph\">This questionnaire is intended for people familiar with basic concepts of GNSS and PNT systems, as well as with the PNT system of their organization.<\/p>\n<p><\/p>\n<p class=\"wp-block-paragraph\">The questions are not always easy to answer. To help you in the process, several resources and courses (including a GNSS masterclass) are available on this website if you need to refresh and complete your knowledge, starting from <a href=\"https:\/\/pntportal.eu\/index.php\/introduction-positioning-timing-and-navigation-services\/\">here<\/a>. In addition, we advise that the questionnaire is completed with the input of the person(s) operating your organization&#8217;s PNT system.<\/p>\n<p><\/p>\n<p class=\"wp-block-paragraph\">In order to help you get started with the questionnaire, we provide two example systems representing two different resilience levels. Both describe a timing system based on a GNSS receiver. The purpose of these examples is to showcase what a PNT system may look like in real life, and to serve as an inspiration by showing how one might answer the questions for this specific case.<\/p>\n<p><\/p>\n<p class=\"wp-block-paragraph\">The example cases are not ideal systems, nor the most common setups; just examples of some of the functionalities one should search for in their own system to be able to fill in the questionnaire.<\/p>\n<p><\/p>\n<p class=\"wp-block-paragraph\">A simple and complex example can be viewed under their tabs below. The answers corresponding to each example can be accessed during the questionnaire by hovering your mouse cursor over this icon: <span class=\"info-icon\" style=\"cursor: help;\" title=\"This is an example\">\u2139\ufe0f<\/span><\/p>\n<p><\/p>\n<p class=\"wp-block-paragraph\">Once you have completed the questionnaire, we invite you to further look into the areas of improvement that may have been highlighted. Information is available on this website to assist you <a href=\"https:\/\/pntportal.eu\/index.php\/mitigation-strategies\/\">here<\/a>.<\/p>\n<p><\/p>\n<p class=\"wp-block-paragraph\">Please note that the questionnaire is only a tool intended to provide an estimation of the resilience of your organization&#8217;s PNT system and does not constitute a diagnostic or validation of its actual resilience. If you require further analysis of the outcome of the questionnaire or want to act upon it, please contact <a href=\"mailto:info@gnss-coe.eu\">info@gnss-coe.eu<\/a><\/p>\n<p>It can be helpful to save and print the results of the questionnaire for this purpose.<\/p>\n<p>The following levels of resilience we set by US Resilient Positioning, Navigation, Timing Conformance Framework and they have a cumulative structure, meaning that each level requirements are incorporated to the next. The ascending order is aligned with the level of resilience but not all applications require the maximum level 4.<\/p>\n<ul>\n<li><strong>Level 0<\/strong>: <u>Does not meet the criteria of Level 1, and is thus considered a non-resilient system.<\/u><\/li>\n<\/ul>\n<p>This level characterizes the system as non-resilient for possible acceptance and\/or usage of unverified input (eg. Spoofing), and for requiring manual intervention for enabling the recovery process.<\/p>\n<ul>\n<li><strong>Level 1<\/strong>: <u>Ensures recoverability of solution after the removal of the threat<\/u><\/li>\n<\/ul>\n<p>As a first level of resilience recovery to the nominal behaviour is the goal, after the failure or non-existence of previous lines of defence (prevention, response etc.). \u00a0This can lead to data system outage when recovering. The main level requirements are:<\/p>\n<ol>\n<li>Verification of input data based on compliance with international standards.<\/li>\n<li>Ability to apply full system recovery with memory reset, return to operational status with nominal performance.<\/li>\n<li>Secure ability of firmware update.<\/li>\n<\/ol>\n<ul>\n<li><strong>Level 2<\/strong>: <u>Provides a solution (possibly with unbounded degradation) during threat<\/u><\/li>\n<\/ul>\n<p>This level incorporates the requirements of level 1. The system should be able to provide even degraded PNT solutions under theat, which are not bounded by thresholds. Moreover it should fulfil the following requirements.<\/p>\n<ol start=\"4\">\n<li>Identification of malware PNT sources (eg. Spoofers) and neglection of their contribution to false PNT solution.<\/li>\n<li>Support of automatic system recovery.<\/li>\n<\/ol>\n<ul>\n<li><strong>Level 3<\/strong>:<u> Provides a solution (with bounded degradation) during threat<\/u><\/li>\n<\/ul>\n<p>This level, adds for the first time in the ascending level chain, the system threat response option, resulting in a continuous PNT solution which can be degraded but bounded by certain performance thresholds. To build such a systems is a comple procedure which might lead to software and hardware development. \u00a0The following additional requirements are:<\/p>\n<ol start=\"6\">\n<li>The system can isolate corrupted from not corrupted data coming from different sources.<\/li>\n<li>The system can apply cross-verification techniques between multiple PNT sources.<\/li>\n<\/ol>\n<ul>\n<li><strong>Level 4<\/strong>: <u>Provides a solution without degradation during threat.<\/u><\/li>\n<\/ul>\n<p>This is the highest level of GNSS resilience and it comes with \u201cNo degradation to Performance\u201d criterion, which requires the following requirement with some important notes:<\/p>\n<ol start=\"8\">\n<li>PNT source\u00a0 diversification for threat mitigation.<\/li>\n<\/ol>\n<p>Note: Increase of PNT sources does not ensure system resilience as new vulnerabilities can potentially be added. Therefore separate criteria testing for each new PNT source shall be met.<\/p>\n<p>Source: U.S. Department of Homeland Security. (2022, May 31).\u00a0<em>ST resilient PNT conformance framework<\/em>. https:\/\/www.dhs.gov\/publication\/st-resilient-pnt-conformance-framework<\/p>\n<p><\/p>\n<p class=\"wp-block-paragraph\">If you have any questions about resilience, please contact us via: <a href=\"mailto:info@gnss-coe.eu\">info@gnss-coe.eu<\/a><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-accordion-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-3762\" class=\"elementor-tab-title\" data-tab=\"2\" role=\"button\" aria-controls=\"elementor-tab-content-3762\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon elementor-accordion-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-closed\"><svg class=\"e-font-icon-svg e-fas-plus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-opened\"><svg class=\"e-font-icon-svg e-fas-minus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-accordion-title\" tabindex=\"0\">Simple example<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-3762\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"region\" aria-labelledby=\"elementor-tab-title-3762\"><p>The example below describes a very simple timing system (based on the Resiliency Level 1 example of the US-framework). The purpose of this architecture is to showcase what a PNT system may look like in real life, and to serve as an inspiration by showing how one might answer the questions for this specific case.<\/p>\n<p>This is not an ideal system, nor the most common setup; just an example of some of the functionalities one should search for in their own system to be able to fill in the questionnaire.<\/p>\n<p>This example is available for all questions and can be accessed by pressing the \u201cshow example\u201d button.<\/p>\n<p>The simple timing PNT system in this example is used by a company for time synchronisation of transactions. The primary output of the system is time information, provided to the company network.<\/p>\n<p>The system has a small GNSS antenna located on a tall rooftop, rising high above nearby buildings. This roughly hand sized device is not visible from below, and the rooftop is only accessible to authorized personnel. The antenna is capable of receiving signals from multiple frequencies, and constellations (Galileo, GPS, GLONASS, BeiDou).<\/p>\n<p>Connected to the antenna is a GNSS receiver inside the building in a secure location, connected to the antenna by a long wire. It is only accessible to authorized personnel, and authorized devices on the local network. The receiver&#8217;s output is securely stored and transferred, and not accessible through the internet or other open channels. The receiver is configured to receive only simple unencrypted GPS signals for which it verifies that the message conforms to the standard format. The system is configured to only listen to GPS L1 band signals, despite having the hardware and software capabilities to handle multiple constellations and frequency bands. There are advanced options (integrity monitoring and interference detection) implemented in the receiver, but these are not enabled. Although the advanced settings are not enabled, the receiver checks if the received signal\u2019s strength is in the nominal range (not too high or low) which can be considered a very simple jamming detection method. There is a 10 degrees elevation mask configured in the receiver, meaning that the receiver only considers satellites that are at minimum 10 degrees elevation above the horizon.<\/p>\n<p>The specifics of the hardware (antenna, GNSS receiver) or the processing software are neither public, nor general knowledge in the organization. The location of the PNT system\u2019s components is monitored by security cameras. There is a UPS system providing power in case of an outage. Authorized personnel may restart the system (for instance reboot the GNSS receiver) in case it is needed.<\/p>\n<p>There is a small group of engineers (not necessarily with deep GNSS background) responsible for maintenance, and they regularly check for software\/firmware updates on the GNSS receiver&#8217;s manufacturer\u2019s website (who continues to provide support for the device). If they have no deep GNSS knowledge, these engineers may not be aware of the advanced settings of the receiver, only the maintenance of the already functioning system.<\/p>\n<p>The system outputs timing information based primarily on GPS signals, which is not cross-checked with timing servers on the internet or other local redundant timing sources.<\/p>\n<div>\u00a0<\/div>\n<div><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-1867 size-full\" src=\"https:\/\/pntportal.eu\/wp-content\/uploads\/2024\/04\/GNSSResilienceSimple.png\" alt=\"\" width=\"585\" height=\"637\" srcset=\"https:\/\/pntportal.eu\/wp-content\/uploads\/2024\/04\/GNSSResilienceSimple.png 585w, https:\/\/pntportal.eu\/wp-content\/uploads\/2024\/04\/GNSSResilienceSimple-276x300.png 276w\" sizes=\"(max-width: 585px) 100vw, 585px\" \/><\/div><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-accordion-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-3763\" class=\"elementor-tab-title\" data-tab=\"3\" role=\"button\" aria-controls=\"elementor-tab-content-3763\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon elementor-accordion-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-closed\"><svg class=\"e-font-icon-svg e-fas-plus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-opened\"><svg class=\"e-font-icon-svg e-fas-minus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-accordion-title\" tabindex=\"0\">Complex example<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-3763\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"region\" aria-labelledby=\"elementor-tab-title-3763\"><p>The example below describes a more complex and resilient timing system. The purpose of this architecture is to showcase what a PNT system may look like in real life, and to serve as an inspiration by showing how one might answer the questions for this specific case.<\/p>\n<p>This is not an ideal system, nor the most common setup; just an example of some of the functionalities one should search for in their own system to be able to fill in the questionnaire. It does contain significant improvements compared to the simple example given previously.<\/p>\n<p>This example is available for all questions and can be accessed by pressing the \u201cshow example\u201d button.<\/p>\n<p>The timing PNT system has two small anti-jamming antennas located on a tall rooftop, rising high above nearby buildings. These devices are not visible from below, and the rooftop is only accessible to authorized personnel. The antennas are capable of receiving signals from multiple frequencies, and constellations (Galileo, GPS, GLONASS, BeiDou).<\/p>\n<p>The GNSS receiver is inside the building in a secure location, connected to the antennas by long wires. It is only accessible to authorized personnel, and authorized devices on the local network. The receiver&#8217;s output is securely stored and transferred, and not accessible through the internet or other open channels. The receiver is configured to receive both simple unencrypted GPS signals and OSNMA authenticated Galileo E1 signals for which it verifies that the messages conform to the standard format. The system is configured to listen to multiple frequency bands (Galileo E1 and E5, GPS L1 and L5 signals) which allows for advanced corrections and provides extra redundancy. There are advanced options (integrity monitoring and interference detection) implemented in the receiver, which are enabled. The receiver also checks if the received signal\u2019s strength is in the nominal range (not too high or low) which can be considered a very simple jamming detection method. There is a 10 degrees elevation mask configured in the receiver, meaning that the receiver only considers satellites that are at minimum 10 degrees elevation above the horizon.<\/p>\n<p>The specifics of the hardware (antennas, GNSS receiver) or the processing software are neither public, nor general knowledge in the organization. The location of the PNT system\u2019s components is monitored by security cameras. There is a UPS providing backup power in case of an outage. Authorized personnel may restart the system (for instance reboot the GNSS receiver) in case it is needed.<\/p>\n<p>There is a small group of engineers (with GNSS background) responsible for maintenance, and they regularly check for software\/firmware updates on the GNSS receiver\u2019s manufacturer\u2019s website (who continues to provide support for the device).<\/p>\n<p>The system outputs timing information based primarily on GNSS signals, which is cross-checked with a timing-server through the internet, and a local redundant timing source (clock).<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1866 size-full\" src=\"https:\/\/pntportal.eu\/wp-content\/uploads\/2024\/04\/GNSSResilienceComplex.png\" alt=\"\" width=\"631\" height=\"650\" srcset=\"https:\/\/pntportal.eu\/wp-content\/uploads\/2024\/04\/GNSSResilienceComplex.png 631w, https:\/\/pntportal.eu\/wp-content\/uploads\/2024\/04\/GNSSResilienceComplex-291x300.png 291w\" sizes=\"(max-width: 631px) 100vw, 631px\" \/><\/p>\n<div>\u00a0<\/div><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-833c712 e-flex e-con-boxed e-con e-parent\" data-id=\"833c712\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-493f836 elementor-widget elementor-widget-heading\" data-id=\"493f836\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Resilience assessment questionnaire<br><br>No data will be collected when you fill in the answers below. <br>So don't leave or refresh the page, or your answers will be lost.<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-283ec13 e-flex e-con-boxed e-con e-parent\" data-id=\"283ec13\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b558727 elementor-widget elementor-widget-shortcode\" data-id=\"b558727\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <script>\n        document.addEventListener(\"DOMContentLoaded\", function() {\n            var resilienceCoverageIndexElement = document.getElementById(\"resilienceCoverageIndex\");\n            var totalResilienceCoverageElement = document.getElementById(\"totalResilienceCoverageElement\");\n            var resilienceCoverageIndexElementGI = document.getElementById(\"resilienceCoverageIndexGI\");\n            var totalResilienceCoverageElementGI = document.getElementById(\"totalResilienceCoverageElementGI\");\n            var resilienceCoverageIndexElementO = document.getElementById(\"resilienceCoverageIndexO\");\n            var totalResilienceCoverageElementO = document.getElementById(\"totalResilienceCoverageElementO\");\n            var resilienceCoverageIndexElementLIM = document.getElementById(\"resilienceCoverageIndexLIM\");\n            var totalResilienceCoverageElementLIM = document.getElementById(\"totalResilienceCoverageElementLIM\");\n            var resilienceCoverageIndexElementV = document.getElementById(\"resilienceCoverageIndexV\");\n            var totalResilienceCoverageElementV = document.getElementById(\"totalResilienceCoverageElementV\");\n            var resilienceCoverageIndexElementIS = document.getElementById(\"resilienceCoverageIndexIS\");\n            var totalResilienceCoverageElementIS = document.getElementById(\"totalResilienceCoverageElementIS\");\n            var resilienceCoverageIndexElementDIV = document.getElementById(\"resilienceCoverageIndexDIV\");\n            var totalResilienceCoverageElementDIV = document.getElementById(\"totalResilienceCoverageElementDIV\");\n            var resilienceCoverageIndexElementM = document.getElementById(\"resilienceCoverageIndexM\");\n            var totalResilienceCoverageElementM = document.getElementById(\"totalResilienceCoverageElementM\");\n            var resilienceCoverageIndexElementREC = document.getElementById(\"resilienceCoverageIndexREC\");\n            var totalResilienceCoverageElementREC = document.getElementById(\"totalResilienceCoverageElementREC\");\n            var gi1_value = 0;\n            var gi2_value = 0;\n            var gi3_value = 0;\n            var o1_value = 0;\n            var o2_value = 0;\n            var o3_value = 0;\n            var o4_value = 0;\n            var o5_value = 0;\n            var lim1_value = 0;\n            var lim2_value = 0;\n            var lim3_value = 0;\n            var lim4_value = 0;\n            var lim5_value = 0;\n            var lim6a_value = 0;\n            var lim6b_value = 0;\n            var lim7_value = 0;\n            var lim8_value = 0;\n            var lim9_value = 0;\n            var v1_value = 0;\n            var v2_value = 0;\n            var v3_value = 0;\n            var v4_value = 0;\n            var v5_value = 0;\n            var v6_value = 0;\n            var v7_value = 0;\n            var v8_value = 0;\n            var v9_value = 0;\n            var is1_value = 0;\n            var is2_value = 0;\n            var is3_value = 0;\n            var div1_value = 0;\n            var div2_value = 0;\n            var div3_value = 0;\n            var div4_value = 0;\n            var div5_value = 0;\n            var div6_value = 0;\n            var div7_value = 0;\n            var div8_value = 0;\n            var div9_value = 0;\n            var m1_value = 0;\n            var m2_value = 0;\n            var rec1_value = 0;\n            var rec2_value = 0;\n            var rec3_value = 0;\n            var rec4_value = 0;\n            var rec5_value = 0;\n\n            \/\/ function countAnsweredQuestions() {\n            \/\/     var answeredQuestions = document.querySelectorAll('input[name=\"question\"]:checked').length;\n            \/\/     return answeredQuestions;\n            \/\/ }\n\n            function updateValue() {\n                gi1_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"gi1\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"gi1\"]:checked').value : 0);\n                gi2_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"gi2\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"gi2\"]:checked').value : 0);\n                gi3_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"gi3\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"gi3\"]:checked').value : 0);\n                o1_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"o1\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"o1\"]:checked').value : 0);\n                o2_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"o2\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"o2\"]:checked').value : 0);\n                o3_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"o3\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"o3\"]:checked').value : 0);\n                o4_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"o4\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"o4\"]:checked').value : 0);\n                o5_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"o5\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"o5\"]:checked').value : 0);\n                lim1_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"lim1\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"lim1\"]:checked').value : 0);\n                lim2_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"lim2\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"lim2\"]:checked').value : 0);\n                lim3_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"lim3\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"lim3\"]:checked').value : 0);\n                lim4_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"lim4\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"lim4\"]:checked').value : 0);\n                lim5_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"lim5\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"lim5\"]:checked').value : 0);\n                lim6a_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"lim6a\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"lim6a\"]:checked').value : 0);\n                lim6b_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"lim6b\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"lim6b\"]:checked').value : 0);\n                lim7_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"lim7\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"lim7\"]:checked').value : 0);\n                lim8_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"lim8\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"lim8\"]:checked').value : 0);\n                lim9_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"lim9\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"lim9\"]:checked').value : 0);\n                v1_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"v1\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"v1\"]:checked').value : 0);\n                v2_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"v2\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"v2\"]:checked').value : 0);\n                v3_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"v3\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"v3\"]:checked').value : 0);\n                v4_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"v4\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"v4\"]:checked').value : 0);\n                v5_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"v5\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"v5\"]:checked').value : 0);\n                v6_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"v6\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"v6\"]:checked').value : 0);\n                v7_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"v7\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"v7\"]:checked').value : 0);\n                v8_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"v8\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"v8\"]:checked').value : 0);\n                v9_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"v9\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"v9\"]:checked').value : 0);\n                is1_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"is1\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"is1\"]:checked').value : 0);\n                is2_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"is2\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"is2\"]:checked').value : 0);\n                is3_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"is3\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"is3\"]:checked').value : 0);\n                div1_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"div1\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"div1\"]:checked').value : 0);\n                div2_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"div2\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"div2\"]:checked').value : 0);\n                div3_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"div3\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"div3\"]:checked').value : 0);\n                div4_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"div4\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"div4\"]:checked').value : 0);\n                div5_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"div5\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"div5\"]:checked').value : 0);\n                div6_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"div6\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"div6\"]:checked').value : 0);\n                div7_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"div7\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"div7\"]:checked').value : 0);\n                div8_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"div8\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"div8\"]:checked').value : 0);\n                div9_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"div9\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"div9\"]:checked').value : 0);\n                m1_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"m1\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"m1\"]:checked').value : 0);\n                m2_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"m2\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"m2\"]:checked').value : 0);\n                rec1_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"rec1\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"rec1\"]:checked').value : 0);\n                rec2_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"rec2\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"rec2\"]:checked').value : 0);\n                rec3_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"rec3\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"rec3\"]:checked').value : 0);\n                rec4_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"rec4\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"rec4\"]:checked').value : 0);\n                rec5_value = parseInt(document.querySelector('input[name=\"question\"][data-question=\"rec5\"]:checked') ? document.querySelector('input[name=\"question\"][data-question=\"rec5\"]:checked').value : 0);\n\n\n                \/\/ var answeredQuestions = countAnsweredQuestions();\n                \/\/ \/\/ Update the total number of answered questions\n                \/\/ totalQuestionsAnsweredElement.textContent = \"Total Answered Questions: \" + answeredQuestions;\n\n                \/\/TOTAL resilienceCoverageIndexElement\n                \/\/ if (resilienceCoverageIndexElement) {\n                \/\/     var resilienceCoverageIndex = gi1_value + gi2_value + gi3_value +\n                \/\/         o1_value + o2_value + o3_value + o4_value + o5_value +\n                \/\/         lim1_value + lim2_value + lim3_value + lim4_value + lim5_value + lim6a_value + lim6b_value + lim7_value + lim8_value + lim9_value +\n                \/\/         v1_value + v2_value + v3_value + v4_value + v5_value + v6_value + v7_value + v8_value + v9_value +\n                \/\/         is1_value + is2_value + is3_value +\n                \/\/         div1_value + div2_value + div3_value + div4_value + div5_value + div6_value + div7_value + div8_value + div9_value +\n                \/\/         m1_value + m2_value +\n                \/\/         rec1_value + rec2_value + rec3_value + rec4_value + rec5_value;\n\n\n                \/\/     var totalResilienceCoverage = (resilienceCoverageIndex \/ answeredQuestions) * 10;\n                \/\/     \/\/46 questions total\n\n                \/\/     resilienceCoverageIndexElement.textContent = \"Resilience Coverage Index: \" + resilienceCoverageIndex;\n                \/\/     if (totalResilienceCoverageElement) {\n                \/\/         totalResilienceCoverageElement.textContent = \"Total Resilience Coverage: \" + totalResilienceCoverage;\n                \/\/     } else {\n                \/\/         console.error(\"totalResilienceCoverageElement is null\");\n                \/\/     }\n                \/\/ }\n\n                \/\/GENERAL INFORMATION resilienceCoverageIndexElementGI\n                if (resilienceCoverageIndexElementGI) {\n                    var resilienceCoverageIndexGI = gi1_value + gi2_value + gi3_value;\n\n                    var totalResilienceCoverageGI = (resilienceCoverageIndexGI \/ 4) * 10;\n                    \/\/ 3 questions total\n\n                    \/\/ Update the general information resilience coverage\n                    \/\/ totalResilienceCoverageElementGI.textContent = \"General Information Resilience Coverage: \" + totalResilienceCoverageGI.toFixed(1);\n\n                    \/\/ Initialize the element for displaying the rating\n                    var totalResilienceCoverageElementRatingGI = document.getElementById('resilienceCoverageElementRatingGI'); \/\/ Make sure this element exists in your HTML\n\n                    if (resilienceCoverageIndexElementGI) {\n                        var resilienceCoverageIndexGI = gi1_value + gi2_value + gi3_value;\n\n                        var totalResilienceCoverageGI = (resilienceCoverageIndexGI \/ 4) * 10;\n\n                        \/\/ Update the general information resilience coverage\n                        \/\/ totalResilienceCoverageElementGI.textContent = \"General Information Resilience Coverage: \" + totalResilienceCoverageGI.toFixed(1);\n\n                        \/\/ Initialize the element for displaying the rating\n                        var totalResilienceCoverageElementRatingGI = document.getElementById('resilienceCoverageElementRatingGI'); \/\/ Make sure this element exists in your HTML\n\n                        if (totalResilienceCoverageElementRatingGI) {\n                            if (totalResilienceCoverageGI <= 2.5) {\n                                \/\/ totalResilienceCoverageElementRatingGI.innerHTML = \"General Information Resilience Coverage Rating: <b style='color: red;'>Level 0<br>Does not meet the criteria of Level 1, and is thus considered a non-resilient system.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                                totalResilienceCoverageElementRatingGI.innerHTML = \"\";\n                            } else if (totalResilienceCoverageGI > 2.5 && totalResilienceCoverageGI < 5) {\n                                \/\/ totalResilienceCoverageElementRatingGI.innerHTML = \"General Information Resilience Coverage Rating: <b style='color: orange;'>Level 1 <br>Ensures recoverability of solution after the removal of the threat.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                                totalResilienceCoverageElementRatingGI.innerHTML = \"\";\n                            } else if (totalResilienceCoverageGI >= 5 && totalResilienceCoverageGI < 7.5) {\n                                \/\/ totalResilienceCoverageElementRatingGI.innerHTML = \"General Information Resilience Coverage Rating: <b style='color: dark yellow;'>Level 2 <br>Provides a solution (possibly with unbounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                                totalResilienceCoverageElementRatingGI.innerHTML = \"\";                            \n                            } else if (totalResilienceCoverageGI >= 7.5 && totalResilienceCoverageGI <= 9.9) {\n                                \/\/ totalResilienceCoverageElementRatingGI.innerHTML = \"General Information Resilience Coverage Rating: <b style='color: green;'>Level 3 <br>Provides a solution (with bounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                                totalResilienceCoverageElementRatingGI.innerHTML = \"\";\n                            } else if (totalResilienceCoverageGI >= 10) {\n                                \/\/ totalResilienceCoverageElementRatingGI.innerHTML = \"General Information Resilience Coverage Rating: <b style='color: blue;'>Level 4 <br>Provides a solution without degradation during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                                totalResilienceCoverageElementRatingGI.innerHTML = \"\";                            \n                            } else {\n                                console.error(\"Unexpected value for totalResilienceCoverageGI\");\n                            }\n                        } else {\n                            console.error(\"totalResilienceCoverageElementRatingGI is null\");\n                        }\n                    } else {\n                        console.error(\"resilienceCoverageIndexElementGI is null\");\n                    }\n\n                    \n                    \n                \n            \n\n            \/\/OBFUSCATE resilienceCoverageIndexElementO\n            if (resilienceCoverageIndexElementO) {\n                var resilienceCoverageIndexO = o1_value + o2_value + o3_value + o4_value + o5_value;\n\n                var totalResilienceCoverageO = (resilienceCoverageIndexO \/ 6) * 10;\n                \/\/5 questions total\n\n                \/\/ resilienceCoverageIndexElementO.textContent = \"Resilience Coverage Index Obfuscate: \" + resilienceCoverageIndexO;\n                \/\/ totalResilienceCoverageElementO.textContent = \"Obfuscate Resilience Coverage: \" + totalResilienceCoverageO.toFixed(1);\n\n                \/\/ Initialize the element for displaying the rating\n                var totalResilienceCoverageElementRatingO = document.getElementById('resilienceCoverageElementRatingO'); \/\/ Make sure this element exists in your HTML\n\n                if (totalResilienceCoverageElementRatingO) {\n                            if (totalResilienceCoverageO <= 2.5) {\n                                totalResilienceCoverageElementRatingO.innerHTML = \"Obfuscate Resilience Coverage Rating: <b style='color: red;'>Level 0<br>Does not meet the criteria of Level 1, and is thus considered a non-resilient system.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageO >= 2.5 && totalResilienceCoverageO < 5) {\n                                totalResilienceCoverageElementRatingO.innerHTML = \"Obfuscate Resilience Coverage Rating: <b style='color: orange;'>Level 1 <br>Ensures recoverability of solution after the removal of the threat.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageO >= 5 && totalResilienceCoverageO < 7.5) {\n                                totalResilienceCoverageElementRatingO.innerHTML = \"Obfuscate Resilience Coverage Rating: <b style='color: dark yellow;'>Level 2 <br>Provides a solution (possibly with unbounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageO >= 7.5 && totalResilienceCoverageO <= 9.9) {\n                                totalResilienceCoverageElementRatingO.innerHTML = \"Obfuscate Resilience Coverage Rating: <b style='color: green;'>Level 3 <br>Provides a solution (with bounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageO >= 10) {\n                                totalResilienceCoverageElementRatingO.innerHTML = \"Obfuscate Resilience Coverage Rating: <b style='color: blue;'>Level 4 <br>Provides a solution without degradation during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else {\n                                console.error(\"Unexpected value for totalResilienceCoverageO\");\n                            }\n                        } else {\n                            console.error(\"totalResilienceCoverageElementRatingO is null\");\n                        }\n                    } else {\n                        console.error(\"resilienceCoverageIndexElementO is null\");\n                    }\n                \n\n            \n\n            \/\/LIMIT resilienceCoverageIndexElementLIM\n            if (resilienceCoverageIndexElementLIM) {\n                var resilienceCoverageIndexLIM = lim1_value + lim2_value + lim3_value + lim4_value + lim5_value + lim6a_value + lim6b_value + lim7_value + lim8_value + lim9_value;\n\n                var totalResilienceCoverageLIM = (resilienceCoverageIndexLIM \/ 10) * 10;\n                \/\/9 questions total\n\n                \/\/ resilienceCoverageIndexElementLIM.textContent = \"Resilience Coverage Index Limit: \" + resilienceCoverageIndexLIM;\n                \/\/ totalResilienceCoverageElementLIM.textContent = \"Limit Resilience Coverage: \" + totalResilienceCoverageLIM.toFixed(1);\n\n                \/\/ Initialize the element for displaying the rating\n                var totalResilienceCoverageElementRatingLIM = document.getElementById('resilienceCoverageElementRatingLIM'); \/\/ Make sure this element exists in your HTML\n\n                if (totalResilienceCoverageElementRatingLIM) {\n                            if (totalResilienceCoverageLIM <= 2.5) {\n                                totalResilienceCoverageElementRatingLIM.innerHTML = \"Limit Resilience Coverage Rating: <b style='color: red;'>Level 0<br>Does not meet the criteria of Level 1, and is thus considered a non-resilient system.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageLIM > 2.5 && totalResilienceCoverageLIM < 5) {\n                                totalResilienceCoverageElementRatingLIM.innerHTML = \"Limit Resilience Coverage Rating: <b style='color: orange;'>Level 1 <br>Ensures recoverability of solution after the removal of the threat.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageLIM >= 5 && totalResilienceCoverageLIM < 7.5) {\n                                totalResilienceCoverageElementRatingLIM.innerHTML = \"Limit Resilience Coverage Rating: <b style='color: dark yellow;'>Level 2 <br>Provides a solution (possibly with unbounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageLIM >= 7.5 && totalResilienceCoverageLIM <= 9.9) {\n                                totalResilienceCoverageElementRatingLIM.innerHTML = \"Limit Resilience Coverage Rating: <b style='color: green;'>Level 3 <br>Provides a solution (with bounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageLIM >= 10) {\n                                totalResilienceCoverageElementRatingLIM.innerHTML = \"Limit Resilience Coverage Rating: <b style='color: blue;'>Level 4 <br>Provides a solution without degradation during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else {\n                                console.error(\"Unexpected value for totalResilienceCoverageLIM\");\n                            }\n                        } else {\n                            console.error(\"totalResilienceCoverageElementRatingLIM is null\");\n                        }\n                    } else {\n                        console.error(\"resilienceCoverageIndexElementLIM is null\");\n\n            }\n\n\n            \/\/VERIFY resilienceCoverageIndexElementV\n            if (resilienceCoverageIndexElementV) {\n                var resilienceCoverageIndexV = v1_value + v2_value + v3_value + v4_value + v5_value + v6_value + v7_value + v8_value + v9_value;\n\n                var totalResilienceCoverageV = (resilienceCoverageIndexV \/ 10) * 10;\n                \/\/9 questions total\n\n                \/\/ resilienceCoverageIndexElementV.textContent = \"Resilience Coverage Index Verify: \" + resilienceCoverageIndexV;\n                \/\/ totalResilienceCoverageElementV.textContent = \"Verify Resilience Coverage: \" + totalResilienceCoverageV.toFixed(1);\n                \/\/ Initialize the element for displaying the rating\n                var totalResilienceCoverageElementRatingV = document.getElementById('resilienceCoverageElementRatingV'); \/\/ Make sure this element exists in your HTML\n\n                if (totalResilienceCoverageElementRatingV) {\n                            if (totalResilienceCoverageV <= 2.5) {\n                                totalResilienceCoverageElementRatingV.innerHTML = \"Verify Resilience Coverage Rating: <b style='color: red;'>Level 0<br>Does not meet the criteria of Level 1, and is thus considered a non-resilient system.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageV > 2.5 && totalResilienceCoverageV < 5) {\n                                totalResilienceCoverageElementRatingV.innerHTML = \"Verify Resilience Coverage Rating: <b style='color: orange;'>Level 1 <br>Ensures recoverability of solution after the removal of the threat.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageV >= 5 && totalResilienceCoverageV < 7.5) {\n                                totalResilienceCoverageElementRatingV.innerHTML = \"Verify Resilience Coverage Rating: <b style='color: dark yellow;'>Level 2 <br>Provides a solution (possibly with unbounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageV >= 7.5 && totalResilienceCoverageV<= 9.9) {\n                                totalResilienceCoverageElementRatingV.innerHTML = \"Verify Resilience Coverage Rating: <b style='color: green;'>Level 3 <br>Provides a solution (with bounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageV>= 10) {\n                                totalResilienceCoverageElementRatingV.innerHTML = \"Verify Resilience Coverage Rating: <b style='color: blue;'>Level 4 <br>Provides a solution without degradation during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else {\n                                console.error(\"Unexpected value for totalResilienceCoverageV\");\n                            }\n                        } else {\n                            console.error(\"totalResilienceCoverageElementRatingV is null\");\n                        }\n                    } else {\n                        console.error(\"resilienceCoverageIndexElementV is null\");\n            }\n\n            \/\/ISOLATE resilienceCoverageIndexElementIS\n            if (resilienceCoverageIndexElementIS) {\n                var resilienceCoverageIndexIS = is1_value + is2_value + is3_value;\n\n                var totalResilienceCoverageIS = (resilienceCoverageIndexIS \/ 4) * 10;\n                \/\/3 questions total\n\n                \/\/ resilienceCoverageIndexElementIS.textContent = \"Resilience Coverage Index Isolate: \" + resilienceCoverageIndexIS;\n                \/\/ totalResilienceCoverageElementIS.textContent = \"Isolate Resilience Coverage : \" + totalResilienceCoverageIS.toFixed(1);\n                \/\/ Initialize the element for displaying the rating\n                var totalResilienceCoverageElementRatingIS = document.getElementById('resilienceCoverageElementRatingIS'); \/\/ Make sure this element exists in your HTML\n\n                if (totalResilienceCoverageElementRatingIS) {\n                            if (totalResilienceCoverageIS <= 2.5) {\n                                totalResilienceCoverageElementRatingIS.innerHTML = \"Isolate Resilience Coverage Rating: <b style='color: red;'>Level 0<br>Does not meet the criteria of Level 1, and is thus considered a non-resilient system.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageIS > 2.5 && totalResilienceCoverageIS < 5) {\n                                totalResilienceCoverageElementRatingIS.innerHTML = \"Isolate Resilience Coverage Rating: <b style='color: orange;'>Level 1 <br>Ensures recoverability of solution after the removal of the threat.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageIS >= 5 && totalResilienceCoverageIS < 7.5) {\n                                totalResilienceCoverageElementRatingIS.innerHTML = \"Isolate Resilience Coverage Rating: <b style='color: dark yellow;'>Level 2 <br>Provides a solution (possibly with unbounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageIS >= 7.5 && totalResilienceCoverageIS<= 9.9) {\n                                totalResilienceCoverageElementRatingIS.innerHTML = \"Isolate Resilience Coverage Rating: <b style='color: green;'>Level 3 <br>Provides a solution (with bounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageIS>= 10) {\n                                totalResilienceCoverageElementRatingIS.innerHTML = \"Isolate Resilience Coverage Rating: <b style='color: blue;'>Level 4 <br>Provides a solution without degradation during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else {\n                                console.error(\"Unexpected value for totalResilienceCoverageIS\");\n                            }\n                        } else {\n                            console.error(\"totalResilienceCoverageElementRatingIS is null\");\n                        }\n                    } else {\n                        console.error(\"resilienceCoverageIndexElementIS is null\");\n            }\n\n            \/\/DIVERSIFY resilienceCoverageIndexElementDIV\n            if (resilienceCoverageIndexElementDIV) {\n                var resilienceCoverageIndexDIV = div1_value + div2_value + div3_value + div4_value + div5_value + div6_value + div7_value + div8_value + div9_value;\n\n                var totalResilienceCoverageDIV = (resilienceCoverageIndexDIV \/ 10) * 10;\n                \/\/9 questions total\n\n                \/\/ resilienceCoverageIndexElementDIV.textContent = \"Resilience Coverage Index Diversify: \" + resilienceCoverageIndexDIV;\n                \/\/ totalResilienceCoverageElementDIV.textContent = \"Diversify Resilience Coverage: \" + totalResilienceCoverageDIV.toFixed(1);\n                \/\/ Initialize the element for displaying the rating\n                var totalResilienceCoverageElementRatingDIV = document.getElementById('resilienceCoverageElementRatingDIV'); \/\/ Make sure this element exists in your HTML\n\n                if (totalResilienceCoverageElementRatingDIV) {\n                            if (totalResilienceCoverageDIV <= 2.5) {\n                                totalResilienceCoverageElementRatingDIV.innerHTML = \"Diversify Resilience Coverage Rating: <b style='color: red;'>Level 0<br>Does not meet the criteria of Level 1, and is thus considered a non-resilient system.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageDIV > 2.5 && totalResilienceCoverageDIV < 5) {\n                                totalResilienceCoverageElementRatingDIV.innerHTML = \"Diversify Resilience Coverage Rating: <b style='color: orange;'>Level 1 <br>Ensures recoverability of solution after the removal of the threat.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageDIV >= 5 && totalResilienceCoverageDIV < 7.5) {\n                                totalResilienceCoverageElementRatingDIV.innerHTML = \"Diversify Resilience Coverage Rating: <b style='color: dark yellow;'>Level 2 <br>Provides a solution (possibly with unbounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageDIV >= 7.5 && totalResilienceCoverageDIV <= 9.9) {\n                                totalResilienceCoverageElementRatingDIV.innerHTML = \"Diversify Resilience Coverage Rating: <b style='color: green;'>Level 3 <br>Provides a solution (with bounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageDIV>= 10) {\n                                totalResilienceCoverageElementRatingDIV.innerHTML = \"Diversify Resilience Coverage Rating: <b style='color: blue;'>Level 4 <br>Provides a solution without degradation during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else {\n                                console.error(\"Unexpected value for totalResilienceCoverageDIV\");\n                            }\n                        } else {\n                            console.error(\"totalResilienceCoverageElementRatingDIV is null\");\n                        }\n                    } else {\n                        console.error(\"resilienceCoverageIndexElementDIV is null\");\n            }\n\n            \/\/MITIGATE resilienceCoverageIndexElementM\n            if (resilienceCoverageIndexElementM) {\n                var resilienceCoverageIndexM = m1_value + m2_value;\n\n                var totalResilienceCoverageM = (resilienceCoverageIndexM \/ 3) * 10;\n                \/\/2 questions total\n\n                \/\/ resilienceCoverageIndexElementM.textContent = \"Resilience Coverage Index Mitigate: \" + resilienceCoverageIndexM;\n                \/\/ totalResilienceCoverageElementM.textContent = \"Mitigate Resilience Coverage: \" + totalResilienceCoverageM.toFixed(1);\n                var totalResilienceCoverageElementRatingM = document.getElementById('resilienceCoverageElementRatingM'); \/\/ Make sure this element exists in your HTML\n\n                if (totalResilienceCoverageElementRatingM) {\n                            if (totalResilienceCoverageM <= 2.5) {\n                                totalResilienceCoverageElementRatingM.innerHTML = \"Mitigate Resilience Coverage Rating: <b style='color: red;'>Level 0<br>Does not meet the criteria of Level 1, and is thus considered a non-resilient system.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageM > 2.5 && totalResilienceCoverageM < 5) {\n                                totalResilienceCoverageElementRatingM.innerHTML = \"Mitigate Resilience Coverage Rating: <b style='color: orange;'>Level 1 <br>Ensures recoverability of solution after the removal of the threat.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageM >= 5 && totalResilienceCoverageM < 7.5) {\n                                totalResilienceCoverageElementRatingM.innerHTML = \"Mitigate Resilience Coverage Rating: <b style='color: dark yellow;'>Level 2 <br>Provides a solution (possibly with unbounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageM >= 7.5 && totalResilienceCoverageM <= 9.9) {\n                                totalResilienceCoverageElementRatingDIV.innerHTML = \"Mitigate Resilience Coverage Rating: <b style='color: green;'>Level 3 <br>Provides a solution (with bounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageM >= 10) {\n                                totalResilienceCoverageElementRatingM.innerHTML = \"Mitigate Resilience Coverage Rating: <b style='color: blue;'>Level 4 <br>Provides a solution without degradation during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else {\n                                console.error(\"Unexpected value for totalResilienceCoverageM\");\n                            }\n                        } else {\n                            console.error(\"totalResilienceCoverageElementRatingM is null\");\n                        }\n                    } else {\n                        console.error(\"resilienceCoverageIndexElementM is null\");\n            }\n\n            \/\/RECOVER resilienceCoverageIndexElementREC\n            if (resilienceCoverageIndexElementREC) {\n                var resilienceCoverageIndexREC = rec1_value + rec2_value + rec3_value + rec4_value + rec5_value;\n\n                var totalResilienceCoverageREC = (resilienceCoverageIndexREC \/ 6) * 10;\n                \/\/5 questions total\n\n                \/\/ resilienceCoverageIndexElementREC.textContent = \"Resilience Coverage Index Recover: \" + resilienceCoverageIndexREC;\n                \/\/ totalResilienceCoverageElementREC.textContent = \"Recover Resilience Coverage: \" + totalResilienceCoverageREC.toFixed(1);\n                var totalResilienceCoverageElementRatingREC = document.getElementById('resilienceCoverageElementRatingREC'); \/\/ Make sure this element exists in your HTML\n\n                if (totalResilienceCoverageElementRatingM) {\n                            if (totalResilienceCoverageM <= 2.5) {\n                                totalResilienceCoverageElementRatingREC.innerHTML = \"Recover Resilience Coverage Rating: <b style='color: red;'>Level 0<br>Does not meet the criteria of Level 1, and is thus considered a non-resilient system.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageREC > 2.5 && totalResilienceCoverageREC < 5) {\n                                totalResilienceCoverageElementRatingREC.innerHTML = \"Recover Resilience Coverage Rating: <b style='color: orange;'>Level 1 <br>Ensures recoverability of solution after the removal of the threat.<br>Please make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageREC >= 5 && totalResilienceCoverageREC < 7.5) {\n                                totalResilienceCoverageElementRatingREC.innerHTML = \"Recover Resilience Coverage Rating: <b style='color: dark yellow;'>Level 2 <br>Provides a solution (possibly with unbounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageREC >= 7.5 && totalResilienceCoverageM <= 9.9) {\n                                totalResilienceCoverageElementRatingREC.innerHTML = \"Recover Resilience Coverage Rating: <b style='color: green;'>Level 3 <br>Provides a solution (with bounded degradation) during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else if (totalResilienceCoverageREC >= 10) {\n                                totalResilienceCoverageElementRatingREC.innerHTML = \"Recover Resilience Coverage Rating: <b style='color: blue;'>Level 4 <br>Provides a solution without degradation during threat.<br>If you have any more questions, make sure to contact us at GNSS: info@gnss-coe.eu<\/b>\";\n                            } else {\n                                console.error(\"Unexpected value for totalResilienceCoverageREC\");\n                            }\n                        } else {\n                            console.error(\"totalResilienceCoverageElementRatingREC is null\");\n                        }\n                    } else {\n                        console.error(\"resilienceCoverageIndexElementREC is null\");\n            }\n        }\n\n            \/\/TOTAL RATING\n            \/\/ var totalResilienceCoverageElementRating = document.getElementById(\"totalResilienceCoverageElementRating\");\n            \/\/ if (totalResilienceCoverage < 5.5) {\n            \/\/     totalResilienceCoverageElementRating.textContent = \"BAD SCORE: Based on this score, we see that you have a lower score than recommended. Please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverage < 9.5) {\n            \/\/     totalResilienceCoverageElementRating.textContent = \"GOOD SCORE: You passed! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverage < 10) {\n            \/\/     totalResilienceCoverageElementRating.textContent = \"GREAT SCORE: Great job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else {\n            \/\/     totalResilienceCoverageElementRating.textContent = \"PERFECT SCORE: Amazing job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ }\n\n            \/\/ \/\/GENERAL INFORMATION RATING\n            \/\/ var totalResilienceCoverageElementRatingGI = document.getElementById(\"totalResilienceCoverageElementRatingGI\");\n            \/\/ if (totalResilienceCoverageGI < 5.5) {\n            \/\/     totalResilienceCoverageElementRatingGI.textContent = \"BAD SCORE: Based on this score, we see that you have a lower score than recommended. Please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageGI < 9.5) {\n            \/\/     totalResilienceCoverageElementRatingGI.textContent = \"GOOD SCORE: You passed! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageGI < 10) {\n            \/\/     totalResilienceCoverageElementRatingGI.textContent = \"GREAT SCORE: Great job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else {\n            \/\/     totalResilienceCoverageElementRatingGI.textContent = \"PERFECT SCORE: Amazing job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ }\n\n            \/\/ \/\/OBFUSCATION RATING\n            \/\/ var totalResilienceCoverageElementRatingO = document.getElementById(\"totalResilienceCoverageElementRatingO\");\n            \/\/ if (totalResilienceCoverageO < 5.5) {\n            \/\/     totalResilienceCoverageElementRatingO.textContent = \"BAD SCORE: Based on this score, we see that you have a lower score than recommended. Please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageO < 9.5) {\n            \/\/     totalResilienceCoverageElementRatingO.textContent = \"GOOD SCORE: You passed! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageO < 10) {\n            \/\/     totalResilienceCoverageElementRatingO.textContent = \"GREAT SCORE: Great job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else {\n            \/\/     totalResilienceCoverageElementRatingO.textContent = \"PERFECT SCORE: Amazing job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ }\n\n            \/\/ \/\/LIMIT RATING\n            \/\/ var totalResilienceCoverageElementRatingLIM = document.getElementById(\"totalResilienceCoverageElementRatingLIM\");\n            \/\/ if (totalResilienceCoverageLIM < 5.5) {\n            \/\/     totalResilienceCoverageElementRatingLIM.textContent = \"BAD SCORE: Based on this score, we see that you have a lower score than recommended. Please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageLIM < 9.5) {\n            \/\/     totalResilienceCoverageElementRatingLIM.textContent = \"GOOD SCORE: You passed! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageLIM < 10) {\n            \/\/     totalResilienceCoverageElementRatingLIM.textContent = \"GREAT SCORE: Great job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else {\n            \/\/     totalResilienceCoverageElementRatingLIM.textContent = \"PERFECT SCORE: Amazing job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ }\n\n            \/\/ \/\/VERIFY RATING\n            \/\/ var totalResilienceCoverageElementRatingV = document.getElementById(\"totalResilienceCoverageElementRatingV\");\n            \/\/ if (totalResilienceCoverageV < 5.5) {\n            \/\/     totalResilienceCoverageElementRatingV.textContent = \"BAD SCORE: Based on this score, we see that you have a lower score than recommended. Please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageV < 9.5) {\n            \/\/     totalResilienceCoverageElementRatingV.textContent = \"GOOD SCORE: You passed! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageV < 10) {\n            \/\/     totalResilienceCoverageElementRatingV.textContent = \"GREAT SCORE: Great job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else {\n            \/\/     totalResilienceCoverageElementRatingV.textContent = \"PERFECT SCORE: Amazing job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ }\n\n            \/\/ \/\/ISOLATE RATING\n            \/\/ var totalResilienceCoverageElementRatingIS = document.getElementById(\"totalResilienceCoverageElementRatingIS\");\n            \/\/ if (totalResilienceCoverageIS < 5.5) {\n            \/\/     totalResilienceCoverageElementRatingIS.textContent = \"BAD SCORE: Based on this score, we see that you have a lower score than recommended. Please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageIS < 9.5) {\n            \/\/     totalResilienceCoverageElementRatingIS.textContent = \"GOOD SCORE: You passed! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageIS < 10) {\n            \/\/     totalResilienceCoverageElementRatingIS.textContent = \"GREAT SCORE: Great job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else {\n            \/\/     totalResilienceCoverageElementRatingIS.textContent = \"PERFECT SCORE: Amazing job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ }\n\n            \/\/ \/\/DIVERSIFY RATING\n            \/\/ var totalResilienceCoverageElementRatingDIV = document.getElementById(\"totalResilienceCoverageElementRatingDIV\");\n            \/\/ if (totalResilienceCoverageDIV < 5.5) {\n            \/\/     totalResilienceCoverageElementRatingDIV.textContent = \"BAD SCORE: Based on this score, we see that you have a lower score than recommended. Please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageDIV < 9.5) {\n            \/\/     totalResilienceCoverageElementRatingDIV.textContent = \"GOOD SCORE: You passed! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageDIV < 10) {\n            \/\/     totalResilienceCoverageElementRatingDIV.textContent = \"GREAT SCORE: Great job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else {\n            \/\/     totalResilienceCoverageElementRatingDIV.textContent = \"PERFECT SCORE: Amazing job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ }\n\n            \/\/ \/\/MIGRATE RATING\n            \/\/ var totalResilienceCoverageElementRatingM = document.getElementById(\"totalResilienceCoverageElementRatingM\");\n            \/\/ if (totalResilienceCoverageM < 5.5) {\n            \/\/     totalResilienceCoverageElementRatingM.textContent = \"BAD SCORE: Based on this score, we see that you have a lower score than recommended. Please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageM < 9.5) {\n            \/\/     totalResilienceCoverageElementRatingM.textContent = \"GOOD SCORE: You passed! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageM < 10) {\n            \/\/     totalResilienceCoverageElementRatingM.textContent = \"GREAT SCORE: Great job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else {\n            \/\/     totalResilienceCoverageElementRatingM.textContent = \"PERFECT SCORE: Amazing job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ }\n\n            \/\/ \/\/RECOVER RATING\n            \/\/ var totalResilienceCoverageElementRatingREC = document.getElementById(\"totalResilienceCoverageElementRatingREC\");\n            \/\/ if (totalResilienceCoverageREC < 5.5) {\n            \/\/     totalResilienceCoverageElementRatingREC.textContent = \"BAD SCORE: Based on this score, we see that you have a lower score than recommended. Please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageREC < 9.5) {\n            \/\/     totalResilienceCoverageElementRatingREC.textContent = \"GOOD SCORE: You passed! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else if (totalResilienceCoverageREC < 10) {\n            \/\/     totalResilienceCoverageElementRatingREC.textContent = \"GREAT SCORE: Great job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ } else {\n            \/\/     totalResilienceCoverageElementRatingREC.textContent = \"PERFECT SCORE: Amazing job! Based on this score we don't have any issues. If you still have questions, please contact Centre of Excellence!\";\n            \/\/ }\n\n        }\n        \/\/ document.getElementById(\"calculateIndexButton\").addEventListener(\"click\", function() {\n        \/\/     updateValue();\n        \/\/ });\n\n        \/\/ Attach event listeners to all radio buttons with name \"question\"\n        var radioButtons = document.querySelectorAll('input[name=\"question\"]'); radioButtons.forEach(function(radioButton) {\n            radioButton.addEventListener('change', function() {\n                updateValue();\n            });\n        });\n        });\n\n        function Showquestions() {\n            var L1Yes = document.getElementById(\"questionnaire-form-L1\").querySelector(\"input[name='question'][value='1']\");\n            var L1No = document.getElementById(\"questionnaire-form-L1\").querySelector(\"input[name='question'][value='0']\");\n            var L1Na = document.getElementById(\"questionnaire-form-L1\").querySelector(\"input[name='question'][value='0']\");\n            var L2Yes = document.getElementById(\"questionnaire-form-L2\").querySelector(\"input[name='question'][value='1']\");\n            var L2No = document.getElementById(\"questionnaire-form-L2\").querySelector(\"input[name='question'][value='0']\");\n            var L2Na = document.getElementById(\"questionnaire-form-L2\").querySelector(\"input[name='question'][value='0']\");\n            var L3Yes = document.getElementById(\"questionnaire-form-L3\").querySelector(\"input[name='question'][value='0']\");\n            var L3No = document.getElementById(\"questionnaire-form-L3\").querySelector(\"input[name='question'][value='1']\");\n            var L4YesAll = document.getElementById(\"questionnaire-form-L4\").querySelector(\"input[name='question'][value='2']\");\n            var L4YesSome = document.getElementById(\"questionnaire-form-L4\").querySelector(\"input[name='question'][value='1']\");\n            var L4No = document.getElementById(\"questionnaire-form-L4\").querySelector(\"input[name='question'][value='0']\");\n            var L5Yes = document.getElementById(\"questionnaire-form-L5\").querySelector(\"input[name='question'][value='0']\");\n            var L5No = document.getElementById(\"questionnaire-form-L5\").querySelector(\"input[name='question'][value='1']\");\n            var L6aYes = document.getElementById(\"questionnaire-form-L6a\").querySelector(\"input[name='question'][value='1']\");\n            var L6aNo = document.getElementById(\"questionnaire-form-L6a\").querySelector(\"input[name='question'][value='0']\");\n            var L6bYes = document.getElementById(\"questionnaire-form-L6b\").querySelector(\"input[name='question'][value='1']\");\n            var L6bNo = document.getElementById(\"questionnaire-form-L6b\").querySelector(\"input[name='question'][value='0']\");\n            var L7Yes = document.getElementById(\"questionnaire-form-L7\").querySelector(\"input[name='question'][value='1']\");\n            var L7No = document.getElementById(\"questionnaire-form-L7\").querySelector(\"input[name='question'][value='0']\");\n            var L8NotEasy = document.getElementById(\"questionnaire-form-L8\").querySelector(\"input[name='question'][value='2']\");\n            var L8EasyAuth = document.getElementById(\"questionnaire-form-L8\").querySelector(\"input[name='question'][value='1']\");\n            var L8EasyEveryone = document.getElementById(\"questionnaire-form-L8\").querySelector(\"input[name='question'][value='0']\");\n            var L9Yes = document.getElementById(\"questionnaire-form-L9\").querySelector(\"input[name='question'][value='1']\");\n            var L9No = document.getElementById(\"questionnaire-form-L9\").querySelector(\"input[name='question'][value='0']\");\n            var V1Yes = document.getElementById(\"questionnaire-form-V1\").querySelector(\"input[name='question'][value='1']\");\n            var V1No = document.getElementById(\"questionnaire-form-V1\").querySelector(\"input[name='question'][value='0']\");\n            var V2Yes = document.getElementById(\"questionnaire-form-V2\").querySelector(\"input[name='question'][value='1']\");\n            var V2No = document.getElementById(\"questionnaire-form-V2\").querySelector(\"input[name='question'][value='0']\");\n            var V3Yes = document.getElementById(\"questionnaire-form-V3\").querySelector(\"input[name='question'][value='1']\");\n            var V3No = document.getElementById(\"questionnaire-form-V3\").querySelector(\"input[name='question'][value='0']\");\n            var V4Yes = document.getElementById(\"questionnaire-form-V4\").querySelector(\"input[name='question'][value='1']\");\n            var V4No = document.getElementById(\"questionnaire-form-V4\").querySelector(\"input[name='question'][value='0']\");\n            var V5Cont = document.getElementById(\"questionnaire-form-V5\").querySelector(\"input[name='question'][value='5']\");\n            var V5EverySec = document.getElementById(\"questionnaire-form-V5\").querySelector(\"input[name='question'][value='4']\");\n            var V5EveryMin = document.getElementById(\"questionnaire-form-V5\").querySelector(\"input[name='question'][value='3']\");\n            var V5EveryHour = document.getElementById(\"questionnaire-form-V5\").querySelector(\"input[name='question'][value='2']\");\n            var V5EveryDay = document.getElementById(\"questionnaire-form-V5\").querySelector(\"input[name='question'][value='1']\");\n            var V5LessDay = document.getElementById(\"questionnaire-form-V5\").querySelector(\"input[name='question'][value='0']\");\n            var V6Manual = document.getElementById(\"questionnaire-form-V6\").querySelector(\"input[name='question'][value='0']\");\n            var V6Auto = document.getElementById(\"questionnaire-form-V6\").querySelector(\"input[name='question'][value='1']\");\n            var V7Yes = document.getElementById(\"questionnaire-form-V7\").querySelector(\"input[name='question'][value='1']\");\n            var V7No = document.getElementById(\"questionnaire-form-V7\").querySelector(\"input[name='question'][value='0']\");\n            var V8Yes = document.getElementById(\"questionnaire-form-V8\").querySelector(\"input[name='question'][value='1']\");\n            var V8No = document.getElementById(\"questionnaire-form-V8\").querySelector(\"input[name='question'][value='0']\");\n            var V9Yes = document.getElementById(\"questionnaire-form-V9\").querySelector(\"input[name='question'][value='1']\");\n            var V9No = document.getElementById(\"questionnaire-form-V9\").querySelector(\"input[name='question'][value='0']\");\n            var Is1Yes = document.getElementById(\"questionnaire-form-is1\").querySelector(\"input[name='question'][value='1']\");\n            var Is1No = document.getElementById(\"questionnaire-form-is1\").querySelector(\"input[name='question'][value='0']\");\n            var Is2Yes = document.getElementById(\"questionnaire-form-is2\").querySelector(\"input[name='question'][value='1']\");\n            var Is2No = document.getElementById(\"questionnaire-form-is2\").querySelector(\"input[name='question'][value='0']\");\n            var Is2NA = document.getElementById(\"questionnaire-form-is2\").querySelector(\"input[name='question'][value='0']\");\n            var Is3Yes = document.getElementById(\"questionnaire-form-is3\").querySelector(\"input[name='question'][value='1']\");\n            var Is3No = document.getElementById(\"questionnaire-form-is3\").querySelector(\"input[name='question'][value='0']\");\n            var Is3NA = document.getElementById(\"questionnaire-form-is3\").querySelector(\"input[name='question'][value='0']\");\n            var Div1No = document.getElementById(\"questionnaire-form-div1\").querySelector(\"input[name='question'][value='0']\");\n            var Div1YesTwo = document.getElementById(\"questionnaire-form-div1\").querySelector(\"input[name='question'][value='1']\");\n            var Div1YesMoreTwo = document.getElementById(\"questionnaire-form-div1\").querySelector(\"input[name='question'][value='2']\");\n            var Div2Yes = document.getElementById(\"questionnaire-form-div2\").querySelector(\"input[name='question'][value='1']\");\n            var Div2No = document.getElementById(\"questionnaire-form-div2\").querySelector(\"input[name='question'][value='0']\");\n            var Div3Yes = document.getElementById(\"questionnaire-form-div3\").querySelector(\"input[name='question'][value='1']\");\n            var Div3No = document.getElementById(\"questionnaire-form-div3\").querySelector(\"input[name='question'][value='0']\");\n            var Div4Yes = document.getElementById(\"questionnaire-form-div4\").querySelector(\"input[name='question'][value='1']\");\n            var Div4No = document.getElementById(\"questionnaire-form-div4\").querySelector(\"input[name='question'][value='0']\");\n            var Div5Always = document.getElementById(\"questionnaire-form-div5\").querySelector(\"input[name='question'][value='1']\");\n            var Div5Only = document.getElementById(\"questionnaire-form-div5\").querySelector(\"input[name='question'][value='0']\");\n            var Div6Yes = document.getElementById(\"questionnaire-form-div6\").querySelector(\"input[name='question'][value='1']\");\n            var Div6No = document.getElementById(\"questionnaire-form-div6\").querySelector(\"input[name='question'][value='0']\");\n            var Div7Always = document.getElementById(\"questionnaire-form-div7\").querySelector(\"input[name='question'][value='1']\");\n            var Div7Only = document.getElementById(\"questionnaire-form-div7\").querySelector(\"input[name='question'][value='0']\");\n            var Div8Yes = document.getElementById(\"questionnaire-form-div8\").querySelector(\"input[name='question'][value='1']\");\n            var Div8No = document.getElementById(\"questionnaire-form-div8\").querySelector(\"input[name='question'][value='0']\");\n            var Div9Yes = document.getElementById(\"questionnaire-form-div9\").querySelector(\"input[name='question'][value='1']\");\n            var Div9No = document.getElementById(\"questionnaire-form-div9\").querySelector(\"input[name='question'][value='0']\");\n            var M1Yes = document.getElementById(\"questionnaire-form-m1\").querySelector(\"input[name='question'][value='1']\");\n            var M1No = document.getElementById(\"questionnaire-form-m1\").querySelector(\"input[name='question'][value='0']\");\n            var M2Unpred = document.getElementById(\"questionnaire-form-m2\").querySelector(\"input[name='question'][value='0']\");\n            var M2wSUnD = document.getElementById(\"questionnaire-form-m2\").querySelector(\"input[name='question'][value='1']\");\n            var M2wSBnD = document.getElementById(\"questionnaire-form-m2\").querySelector(\"input[name='question'][value='2']\");\n            var M2NdgS = document.getElementById(\"questionnaire-form-m2\").querySelector(\"input[name='question'][value='3']\");\n            var Rec1Yes = document.getElementById(\"questionnaire-form-rec1\").querySelector(\"input[name='question'][value='1']\");\n            var Rec1No = document.getElementById(\"questionnaire-form-rec1\").querySelector(\"input[name='question'][value='0']\");\n            var Rec2Auto = document.getElementById(\"questionnaire-form-rec2\").querySelector(\"input[name='question'][value='1']\");\n            var Rec2Manual = document.getElementById(\"questionnaire-form-rec2\").querySelector(\"input[name='question'][value='0']\");\n            var Rec3Yes = document.getElementById(\"questionnaire-form-rec3\").querySelector(\"input[name='question'][value='1']\");\n            var Rec3No = document.getElementById(\"questionnaire-form-rec3\").querySelector(\"input[name='question'][value='0']\");\n            var Rec4Regular = document.getElementById(\"questionnaire-form-rec4\").querySelector(\"input[name='question'][value='2']\");\n            var Rec4Occasional = document.getElementById(\"questionnaire-form-rec4\").querySelector(\"input[name='question'][value='1']\");\n            var Rec4Never = document.getElementById(\"questionnaire-form-rec4\").querySelector(\"input[name='question'][value='0']\");\n            var Rec5Yes = document.getElementById(\"questionnaire-form-rec5\").querySelector(\"input[name='question'][value='1']\");\n            var Rec5No = document.getElementById(\"questionnaire-form-rec5\").querySelector(\"input[name='question'][value='0']\");\n\n            var formL3 = document.getElementById(\"questionnaire-form-L3\");\n            var formL4 = document.getElementById(\"questionnaire-form-L4\");\n            var formL5 = document.getElementById(\"questionnaire-form-L5\");\n            var formL6a = document.getElementById(\"questionnaire-form-L6a\");\n            var formL6b = document.getElementById(\"questionnaire-form-L6b\");\n            var formL7 = document.getElementById(\"questionnaire-form-L7\");\n            var formL8 = document.getElementById(\"questionnaire-form-L8\");\n            var formL9 = document.getElementById(\"questionnaire-form-L9\");\n            var formV1 = document.getElementById(\"questionnaire-form-V1\");\n            var formV2 = document.getElementById(\"questionnaire-form-V2\");\n            var formV3 = document.getElementById(\"questionnaire-form-V3\");\n            var formV4 = document.getElementById(\"questionnaire-form-V4\");\n            var formV5 = document.getElementById(\"questionnaire-form-V5\");\n            var formV6 = document.getElementById(\"questionnaire-form-V6\");\n            var formV7 = document.getElementById(\"questionnaire-form-V7\");\n            var formV8 = document.getElementById(\"questionnaire-form-V8\");\n            var formV9 = document.getElementById(\"questionnaire-form-V9\");\n            var formIs1 = document.getElementById(\"questionnaire-form-is1\");\n            var formIs2 = document.getElementById(\"questionnaire-form-is2\");\n            var formIs3 = document.getElementById(\"questionnaire-form-is3\");\n            var formDiv1 = document.getElementById(\"questionnaire-form-div1\");\n            var formDiv2 = document.getElementById(\"questionnaire-form-div2\");\n            var formDiv3 = document.getElementById(\"questionnaire-form-div3\");\n            var formDiv4 = document.getElementById(\"questionnaire-form-div4\");\n            var formDiv5 = document.getElementById(\"questionnaire-form-div5\");\n            var formDiv6 = document.getElementById(\"questionnaire-form-div6\");\n            var formDiv7 = document.getElementById(\"questionnaire-form-div7\");\n            var formDiv8 = document.getElementById(\"questionnaire-form-div8\");\n            var formDiv9 = document.getElementById(\"questionnaire-form-div9\");\n            var formM1 = document.getElementById(\"questionnaire-form-m1\");\n            var formM2 = document.getElementById(\"questionnaire-form-m2\");\n            var formRec1 = document.getElementById(\"questionnaire-form-rec1\");\n            var formRec2 = document.getElementById(\"questionnaire-form-rec2\");\n            var formRec3 = document.getElementById(\"questionnaire-form-rec3\");\n            var formRec4 = document.getElementById(\"questionnaire-form-rec4\");\n            var formRec5 = document.getElementById(\"questionnaire-form-rec5\");\n\n\n            formL4.style.display = L3Yes.checked ? \"\" : \"none\";\n            formL5.style.display = (L3Yes.checked && (L4YesAll.checked || L4YesSome.checked)) ? \"\" : \"none\";\n            formL6a.style.display = (L3Yes.checked && (Div1YesTwo.checked || Div1YesMoreTwo.checked)) ? \"\" : \"none\";\n            formL6b.style.display = (L3Yes.checked && Div1No.checked) ? \"\" : \"none\";\n            formL7.style.display = (Div1YesTwo.checked || Div1YesMoreTwo.checked) ? \"\" : \"none\";\n            formV1.style.display = L3Yes.checked ? \"\" : \"none\";\n            formV3.style.display = V2Yes.checked ? \"\" : \"none\";\n            formV4.style.display = V2Yes.checked ? \"\" : \"none\";\n            formV5.style.display = V2Yes.checked ? \"\" : \"none\";\n            formV6.style.display = V2Yes.checked ? \"\" : \"none\";\n            formV7.style.display = V2Yes.checked ? \"\" : \"none\";\n            formV8.style.display = V2Yes.checked ? \"\" : \"none\";\n            formV9.style.display = (Div1YesTwo.checked || Div1YesMoreTwo.checked) ? \"\" : \"none\";\n            formIs1.style.display = V2Yes.checked ? \"\" : \"none\";\n            formIs2.style.display = V2Yes.checked ? \"\" : \"none\";\n            formIs3.style.display = V2Yes.checked ? \"\" : \"none\";\n            formDiv2.style.display = (Div1YesTwo.checked || Div1YesMoreTwo.checked) ? \"\" : \"none\";\n            formDiv5.style.display = Div4Yes.checked ? \"\" : \"none\";\n            formDiv6.style.display = V2Yes.checked ? \"\" : \"none\";\n            formDiv7.style.display = V2Yes.checked ? \"\" : \"none\";\n            formM2.style.display = M1Yes.checked ? \"\" : \"none\";\n            formRec2.style.display = Rec1Yes.checked ? \"\" : \"none\";\n            formRec4.style.display = Rec3Yes.checked ? \"\" : \"none\";\n\n            if (!L3Yes.checked) {\n                [L4YesAll, L4YesSome, L4No, L5Yes, L5No, L6aYes, L6aNo, L6bYes, L6bNo, V1Yes, V1No].forEach(function(el) {\n                    if (el) {\n                        el.checked = false;\n                    }\n                });\n            }\n\n            if (!Div1YesMoreTwo.checked && !Div1YesTwo.checked) {\n                [L6aYes, L6aNo, L7Yes, L7No, Div2Yes, Div2No].forEach(function(el) {\n                    if (el) {\n                        el.checked = false;\n                    }\n                });\n            }\n\n            if (!Div1No.checked) {\n                [L6bYes, L6bNo].forEach(function(el) {\n                    if (el) {\n                        el.checked = false;\n                    }\n                });\n            }\n\n            if (!Div4Yes.checked) {\n                [Div5Always, Div5Only].forEach(function(el) {\n                    if (el) {\n                        el.checked = false;\n                    }\n                });\n            }\n\n            if (!V2Yes.checked) {\n                [V3Yes, V3No, V4Yes, V4No, V5Cont, V5EverySec, V5EveryMin, V5EveryHour, V5EveryDay, V5LessDay, V6Manual, V6Auto,\n                    V7Yes, V7No, V8Yes, V8No, Is1Yes, Is1No, Is2Yes, Is2No, Is2NA, Is3Yes, Is3No, Is3NA, Div6Yes, Div6No, Div7Always, Div7Only\n                ].forEach(function(el) {\n                    if (el) {\n                        el.checked = false;\n                    }\n                });\n            }\n\n            if (!M1Yes.checked) {\n                [M2Unpred, M2NdgS, M2wSBnD, M2wSUnD].forEach(function(el) {\n                    if (el) {\n                        el.checked = false;\n                    }\n                });\n            }\n\n            if (!Rec1Yes.checked) {\n                [Rec2Auto, Rec2Manual].forEach(function(el) {\n                    if (el) {\n                        el.checked = false;\n                    }\n                });\n            }\n\n            if (!Rec3Yes.checked) {\n                [Rec4Never, Rec4Occasional, Rec4Regular].forEach(function(el) {\n                    if (el) {\n                        el.checked = false;\n                    }\n                });\n            }\n\n        }\n    <\/script>\n<div class=\"question-container\"><form id=\"questionnaire-form-gi-h\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>GENERAL INFORMATION<\/b><\/span><\/label><br><\/form><form id=\"questionnaire-form-gi1\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>1. What sector are you from?<\/b><\/span><\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspAviation<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspChemical<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspCommercial Facilities<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspEnergy<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspFinancial Services<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspOther Transportation Systems (boats, train, etc)<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspCritical Manufacturing<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspDefense Industrial Base<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspDams<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspCommunications<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspFood and Agriculture<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspGovernment Facilities<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspEmergency services<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspHealthcare and Public Health<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspInformation Technology<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspNuclear Reactors<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspMaterials and Waste<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspWater and Wastewater<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi1\">&nbspOther<\/label><br><\/form><form id=\"questionnaire-form-gi2\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>2. How resilient do you think your PNT infrastructure needs to be?<\/b><\/span><\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"gi2\">&nbspHighly resilient<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"gi2\">&nbspModerately resilient<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\"  onchange=\"Showquestions()\" data-question=\"gi2\">&nbspPoorly resilient<\/label><br><\/form><form id=\"questionnaire-for-gi3\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>3. Is the hardware in your PNT system older than five years at the current time?<\/b><\/span><\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"gi3\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"gi3\">&nbspNo<\/label><br><\/form><\/div><div id=\"resilienceCoverageIndexGI\"><\/div><div id=\"totalResilienceCoverageElementGI\"><\/div><div class=\"question-container\"><form id=\"questionnaire-form-o-h\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>OBFUSCATE<\/b><\/span><\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-o1\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>1. Are the input sources of your PNT system easily visible and\/or recognisable to an external party?<\/b><\/span><\/label><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"General idea: Obfuscate characteristics to reduce the likelihood of an attack, and to confuse remaining attackers\n    \nSimple example: Hidden. The sources are hidden (the GNSS antenna is small and not visible from below).\n    \nComplex example: Hidden. The sources are hidden (the GNSS antennas are not visible from below).\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"o1\">&nbspObviously visible(example: very large antenna on the rooftop, visible from the street)<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"o1\">&nbspModerately hidden (example: small antenna not easily visible from the street)<\/label><br><label><input type=\"radio\" name=\"question\" value=\"2\"  onchange=\"Showquestions()\" data-question=\"o1\">&nbspHidden<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-o2\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>2. Does the PNT system make use of PNT signals that are fully or partially encrypted (e.g., NMA)?<\/b><\/span><\/label><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Simple example: No, the PNT system is configured to only use unencrypted GPS signals for computing the timing solution.\n\nComplex example: Yes, the PNT system has the capability to use partially encrypted signals, which are then used for authentication. The timing solution is computed based upon authenticated signals.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"o2\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"o2\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-o3\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>3. Is information about the types of PNT sources used by the PNT system available to an individual outside of the user\u2019s organisation?<\/span><\/b><\/label><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Example : Not at all, the information is available strictly on a need-to-know basis.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"o3\">&nbspEasily<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"o3\">&nbspModerately<\/label><br><label><input type=\"radio\" name=\"question\" value=\"2\" onchange=\"Showquestions()\" data-question=\"o3\">&nbspNot at all<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-o4\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>4. Is information about the types of PNT sources used by the PNT system available to a member of the organisation that does not have privileged access?<\/span><\/b><\/label><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Example : Not at all, the information is available strictly on a need-to-know basis.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"o4\">&nbspEasily<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"o4\">&nbspModerately<\/label><br><label><input type=\"radio\" name=\"question\" value=\"2\" onchange=\"Showquestions()\" data-question=\"o4\">&nbspNot at all<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-o5\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>5. Is the PNT system or one of the PNT sources directly accessible from outside of the user\u2019s organisation, for instance through the internet?<\/b><\/span><\/label><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Example: No, the information is not available through the internet\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"o5\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"o5\">&nbspYes, but only via secured connection<\/label><br><label><input type=\"radio\" name=\"question\" value=\"2\" onchange=\"Showquestions()\" data-question=\"o5\">&nbspNo<\/label><br><\/form><\/div><div id=\"resilienceCoverageIndexO\"><\/div><div id=\"totalResilienceCoverageElementO\"><\/div><div id=\"resilienceCoverageElementRatingO\">Obfuscate Resilience Coverage Rating: <span id=\"totalResilienceCoverageElementRatingO\"><\/span><\/div><br><div class=\"question-container\"><form id=\"questionnaire-form-L-h\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>LIMIT<\/b><\/span><\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-L1\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>1. If applicable, does the PNT system limit the received and\/or processed frequency band(s) to only what is intended?<\/b><\/span><\/label><br><span class=\"info-icon\" style=\"cursor: help;\" title=\"This could be done by applying a narrow bandpass filter, instead of listening to the whole spectrum.\n\nSimple example: Yes, the system only processes GPS L1 band signals\n\nComplex example: Yes, the system only processes signals in two bands: \nGalileo E1, Galileo E5, GPS L1 and GPS L5 signals are accepted.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"lim1\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"lim1\">&nbspNo<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"lim1\">&nbspNot applicable<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-L2\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>2. If applicable, in the case of a GNSS antenna, does the PNT system limit the portion of the sky observed?<\/b><\/span><\/label><br><span class=\"info-icon\" style=\"cursor: help;\" title=\"Example: Yes, the system has an elevation mask of 10 degrees that helps to discard satellites that are too low; satellites which would potentially negatively affect the quality of the PNT solution.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"lim2\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"lim2\">&nbspNo<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"lim2\">&nbspNot applicable<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-L3\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>3. Does the PNT system take external inputs?<\/b><\/span><\/label><br><span class=\"info-icon\" style=\"cursor: help;\" title=\"Simple example: Yes, the system takes GNSS signals (GPS signals) which are generated externally to the system and only received and processed by our GNSS receiver.\n    \nComplex example: Yes, the system takes GNSS signals (GPS and Galileo signals) which are generated externally to the system and only received and processed by our GNSS receiver.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"lim3\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"lim3\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-L4\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>4. Are the external inputs trusted?<\/b><\/label><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Note: GNSS signals do not constitute trusted inputs.\n\nSimple example: No, the input GPS signals are not trusted sources.\n\nComplex example: Yes, some of them. The authenticated Galileo signals are trusted, but the unencrypted GPS signals are not trusted sources.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"2\" onchange=\"Showquestions()\" data-question=\"lim4\">&nbspYes, all of them<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"lim4\">&nbspYes, some of them<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"lim4\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-L5\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>5. Are the external (non-trusted) input part of the primary PNT source of the PNT system?<\/b><\/span><\/label><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: For instance, this would be the case when GNSS is the main source, and the systems internal clock (internal trusted input) is only used as verification and for holdover when GNSS is unavailable.\n    \nSimple example: Yes. Our system provides timestamps based on the GPS signals it receives, which are non-trusted external inputs.\n\nComplex example: Yes. Our system provides timestamps based on the GNSS signals it receives, which are partially non-trusted external inputs.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"lim5\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"lim5\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-L6a\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>6. Is the primary PNT source able to function without external inputs?<\/b><\/span><\/label><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Example 1: A clock would be able to, as opposed to a GNSS receiver that needs availability of satellites.\n    \nExample 2: No, the GNSS receiver needs available satellites to give timing information.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"lim6a\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"lim6a\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-L6b\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>6. Is the PNT source able to function without external inputs?<\/b><\/span><\/label><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Example 1: a clock would be able to, as opposed to a GNSS receiver that needs availability of satellites.\n    \nExample 2: No, the GNSS receiver needs available satellites to give timing information\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"lim6b\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"lim6b\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-L7\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\">-<b>7. Are the secondary PNT sources able to function without external inputs?<\/b><\/span><\/label><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Simple example: No, our system has no secondary PNT sources.\n\nComplex example: Yes, our system has a secondary PNT source that can function without external inputs: a redundant clock.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"lim7\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"lim7\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-L8\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>8. How accessible are the location(s) of the PNT source(s) (e.g. GNSS receiver, antenna, clock, etc)<\/b>?<\/span><\/label><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Example: Easily accessible to authorized personnel. In our example it\u2019s on a rooftop of a tall building in a city. It is easily available to maintenance personnel or other authorized personnel who need access.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"2\" onchange=\"Showquestions()\" data-question=\"lim8\">&nbspNot easily accessible<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"lim8\">&nbspEasily accessible to authorized personnel<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"lim8\">&nbspEasily accessible to everyone (including unauthorized personnel)<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-L9\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>9. Is the physical site of the PNT source(s) (e.g., receiver(s), antenna(s), clock(s), etc) regularly monitored?<\/b><\/span><\/label><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Example; Yes, it is monitored with security cameras.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"lim9\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"lim9\">&nbspNo<\/label><br><\/form><\/div><div id=\"resilienceCoverageIndexLIM\"><\/div><div id=\"totalResilienceCoverageElementLIM\"><\/div><div id=\"resilienceCoverageElementRatingLIM\">Limit Resilience Coverage Rating: <span id=\"totalResilienceCoverageElementRatingLIM\"><\/span><\/div><br><div class=\"question-container\"><form id=\"questionnaire-form-v-h\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>VERIFY<\/b><\/span><\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-V1\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>1. Does the PNT system verify that data received from external inputs follow the expected standard values and formats?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: External input can be GNSS signal, time information received over the internet, etc.).\nA system that does not verify the content and format of its inputs exposes itself to unexpected behavior in case arbitrary content is sent by an attacker instead of the expected inputs (see for instance the principle behind injection attacks).\nThis can be something as simple as validating a checksum for an input that contains it. \n\nExample 1: For a GPS-dependent system, the following standard values and formats could include compliance of the signal and data package with the IS-GPS-200 standard [4]. \nFor any sort of information received over the internet, it would include conformance to the applicable message format.\n\nExample 2: Yes, the GNSS signals are examined whether they follow the standard message format.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"v1\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"v1\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-V2\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>2. Is the PNT system able to identify when a PNT source is compromised?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Examples: Some valid techniques for such identification could be comparison with another PNT source, detection of sudden and unexpected increase in received signal power, incorrect authentication information from a source, etc.\n\nSimple example: Yes, although the system is simple and contains only one PNT source (GPS signals), there is a basic anomaly detection algorithm implemented in the receiver identifying when the received signal power is outside the nominal range (too high or low) which can be understood as a simple jamming-detection method. \n\nComplex example: Yes, the system contains multiple PNT sources (authenticated and unencrypted GNSS signals, clock, and cross checking with an online timeserver), and there is a basic anomaly detection algorithm implemented in the receiver identifying when the received signal power is outside the nominal range. The GNSS receivers advanced integrity monitoring is also enabled.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"v2\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"v2\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-V3\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>3. Is such verification applied to all non-trusted external PNT sources?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Simple example: Yes, all non-trusted external sources are just GPS signals for which this signal-power check is applied.\n    \nComplex example: Yes, the integrity monitoring algorithm applies to all systems.  \">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"v3\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"v3\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-V4\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>4. Does the PNT system have multiple methods to identify whether each PNT source is compromised?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: One method for PNT source 1 and one method for PNT source 2 is not enough. However, a system containing multiple methods for PNT source 1 and multiple methods for PNT source 2 would deserve a Yes.\n\nSimple example: No, there is only one check (signal power) implemented in the system. If something else is incorrect, the system does not have a way of identifying this problem.\n\nComplex example: Yes, there are multiple checks (signal power, integrity monitoring) implemented in the system. If something else is incorrect, the system has a way of identifying this problem.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"v4\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"v4\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-V5\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>5. How often is the verification check performed?<\/b><br><label><input type=\"radio\" name=\"question\" value=\"5\" onchange=\"Showquestions()\" data-question=\"v5\">&nbspContinuously. The receiver checks continuously whether the signal strength is within nominal range and the integrity monitoring is always active<\/label><br><label><input type=\"radio\" name=\"question\" value=\"4\" onchange=\"Showquestions()\" data-question=\"v5\">&nbspEvery second<\/label><br><label><input type=\"radio\" name=\"question\" value=\"3\" onchange=\"Showquestions()\" data-question=\"v5\">&nbspEvery minute<\/label><br><label><input type=\"radio\" name=\"question\" value=\"2\" onchange=\"Showquestions()\" data-question=\"v5\">&nbspEvery hour<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"v5\">&nbspEvery day<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"v5\">&nbspLess than daily<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-V6\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>6. Is the check triggered manually (i.e. by a human operator) or does it happen automatically?<\/b><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"v6\">&nbspManually<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"v6\">&nbspAutomatically<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-V7\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>7. Is the PNT system able to identify which information is compromised, if any?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: Is timing information compromised? Is it position information? Is it both?\n    \nSimple example: No, the system only detects that something is out of the ordinary.\n\nComplex example: Yes, the system detects any discrepancies between the timeserver and GNSS based time solution.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"v7\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"v7\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-V8\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>8. Is the PNT system able to identify why each PNT source is compromised?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: Is there spoofing, interferences, external faults, etc.\n    \nSimple example: No, the system is not advanced enough to identify the cause, just that there is an anomaly present.\n\nComplex example: Yes.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"v8\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"v8\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-V9\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>9. Does the PNT system cross-verify the PNT solutions of all its PNT sources?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: Cross-verification here implies the comparison of the solutions produced independently by each of the PNT sources, to identify outliers. For example, a system that acquires position through GPS (GNSS), Galileo (GNSS) and an inertial navigation system (local sensor) would need to compare the three PNT sources one-on-one to meet this criterion.\n    \nSimple example: No, the system has no ability to cross-verify solutions since there is only a single PNT source present (GPS signals).\n\nComplex example:  Yes, the system first compares the solutions obtained from each GNSS frequency band, and then compares each of them with a secondary source (timeserver) and the redundant internal clock.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"v9\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"v9\">&nbspNo<\/label><br><\/form><\/div><div id=\"resilienceCoverageIndexV\"><\/div><div id=\"totalResilienceCoverageElementV\"><\/div><div id=\"resilienceCoverageElementRatingV\">Verify Resilience Coverage Rating: <span id=\"totalResilienceCoverageElementRatingV\"><\/span><\/div><br><div class=\"question-container\"><form id=\"questionnaire-form-is-h\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>ISOLATE<\/b><\/span><\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-is1\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>1. Is the PNT system able to prevent PNT sources identified as compromised from contributing to the PNT solution?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: If the PNT system detects that PNT source 1 is compromised, does it reject it from the computation of the final PNT solution?\"\n    \nSimple example: No, the system has only a single PNT source which it cannot reject from the solution since it is the only information available, and this user wants to keep timestamping continuous.\n\nComplex example: Yes, the system has multiple PNT sources so it can reject compromised information from the solution.>\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"is1\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"is1\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-is2\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>2. If applicable, is the PNT system able to roll back data that is a posteriori identified as compromised?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: This would only be relevant for a system that incorporates some form of history (e.g. recording an itinerary or any form of position logging, a Kalman filter that maintains some history of previous epochs, etc.). For a system that contains such history, if the information is identified as compromised, it is useful to be able to incorporate that knowledge and correct the history (or at the very least disregard the corrupted elements of it).\n\nExample: Not applicable: the system does not maintain any form of history, it simply outputs timestamps without remembering them.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"is2\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"is2\">&nbspNo<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"is2\">&nbspNot applicable<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-is3\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>3. Does the PNT system ensure that corrupted data from one PNT source cannot corrupt data from another PNT source?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: For instance, does it prevent spoofed timing information from a GNSS receiver to be used to discipline an internal clock?\"\n    \nSimple example: No, we only have a single PNT source, therefore we have no way to do this.\n\nComplex example: Yes.>\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"is3\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"is3\">&nbspNo<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"is3\">&nbspNot applicable<\/label><br><\/form><\/div><div id=\"resilienceCoverageIndexIS\"><\/div><div id=\"totalResilienceCoverageElementIS\"><\/div><div id=\"resilienceCoverageElementRatingIS\">Isolate Resilience Coverage Rating: <span id=\"totalResilienceCoverageElementRatingIS\"><\/span><\/div><br><div class=\"question-container\"><form id=\"questionnaire-form-div-h\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>DIVERSIFY<\/b><\/span><\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-div1\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>1. Does the PNT system use multiple PNT sources?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Note: Having a GNSS receiver that tracks multiple constellations counts as using multiple PNT sources\n    \nSimple example: No, only GPS signals.\n    \nComplex example: Yes more than two, Galileo and GPS signals, and a redundant timing source.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"div1\">&nbspNo<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"div1\">&nbspYes, two<\/label><br><label><input type=\"radio\" name=\"question\" value=\"2\" onchange=\"Showquestions()\" data-question=\"div1\">&nbspYes, more than two<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-div2\"  style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>2. Does the PNT system use diverse PNT source technologies?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Example: For a timing application, GNSS and a local clock. For a positioning application: GNSS and a dead reckoning system. Note that Galileo and GPS are two instances of the same technology, and not different PNT source technologies.\n    \nSimple example: No, only GPS signals.\n\nComplex example: Yes, GNSS, a timeserver and a clock.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"div2\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"div2\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-div3\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>3. Does the PNT system have signal diversity from within a single PNT source type?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: Considering a GNSS receiver as PNT source: does it use multiple GNSS bands, multiple antennas, multi-constellation receivers, etc. \n\nThis is a middle ground solution for resilience through diversity: better than having a single signal type, but not as resilient as using multiple different technologies of PNT sources.\"\n    \nSimple example: No, only GPS L1 signals.\n\nComplex example: Yes, it uses two antennas to receive Galileo and GPS signals in multiple bands (Galileo E1 and GPS L1, Galileo E5 and GPS L5 signals).>\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"div3\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"div3\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-div4\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>4. Does the PNT system make use of redundant hardware for providing the PNT solution?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: For example: multiple GNSS chipsets, network or power backup, etc.\n    Having redundant PNT hardware increases resilience, as it decreases the risk of it being entirely disabled (either through an attack or a fault).\n    \nSimple example: No, only GPS L1 signals.\n\nComplex example: Yes, it uses two antennas to receive Galileo and GPS signals in multiple bands (Galileo E1 and GPS L1, Galileo E5 and GPS L5 signals).\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"div4\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"div4\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-div5\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>5. Is the redundant hardware providing PNT solution constantly running in addition to the primary one, or does the redundant hardware only turn on when the primary system is identified as compromised?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Simple example: Only turns on when the primary system is identified as compromised (power failure).\n\nComplex example: Always on. The clock is continuously running.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"div5\">&nbspAlways running<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"div5\">&nbspOnly turns on when the primary system is identified as compromised<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-div6\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>6. Does the PNT system make use of redundant hardware for providing threat detection and\/or mitigation (for example using an anti-jamming antenna)?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: having redundant threat detection and\/or mitigation hardware increases resilience, as it decreases the risk of it being entirely disabled (either through an attack or a fault).\n    \nSimple example: No. The antenna is a simple multi-band antenna with no anti-jamming properties. \n\nComplex example: Yes, the antennas are anti-jamming.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"div6\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"div6\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-div7\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>7. Is the redundant hardware for threat detection and\/or mitigation constantly running in addition to the primary one, or does the redundant hardware only turn on when the primary system fails?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Simple example: No, there is no such functionality in the example system.\n    \nComplex example: Yes, it is always running.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"div7\">&nbspAlways running<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"div7\">&nbspOnly turns on when the primary hardware fails<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-div8\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>8 Does the PNT system rely on a single piece of software for providing threat detection and\/or mitigation?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: Managing threat detection\/mitigation from a single software increases the impact of a fault or a vulnerability. If a backdoor or other kind of vulnerability is discovered in this kind of software, an attacker can use it to disable or minimize the impact of the entire threat detection and\/or mitigation. On the other hand, if threat detection and\/or mitigation is split between multiple separate pieces of software (e.g., one piece of software for jamming detection, one for spoofing detection, one for format checking and one for mitigation), a vulnerability in one of them has no impact on the other ones.\n    \nA GNSS receiver using two separate COTS solutions for jamming and spoofing detection respectively would meet this requirement. A PNT system containing a GNSS receiver with integrated jamming detection, and a later other jamming detection would also meet this requirement.\n\nSimple example: Yes, our system has some built-in anomaly detection (signal strength check that can be used for jamming detection), but the more advanced interference-detection settings have not been activated and so there is no second line of software-based defense.\n\nComplex example: No, our system has some built-in anomaly detection (signal strength check that can be used for jamming detection), and the more advanced interference-detection settings have also been activated and so there is a second line of software-based defense. \">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"div8\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"div8\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-div9\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>9. Does the system allow to make changes (e.g., addition of a new PNT source) without a complete redesign?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: A typical use case would be to fix a vulnerability discovered during operation.\n    \nSimple example: Yes, it is possible to enable the use of multiple GNSS sources (like the use of the Galileo constellation) or the use of multiple frequency bands in the receiver configuration. This is generally advised even without the discovery of a vulnerability.\n\nComplex example: Yes, it is possible to enable the use of more GNSS sources (like the use of the BeiDou or GLONASS constellation), or the use of more frequency bands (GPS L2) in the receiver configuration. This is generally advised even without the discovery of a vulnerability.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"div9\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"div9\">&nbspNo<\/label><br><\/form><\/div><div id=\"resilienceCoverageIndexDIV\"><\/div><div id=\"totalResilienceCoverageElementDIV\"><\/div><div id=\"resilienceCoverageElementRatingDIV\">Diversify Resilience Coverage Rating: <span id=\"totalResilienceCoverageElementRatingDIV\"><\/span><\/div><br><div class=\"question-container\"><form id=\"questionnaire-form-m-h\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>MITIGATE<\/b><\/span><\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-m1\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>1. Does the PNT system continue to provide a solution during a threat?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Example: Yes, depending on the threat. The system is geared towards continuity and while possible it tries to output timing information.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"m1\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"m1\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-m2\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>2. How could the solution provided by the PNT system during a threat be best described?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Simple example: Unpredictable solution.\n\nComplex example: Solution with bounded degradation (L3).   \">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"m2\">&nbspUnpredictable solution<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"m2\">&nbspSolution with possibly unbounded degradation <\/label><br><label><input type=\"radio\" name=\"question\" value=\"2\" onchange=\"Showquestions()\" data-question=\"m2\">&nbspSolution with bounded degradation  <\/label><br><label><input type=\"radio\" name=\"question\" value=\"3\" onchange=\"Showquestions()\" data-question=\"m2\">&nbspNon-degraded solution  <\/label><br><\/form><\/div><div id=\"resilienceCoverageIndexM\"><\/div><div id=\"totalResilienceCoverageElementM\"><\/div><div id=\"resilienceCoverageElementRatingM\">Mitigate Resilience Coverage Rating: <span id=\"totalResilienceCoverageElementRatingM\"><\/span><\/div><br><div class=\"question-container\"><form id=\"questionnaire-form-rec-h\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>RECOVER<\/b><\/span><\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-rec1\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>1. Does the PNT system allow for full system recovery after removal of the threat?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: After a threat situation has been removed, can the system be restored to a \u201cknown good\u201d configuration? This would include for example clearing all the memory and returning to proper working state and an associated defined performance level. \nThe PNT solution is allowed to become unavailable for some time during the recovery process.\n\nExample: Yes, in our example it is possible to recover the system.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"rec1\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"rec2\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-rec2\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>2. Is the full system recovery manually triggered (i.e. through human intervention) or is it automatic?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Simple example: Manual recovery is needed; an engineer will safely restart the system.\n    \nComplex example: The recovery is automatic. \">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"rec2\">&nbspAutomatic<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0 onchange=\"Showquestions()\" data-question=\"rec2\">&nbspManually<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-rec3\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>3. Does the PNT system allow to securely update\/reload its firmware?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: Being able to update\/reload the firmware is necessary to maintain the system\u2019s resilience in time, as new threats and\/or vulnerabilities are discovered.\n\nExample: Yes, the firmware may be updated by competent personnel (there is support from the manufacturer, so new firmware versions are developed from time to time).\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"rec3\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"rec3\">&nbspNo<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-rec4\" style=\"display:none;\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>4. How often is the firmware\/software of the PNT system updated?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Explanation: Being able to do it is good, actually doing it is even better.\n    \nExample: Regularly scheduled maintenance, the engineers responsible are checking for firmware\/software updates regularly.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"2\" onchange=\"Showquestions()\" data-question=\"rec4\">&nbspRegularly scheduled maintenance (yearly, monthly, etc.)<\/label><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"rec4\">&nbspOccasionally<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"rec4\">&nbspNever<\/label><br><\/form><\/div><div class=\"question-container\"><form id=\"questionnaire-form-rec5\" method=\"post\" class=\"question-background\"><label for=\"question\"><span class=\"ham\"><b>5. Once a threat is removed, does the user system support automatic recovery of compromised PNT source(s) and PNT system(s), without disrupting the PNT output?<\/b><br><span id=\"info-icon\" style=\"cursor: help;\" title=\"Simple example: No, the PNT output is disturbed during recovery.   \n\nComplex example: Yes.\">\u2139\ufe0f<\/span><br><label><input type=\"radio\" name=\"question\" value=\"1\" onchange=\"Showquestions()\" data-question=\"rec5\">&nbspYes<\/label><br><label><input type=\"radio\" name=\"question\" value=\"0\" onchange=\"Showquestions()\" data-question=\"rec5\">&nbspNo, the PNT output is disturbed during recovery.   <\/label><br><\/form><\/div><div id=\"resilienceCoverageIndexREC\"><\/div><div id=\"totalResilienceCoverageElementREC\"><\/div><div id=\"resilienceCoverageElementRatingREC\">Recover Resilience Coverage Rating: <span id=\"totalResilienceCoverageElementRatingREC\"><\/span><\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-33b8930 e-flex e-con-boxed e-con e-parent\" data-id=\"33b8930\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a1639d0 elementor-widget elementor-widget-html\" data-id=\"a1639d0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Resilience Assessment Screenshot<\/title>\n<\/head>\n<body>\n\n\n    <div id=\"assessment-result\">\n        <h2>Resilience Assessment Results<\/h2>\n        <!-- Simulating answered questions and results -->\n        <p>To save your results into a screenshot, please use below button.\n        <\/p>\n        <p><strong>Screenshot Feature Notice:<\/strong>\n\nWhen using the screenshot tool, please note that <br>the image will capture the answers and results of your resilience assessment. <br><br>This data will not be stored on our servers but will be downloaded directly to <br>your device.\n\nTo ensure your privacy, we recommend securely storing and <br>handling the screenshot, as it may contain sensitive information. <br><br>By using this tool, you acknowledge the potential risks and <br>accept responsibility for the safe management of the file.\n\n<br><br>For more details, please refer to our Privacy Policy regarding data processing and <br>compliance with GDPR and other applicable regulations<\/p>\n       \n    <\/div>\n\n\n\n    <button id=\"screenshot-btn\">Download screenshot with results<\/button>\n\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/html2canvas@1.4.1\/dist\/html2canvas.min.js\"><\/script>\n    <script>\n        document.getElementById('screenshot-btn').addEventListener('click', function() {\n            \/\/ Use html2canvas to take a screenshot of the entire webpage (document body)\n            html2canvas(document.body).then(function(canvas) {\n                \/\/ Create a link element to download the screenshot\n                const link = document.createElement('a');\n                link.href = canvas.toDataURL('image\/png'); \/\/ Convert canvas to image\n                link.download = 'full_webpage_screenshot.png'; \/\/ Set the filename\n                link.click(); \/\/ Trigger download\n            });\n        });\n    <\/script>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Introduction Today&#8217;s critical infrastructure sectors (such as aerospace, finance, energy networks, precision agriculture) rely heavily on PNT (positioning, navigation and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_eb_attr":"","ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","footnotes":""},"class_list":["post-31","page","type-page","status-publish","hentry","entry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pntportal.eu\/index.php\/wp-json\/wp\/v2\/pages\/31","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pntportal.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pntportal.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pntportal.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pntportal.eu\/index.php\/wp-json\/wp\/v2\/comments?post=31"}],"version-history":[{"count":109,"href":"https:\/\/pntportal.eu\/index.php\/wp-json\/wp\/v2\/pages\/31\/revisions"}],"predecessor-version":[{"id":2833,"href":"https:\/\/pntportal.eu\/index.php\/wp-json\/wp\/v2\/pages\/31\/revisions\/2833"}],"wp:attachment":[{"href":"https:\/\/pntportal.eu\/index.php\/wp-json\/wp\/v2\/media?parent=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}