[
  {
    "index": 1,
    "heading": "2026-03-24 21:47:50 AREA: W",
    "published_at": "2026-03-24 21:47:50",
    "area": "W",
    "message_id": "WA03",
    "text": "ZCZC WA03\nAVURNAV TOCSZM\nNTTUIZ_P_Z_KPMPM0')0._._'!_:6_._._'!+._.__22'0._.__6+\n0/1.\n._*62!_0._.__!_6_:0._.__)6069,!__+6/0.):''0_!9_-)),-=74,-= 597)9,:2-4,8,_' 8, !94:3 -43 -=-8_-)'=.+._$0.___8_*!_09,.$__J\nX_TGZYHFS_BG__G_+__:_!_:0\n__69,.9,._:6__._+.*-__-+\n_05_)._.-.8_+_5_8_6+_._ 77/26, 107/26, 108/26, 111/26, 155/26,. :__8/26, 179/26, 180/26, =_ 5_3_2/26, 183/26, 184/26, 185/26 AND THIS MSG\n2. CANCEL T_FJMOFG 271419 UTC MAR 26NNNN",
    "clean_text": "ZCZC WA03\nAVURNAV TOCSZM\nNTTUIZ_P_Z_KPMPM0')0._._'!_:6_._._'!+._.__22'0._.__6+\n0/1.\n._*62!_0._.__!_6_:0._.__)6069,!__+6/0.):''0_!9_-)),-=74,-= 597)9,:2-4,8,_' 8, !94:3 -43 -=-8_-)'=.+._$0.___8_*!_09,.$__J\nX_TGZYHFS_BG__G_+__:_!_:0\n__69,.9,._:6__._+.*-__-+\n_05_)._.-.8_+_5_8_6+_._ 77/26, 107/26, 108/26, 111/26, 155/26,. :__8/26, 179/26, 180/26, =_ 5_3_2/26, 183/26, 184/26, 185/26 AND THIS MSG\n2. CANCEL T_FJMOFG 271419 UTC MAR 26NNNN",
    "display_region_heading": "Unresolved B1 code W",
    "display_region_label": "B1 code W",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code W. Readable text says: Avurnav tocszm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Avurnav tocszm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 2,
    "heading": "2026-03-24 21:46:34 AREA: W",
    "published_at": "2026-03-24 21:46:34",
    "area": "W",
    "message_id": "WA06",
    "text": "ZCZC WA06\nAVURNAV T_ULON 189/26\nLION - ABORDS CAP D'!-_$3\n'03:8-) 9034-589,'\n1. _CIENTIFIC SURVEY\n UNTIL _12359 UTC MAR 26\n _FIENTIFIC SURVEY BY MV BLUE M (MMSI : 235068679)\n_ AREA B_HY_HQMRQF_VJQXY_BUXF_8_'_.__-*+\n3_/42-48_'0M !7_8_7.28E\n 42_50.87N__\n_-6).93E/43-0_.4()30_.)06_$.6___0(_02_,\n 108/26__3. CANCEL T__SV_PR 26NNNN",
    "clean_text": "ZCZC WA06\nAVURNAV T_ULON 189/26\nLION - ABORDS CAP D'!-_$3\n'03:8-) 9034-589,'\n1. _CIENTIFIC SURVEY\nUNTIL _12359 UTC MAR 26\n_FIENTIFIC SURVEY BY MV BLUE M (MMSI : 235068679)\n_ AREA B_HY_HQMRQF_VJQXY_BUXF_8_'_.__-*+\n3_/42-48_'0M !7_8_7.28E\n42_50.87N__\n_-6).93E/43-0_.4()30_.)06_$.6___0(_02_,\n108/26__3. CANCEL T__SV_PR 26NNNN",
    "display_region_heading": "Unresolved B1 code W",
    "display_region_label": "B1 code W",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code W. Readable text says: Fientific survey by mv blue m (mmsi : 235068679). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Fientific survey by mv blue m (mmsi : 235068679)",
      "1. cientific survey",
      "Lion - abords cap d'!- $3"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 3,
    "heading": "2026-03-24 21:42:01 AREA: T",
    "published_at": "2026-03-24 21:42:01",
    "area": "T",
    "message_id": "",
    "text": "Z_ZC W_VURNAVCTOULON V Z_T_PROVENCE\n_AL OPERAT_\n1. FIRING EXERCISE\n FROMV_5 UTC MAR 26 TO 251614 UTC MAR 26\n AREA 40 BOUNDED BY :\n 43-02.40N 005-38.00E/42-40.00N 005-38.00E\n 42-40_05-30.00E/42-57.70N 005-30.00E\n (CHART FR7507)\nHAZARDOUS TO NAVIGATION\nA___XAZXPSMHDFJMBJ__UH C_YMGCHXM_Y_\n_NNN\n\n_AZ__WZA__IZF KB7_\n_ 2-4,8.__9,__:__0'=_09,_$:'':_2200 UTC\nGENERAL SYNOPSIS 24-03-26/15 UTC\nNEA_ _ LOW 1006 OVER TAURUS IS EXP\n1002 BY 25/00 UTC.\nLOW PRESSURES 1_10 OVER E BLACK SEA.\nHIGH PRESSURES 1021 OVER\nN ITALY\nNE AEGEAN\nCONTINUING TO 25/10 UTC\nN NE 7 OR 8\nNW AEGEAN\nE OF 23.50\nCONTINUING TO 25/07 UTC\nN NE 7 OR 8\nCENTRAL AEGEAN\nW O__TUHBYDON__.87_ UTC AT LEAST TO 25/10 UTC\nN NE 7 OR 8\nKAFIREASMJOYFHON_BM\nUHT_MG_H_MHMSPJHMHZMIU_T _MG_H_ONMPM_CM_ZM_FONGJMP_KOS\nFM 25/04 UTC AT LEAST TO 25/10 UTC\nN NE 7 OR 8\nSW AEGEAN\nFM 25/02 UTC AT LEAST TOVXQP UTC\nN 7 OR 8\nSE AEGEAN IKARIO\nW OF 25.00\nFM 25/07 UTC AT LEAST TO 25/10 UT_\nN 7 OR\n_N\n DW_KRCTIKO\nW OF 24.10\nFM 25/07 UTC AT LEAST TO 25/10:$(__5_84- '3-\n3 9! 22.3:\nFM _OR 8\nSW K__TIKO\n UOF_2_:!\n8_$.\n7_5'!\n_:6_._(),0Q):.__(.4+)_18+)__//$8___4'//_\n_=$__))*0+)__0N 009-18.50E\n SHIPPING FISHING ANCHORAGE AND ANY SURFACE/UNDEY_H_CTIVITY\nMD_L COUNTERMEASURE LAUNCH, TORPEDO LAUNCH, AND TOWED BODY TRAILING\n AL_ TRANSITING SHIPS BEWARE\n2. CANCEL THIS MSG 251900 UTC MAR 26NNNN",
    "clean_text": "Z_ZC W_VURNAVCTOULON V Z_T_PROVENCE\n_AL OPERAT_\n1. FIRING EXERCISE\nFROMV_5 UTC MAR 26 TO 251614 UTC MAR 26\nAREA 40 BOUNDED BY :\n43-02.40N 005-38.00E/42-40.00N 005-38.00E\n42-40_05-30.00E/42-57.70N 005-30.00E\n(CHART FR7507)\nHAZARDOUS TO NAVIGATION\nA___XAZXPSMHDFJMBJ__UH C_YMGCHXM_Y_\n_NNN\n\n_AZ__WZA__IZF KB7_\n_ 2-4,8.__9,__:__0'=_09,_$:'':_2200 UTC\nGENERAL SYNOPSIS 24-03-26/15 UTC\nNEA_ _ LOW 1006 OVER TAURUS IS EXP\n1002 BY 25/00 UTC.\nLOW PRESSURES 1_10 OVER E BLACK SEA.\nHIGH PRESSURES 1021 OVER\nN ITALY\nNE AEGEAN\nCONTINUING TO 25/10 UTC\nN NE 7 OR 8\nNW AEGEAN\nE OF 23.50\nCONTINUING TO 25/07 UTC\nN NE 7 OR 8\nCENTRAL AEGEAN\nW O__TUHBYDON__.87_ UTC AT LEAST TO 25/10 UTC\nN NE 7 OR 8\nKAFIREASMJOYFHON_BM\nUHT_MG_H_MHMSPJHMHZMIU_T _MG_H_ONMPM_CM_ZM_FONGJMP_KOS\nFM 25/04 UTC AT LEAST TO 25/10 UTC\nN NE 7 OR 8\nSW AEGEAN\nFM 25/02 UTC AT LEAST TOVXQP UTC\nN 7 OR 8\nSE AEGEAN IKARIO\nW OF 25.00\nFM 25/07 UTC AT LEAST TO 25/10 UT_\nN 7 OR\n_N\nDW_KRCTIKO\nW OF 24.10\nFM 25/07 UTC AT LEAST TO 25/10:$(__5_84- '3-\n3 9! 22.3:\nFM _OR 8\nSW K__TIKO\nUOF_2_:!\n8_$.\n7_5'!\n_:6_._(),0Q):.__(.4+)_18+)__//$8___4'//_\n_=$__))*0+)__0N 009-18.50E\nSHIPPING FISHING ANCHORAGE AND ANY SURFACE/UNDEY_H_CTIVITY\nMD_L COUNTERMEASURE LAUNCH, TORPEDO LAUNCH, AND TOWED BODY TRAILING\nAL_ TRANSITING SHIPS BEWARE\n2. CANCEL THIS MSG 251900 UTC MAR 26NNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Shipping fishing anchorage and any surface/undey h ctivity. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping fishing anchorage and any surface/undey h ctivity",
      "1. firing exercise",
      "Hazardous to navigation"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 4,
    "heading": "2026-03-24 21:31:18 AREA: V",
    "published_at": "2026-03-24 21:31:18",
    "area": "V",
    "message_id": "",
    "text": "ZCZC VA_TF\n_\n _ HYCMGCHXM_PL_\n_\nWZ 126/26 \nTHAMES. \nGUNFLEEHMJWJM_F_M_YB_\n1. TURBINEV__QARTMCGB_\n_  __EG\nM_Z_GNAL INOPERATIVE. \n2. CANCEL WZ 8/26 (VA49).\nNNNN",
    "clean_text": "ZCZC VA_TF\n_\n_ HYCMGCHXM_PL_\n_\nWZ 126/26\nTHAMES.\nGUNFLEEHMJWJM_F_M_YB_\n1. TURBINEV__QARTMCGB_\n_ __EG\nM_Z_GNAL INOPERATIVE.\n2. CANCEL WZ 8/26 (VA49).\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: M z gnal inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "M z gnal inoperative",
      "1. turbinev qartmcgb",
      "2. cancel wz 8/26 (va49)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 7,
    "heading": "2026-03-24 21:20:16 AREA: U",
    "published_at": "2026-03-24 21:20:16",
    "area": "U",
    "message_id": "UE19",
    "text": "ZCZC UE19\n241920 UTC MAR 26\nMONDOLFO RADIO\n\nWEATHER FORECAST OVER MEDITERRANEAN AREAS ISSUED BY ROME METEOROLOGY CENTRE AT 18/UTC OF 24/03/2026\nAND VALID UP TO 06/UTC OF 25/03/2026\n1. WARNIGJ__\nTHUNDERSTORMS UNDER COURSE: OVER SOUTHERN JONIAN SEA, SICILY STRAIT,\nLIBYAN SEA AND EASTERN MEDITERRANEAN SEA.\nTHUNDERSTORMS FORECAST: OVER LIBYAN SEA, SOUTHERN JONIAN SEA AND\nEASTERN MEDITERRANEAN SEA.\nGALES UNDER COURSE: NIL\nGALES FORECAST: NIL\n2. WEATHER SITUATION:\nINSTABFSFH_MYPMZ_PYMP_PMJP_FLAT FIELD OF 1024 HPA OVER WESTERN\nMEDITERRANEAN SEA. PRESSURE FIELD OF 1004 HPA OVER LEVANTINE BASIN.\nINSTABILITY AREA OVER LEVANTINE BASIN.\n3. FORECAST TO 06/UTC OF 25/03/2026 AND 12 HOURS OUTLOOK:\nNORTHERN ADRIATIC SEA: NORTD_PJHPYSEM_PMGSZ_SS_MF_YKQGEBQAXDW__OR -FEW CLOUDS -GOOD VISIBILITY -SMOOTH SEA / OUTLOOK:\nNORTHWESTERLY 3 -FEW CLOUDS.\nCENTRAL ADRIATIC SEA: NORTHWESTERLEM_Y _GFF_M_GZZ_M_FJFLFSFH_ON\nGJSF_DHMJPM_OUTLOOK: NORTHWESTERLY 4 -FEW CLOUDS.\nSOUTHERN ADRIATIC SEA: NORTHERLY 5 -FAIR -GOOD VISIBILITY\n-MODERATE SEA / OUTLOOK: NORTHWESTERLY 4 -FAIR.\n4. WIND AND SEA OUTLOOK OVEWMIHSFMJPJM_YZBM_ FTGCH_MZ._+_+6_+_9,+6_$06.26!_!_.*__'975_23'534)6 5 SEA 3/NORTHERLY 7 SEA\n5/NORTHERLY 5 SEA 4/NORTHERLY 6 SEA 4.\nCENTRAL ADRIATIC SEA: SOUTHERLY 4 SEA 3/WESTERLY 3 SEA 4/NORTHERLY\n7 SEA 6/NORTHERLY 6 SEA 5.\nSOUTHERN ADRIATIC SEA: SOUTHERLY 4 SEA 3/SOUTHERLY 6 JPM\nYTG_PJHPYS_ON\nYMGJPM\nY_GZYHD_PJHPYSEM_HMGJPM\nY_ONONGPWM_PH_Z_Y\n_ONGONNM\nK____F_U\nCZB___ZCZC",
    "clean_text": "ZCZC UE19\n241920 UTC MAR 26\nMONDOLFO RADIO\n\nWEATHER FORECAST OVER MEDITERRANEAN AREAS ISSUED BY ROME METEOROLOGY CENTRE AT 18/UTC OF 24/03/2026\nAND VALID UP TO 06/UTC OF 25/03/2026\n1. WARNIGJ__\nTHUNDERSTORMS UNDER COURSE: OVER SOUTHERN JONIAN SEA, SICILY STRAIT,\nLIBYAN SEA AND EASTERN MEDITERRANEAN SEA.\nTHUNDERSTORMS FORECAST: OVER LIBYAN SEA, SOUTHERN JONIAN SEA AND\nEASTERN MEDITERRANEAN SEA.\nGALES UNDER COURSE: NIL\nGALES FORECAST: NIL\n2. WEATHER SITUATION:\nINSTABFSFH_MYPMZ_PYMP_PMJP_FLAT FIELD OF 1024 HPA OVER WESTERN\nMEDITERRANEAN SEA. PRESSURE FIELD OF 1004 HPA OVER LEVANTINE BASIN.\nINSTABILITY AREA OVER LEVANTINE BASIN.\n3. FORECAST TO 06/UTC OF 25/03/2026 AND 12 HOURS OUTLOOK:\nNORTHERN ADRIATIC SEA: NORTD_PJHPYSEM_PMGSZ_SS_MF_YKQGEBQAXDW__OR -FEW CLOUDS -GOOD VISIBILITY -SMOOTH SEA / OUTLOOK:\nNORTHWESTERLY 3 -FEW CLOUDS.\nCENTRAL ADRIATIC SEA: NORTHWESTERLEM_Y _GFF_M_GZZ_M_FJFLFSFH_ON\nGJSF_DHMJPM_OUTLOOK: NORTHWESTERLY 4 -FEW CLOUDS.\nSOUTHERN ADRIATIC SEA: NORTHERLY 5 -FAIR -GOOD VISIBILITY\n-MODERATE SEA / OUTLOOK: NORTHWESTERLY 4 -FAIR.\n4. WIND AND SEA OUTLOOK OVEWMIHSFMJPJM_YZBM_ FTGCH_MZ._+_+6_+_9,+6_$06.26!_!_.*__'975_23'534)6 5 SEA 3/NORTHERLY 7 SEA\n5/NORTHERLY 5 SEA 4/NORTHERLY 6 SEA 4.\nCENTRAL ADRIATIC SEA: SOUTHERLY 4 SEA 3/WESTERLY 3 SEA 4/NORTHERLY\n7 SEA 6/NORTHERLY 6 SEA 5.\nSOUTHERN ADRIATIC SEA: SOUTHERLY 4 SEA 3/SOUTHERLY 6 JPM\nYTG_PJHPYS_ON\nYMGJPM\nY_GZYHD_PJHPYSEM_HMGJPM\nY_ONONGPWM_PH_Z_Y\n_ONGONNM\nK____F_U\nCZB___ZCZC",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Italy - Adriatic Sea and central Italian coast. This is a weather bulletin; readable sections mention thunderstorms, gales across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Thunderstorms under course: over southern jonian sea, sicily strait",
      "Thunderstorms forecast: over libyan sea, southern jonian sea and",
      "Gales under course: nil"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 18,
    "heading": "2026-03-24 21:11:16 AREA: T",
    "published_at": "2026-03-24 21:11:16",
    "area": "T",
    "message_id": "TA04",
    "text": "ZCZC TA04\n240834 UTC MAR\nOOSTENDERADIO MSI 119/26 \nCOASTAL ROUTE - DE PANNE-OOSTENDE \nSPECIAL PURPOSE BUOY KYCN, Y. _'.\n__*_._ Z_FFGM\n_U_PE ESTABLISHED \n\nNNNN",
    "clean_text": "ZCZC TA04\n240834 UTC MAR\nOOSTENDERADIO MSI 119/26\nCOASTAL ROUTE - DE PANNE-OOSTENDE\nSPECIAL PURPOSE BUOY KYCN, Y. _'.\n__*_._ Z_FFGM\n_U_PE ESTABLISHED\n\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Special purpose buoy kycn, y. '. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Special purpose buoy kycn, y. '",
      "Coastal route - de panne-oostende"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 19,
    "heading": "2026-03-24 21:10:22 AREA: T",
    "published_at": "2026-03-24 21:10:22",
    "area": "T",
    "message_id": "TE48",
    "text": "ZCZC TE48\n241910 UTC MAR\nOOSTENDERADIO WX 48/26\nTHAMES, DOVER AND THE BELGIAN COAST:\nSW 7, TEMPO INCR TO 8 ANWMHDPM_PPYMHZM_NW. TOMORROW GRAD DECR TO 6 TO 7. CLOUDY_ DRY. TONIGHT OVERCAST WITH RAIN FOLLOWED BY SH. TOMORROW MORNING BECMG DRY. MOD TO GOOD VIS, MOD DURING PRECIPITATION.\nNNNN",
    "clean_text": "ZCZC TE48\n241910 UTC MAR\nOOSTENDERADIO WX 48/26\nTHAMES, DOVER AND THE BELGIAN COAST:\nSW 7, TEMPO INCR TO 8 ANWMHDPM_PPYMHZM_NW. TOMORROW GRAD DECR TO 6 TO 7. CLOUDY_ DRY. TONIGHT OVERCAST WITH RAIN FOLLOWED BY SH. TOMORROW MORNING BECMG DRY. MOD TO GOOD VIS, MOD DURING PRECIPITATION.\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Belgium - Belgian coast and southern North Sea. Readable text says: Sw 7, tempo incr to 8 anwmhdpm ppymhzm nw. tomorrow grad decr to 6 to 7. cloudy dry. tonight overcast with rain followed by sh. tomorrow morning becmg dry. mod to good vis, mod during precipitation.",
    "decoded_highlights": [
      "Sw 7, tempo incr to 8 anwmhdpm ppymhzm nw. tomorrow grad decr to 6 to 7. cloudy dry. tonight overcast with rain followed by sh. tomorrow morning becmg dry. mod to good vis, mod during precipitation",
      "Thames, dover and the belgian coast",
      "Oostenderadio wx 48/26"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 21,
    "heading": "2026-03-24 21:04:39 AREA: P",
    "published_at": "2026-03-24 21:04:39",
    "area": "P",
    "message_id": "PL02",
    "text": "ZCZC PL02\n241903 UTC MAR 26\nWAVE HEIGHT WARNING  300CM TSS TERSCHELLING - GERMAN BIGHT ISSUED AT 241900 UTC MAR\n\nCONTAINER VESSELS WITH A LENGTH OF 100-200M ARE AT RISK OF LOSING CONTAINERS DURING HEAVY SEA CONDITIONS, IN PARTICULAR FROM A WEST-NORTHWEST TO NORT__PJHMHZMZYHDPYS_BU3_D_)__HDWQNBBQP_QB__AXJUB_JPMF_M_QQCEQB_VOID COMING ABEAM TO THE WAVES AND TAKE OTHER APPROPRIATE MEASURES T___ZFWMSZJFM_Z_FPYJ_NNNN",
    "clean_text": "ZCZC PL02\n241903 UTC MAR 26\nWAVE HEIGHT WARNING 300CM TSS TERSCHELLING - GERMAN BIGHT ISSUED AT 241900 UTC MAR\n\nCONTAINER VESSELS WITH A LENGTH OF 100-200M ARE AT RISK OF LOSING CONTAINERS DURING HEAVY SEA CONDITIONS, IN PARTICULAR FROM A WEST-NORTHWEST TO NORT__PJHMHZMZYHDPYS_BU3_D_)__HDWQNBBQP_QB__AXJUB_JPMF_M_QQCEQB_VOID COMING ABEAM TO THE WAVES AND TAKE OTHER APPROPRIATE MEASURES T___ZFWMSZJFM_Z_FPYJ_NNNN",
    "resolved_station_name": "Netherlands Coastguard Radio",
    "resolved_country": "Netherlands",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Dutch EEZ and southern North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "TERSCHELLING"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "navigational warning",
    "subject_code": "L",
    "decoded_summary": "navigational warning for Netherlands - Dutch EEZ and southern North Sea. Readable text says: Container vessels with a length of 100-200m are at risk of losing containers during heavy sea conditions, in particular from a west-northwest to nort pjhmhzmzyhdpys bu3 d ) hdwqnbbqp qb axjub jpmf m qqceqb void coming abeam to the waves and take other appropriate measures t zfwmszjfm z fpyj nnnn. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Container vessels with a length of 100-200m are at risk of losing containers during heavy sea conditions, in particular from a west-northwest to nort pjhmhzmzyhdpys bu3 d ) hdwqnbbqp qb axjub jpmf m qqceqb void coming abeam to the waves and take other appropriate measures t zfwmszjfm z fpyj nnnn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 22,
    "heading": "2026-03-24 21:04:25 AREA: S",
    "published_at": "2026-03-24 21:04:25",
    "area": "S",
    "message_id": "SA42",
    "text": "ZCZC SA42\nNCC-HAMBURG\n110800 _ZCZC",
    "clean_text": "ZCZC SA42\nNCC-HAMBURG\n110800 _ZCZC",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NCC HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text says: Ncc-hamburg. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ncc-hamburg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 24,
    "heading": "2026-03-24 21:02:12 AREA: S",
    "published_at": "2026-03-24 21:02:12",
    "area": "S",
    "message_id": "SA67",
    "text": "ZCZC SA67\nNCC-HAMBURG\n241600 UTC MAR 26\nNAV. WARN. NO. 173\nTSS TERSCHELLING-GERMAN BIGHT\nFOLLOWING CONTAINERVPJJPSJMYPMHMYFJ_MZ.'+*!._+_!06*.29,__+:_$!2_._$0.*0)02.2:6!_.$__3- :+2!_!+*.2.$!_$.7_0*._6+_.9,888_NORTH TO NORTHWEST DIRECTION:\nAT A WAVE HEIGHT ABOVE 3.0M CONTAINERVESSELS HAVE TO TAKE APPROPRIATE\n\nMEASURES AND ALTER COURSE IF NECESSARY TO AVOID COMING TRANSVERSE TO\n\nTHE WAVE DIRECTION.\nAT A WAVE HEIGHT ABOVE 4.0M CONTAINERVESSELS WITH A LENGTH ABOVE 200M\n\nARE RECOMMENDED TO FOLLOW ALTERNATIVPMYZCHPM_FMHJJMPJHM_YFPJSWONGWM_PYBMLF_DHM_PJHPYM_ACH.\nNNNN",
    "clean_text": "ZCZC SA67\nNCC-HAMBURG\n241600 UTC MAR 26\nNAV. WARN. NO. 173\nTSS TERSCHELLING-GERMAN BIGHT\nFOLLOWING CONTAINERVPJJPSJMYPMHMYFJ_MZ.'+*!._+_!06*.29,__+:_$!2_._$0.*0)02.2:6!_.$__3- :+2!_!+*.2.$!_$.7_0*._6+_.9,888_NORTH TO NORTHWEST DIRECTION:\nAT A WAVE HEIGHT ABOVE 3.0M CONTAINERVESSELS HAVE TO TAKE APPROPRIATE\n\nMEASURES AND ALTER COURSE IF NECESSARY TO AVOID COMING TRANSVERSE TO\n\nTHE WAVE DIRECTION.\nAT A WAVE HEIGHT ABOVE 4.0M CONTAINERVESSELS WITH A LENGTH ABOVE 200M\n\nARE RECOMMENDED TO FOLLOW ALTERNATIVPMYZCHPM_FMHJJMPJHM_YFPJSWONGWM_PYBMLF_DHM_PJHPYM_ACH.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NCC HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text says: Measures and alter course if necessary to avoid coming transverse to. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Measures and alter course if necessary to avoid coming transverse to",
      "At a wave height above 3.0m containervessels have to take appropriate",
      "At a wave height above 4.0m containervessels with a length above 200m"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 25,
    "heading": "2026-03-24 21:00:48 AREA: S",
    "published_at": "2026-03-24 21:00:48",
    "area": "S",
    "message_id": "SE09",
    "text": "ZCZC SE09\n241900 NAVTEX-HAMBURG (NCC)\n9,__0_$06_+60_*_._+6._06_.)!_$_9,9,__:0*23_WIND: SOUTHWEST 5, INCREASING 7, LATER LOCALLY 8.\nVISIBILITY/WEATHER: RAIN OR SHOWER WITH PARTLY VERY POOR VISIBILITY.\n\nSEA: 2,5 METER, WESTERN PART LATER 4 ME_ER.\n\nWEDNESDAY:\nWIND: SOUTHWEST ABOU_ _UM G_FYJHM_CJHJ_\n_SHIFTING NORTHWEST AND LATER\nDECREASING ABOUT 6.\nVISFLFSFHE_TGUPHDPY_FIRST RAIN OR SHOWER WITH POOR VISIBILITY.\nSEA: AT TIMES 5 METER.\nNNNN",
    "clean_text": "ZCZC SE09\n241900 NAVTEX-HAMBURG (NCC)\n9,__0_$06_+60_*_._+6._06_.)!_$_9,9,__:0*23_WIND: SOUTHWEST 5, INCREASING 7, LATER LOCALLY 8.\nVISIBILITY/WEATHER: RAIN OR SHOWER WITH PARTLY VERY POOR VISIBILITY.\n\nSEA: 2,5 METER, WESTERN PART LATER 4 ME_ER.\n\nWEDNESDAY:\nWIND: SOUTHWEST ABOU_ _UM G_FYJHM_CJHJ_\n_SHIFTING NORTHWEST AND LATER\nDECREASING ABOUT 6.\nVISFLFSFHE_TGUPHDPY_FIRST RAIN OR SHOWER WITH POOR VISIBILITY.\nSEA: AT TIMES 5 METER.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NAVTEX HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Germany - German Bight and German North Sea. Readable text says: Visibility/weather: rain or shower with partly very poor visibility. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Visibility/weather: rain or shower with partly very poor visibility",
      "Visflfsfhe tguphdpy first rain or shower with poor visibility",
      "Sea: 2,5 meter, western part later 4 me er"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 26,
    "heading": "2026-03-24 21:00:16 AREA: S",
    "published_at": "2026-03-24 21:00:16",
    "area": "S",
    "message_id": "SB32",
    "text": "ZCZC SB32\n241900 NAVTEX-HAMBURG (NCC)\nWARNING NO. 100  241505U\nC MAR\nFOR GERMAN BIGHT:\nSW 7 IMMINENT, SHIFTING W LATER.\nNNNN",
    "clean_text": "ZCZC SB32\n241900 NAVTEX-HAMBURG (NCC)\nWARNING NO. 100 241505U\nC MAR\nFOR GERMAN BIGHT:\nSW 7 IMMINENT, SHIFTING W LATER.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NAVTEX HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Germany - German Bight and German North Sea. Readable text says: Warning no. 100 241505u.",
    "decoded_highlights": [
      "Warning no. 100 241505u",
      "Sw 7 imminent, shifting w later",
      "241900 navtex-hamburg (ncc)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 27,
    "heading": "2026-03-24 20:42:17 AREA: Q",
    "published_at": "2026-03-24 20:42:17",
    "area": "Q",
    "message_id": "QE44",
    "text": "ZCZC QE44\n\n241841 UTC MAR 26\nSPLIT RADIO\n\nWEATHER BULLETIN FOR ADRIATIC ISSUED BY THE MARINE METEOROLOGICAL CENTER SPLIT ON 24/03/2026 AT 1700 UTC\n\n1. WARNING:\nLOC GUSTS OF NE WIND, OFFSHORE CENTRAL/S-ERN ADRIATIC NW WINDM_PH_Y_MGVH_MGHZ_ZY_Z_MWPXY_BON_N_SYNOPSIS:\nRIDGE OF HIGH STRETCHING OVER THE ADRIATIC FM THE W WHICH SLOWLY WEAKENING. TOMORROW DEEP TROUGH\nGRADUALLY APPROACHING FM NW.\n\n3. FORECAST FOR THE NEXT 24 HOURS VALID UNTIL 25/03/2026 AT 1700 UTC\n\nN-ERN ADRIATIC:\nNW WIND 6-16, IN VELEBITSKI KANAL NE 6-16 KT, STILL TODAY LOC UP TO 20 KT. TOMORROW TOWARD MORNING\nPXY_MGHZ_Y_M_FW__MHCYF_MHZMJ_W WIND 4-14 KT, BY THE END OF THE DAY INCR ON 10-20 KT. SEA 1-2, \nOVERNIGHT/TOMORROW AFTERNOON 2-3. VIS 10-20 KM. MOSTLY CLEAR, TOMORROW TOWARD EVENING BCMG CLOUDY_\nCENTRAL ADRIATIC:\nNE WIND 6-16, LOC TO 20 KT, OFFSHORE NW WIND 10-20 KT, STILL TODAY LOC UP TO 24 KT. TOMORROW TOWARD\nMORNING NW, ALO_MH_M_ZJHMM_FWMWP_YMHZM_Y YMGVH_M__HPYZZMHCYF_MH_MU_W, ON N-ERN PART OF AREA S/SW.\nSEA 2-3, OFFSHORE LOCM_PYMGHZ_ZYXZ_MWP_YMZM_ ALONG THE COAST 1-2. VIS 10-20 KM. MOSTLY CLEAR.\n\nS-ERN ADRIATIC:\nNE WIND 6-16 KT, LOC UP TO 20 KT, OFFSHORE NW WIND 10-20 KT, STILL TODAY LOC UP TO 24 KT.__+_+6_+_9,_+_6_._+6!_.+.__06._6_.+_.60_.__$.0_063_$060.20_6.\n-9PKXQBH_ SEA 2-3, OVERDAY/OVERNIGHT\nOFFSHORE LOC 3-4. VIS 10-20 KM. MOSTLY CLEAR.\nNNNN",
    "clean_text": "ZCZC QE44\n\n241841 UTC MAR 26\nSPLIT RADIO\n\nWEATHER BULLETIN FOR ADRIATIC ISSUED BY THE MARINE METEOROLOGICAL CENTER SPLIT ON 24/03/2026 AT 1700 UTC\n\n1. WARNING:\nLOC GUSTS OF NE WIND, OFFSHORE CENTRAL/S-ERN ADRIATIC NW WINDM_PH_Y_MGVH_MGHZ_ZY_Z_MWPXY_BON_N_SYNOPSIS:\nRIDGE OF HIGH STRETCHING OVER THE ADRIATIC FM THE W WHICH SLOWLY WEAKENING. TOMORROW DEEP TROUGH\nGRADUALLY APPROACHING FM NW.\n\n3. FORECAST FOR THE NEXT 24 HOURS VALID UNTIL 25/03/2026 AT 1700 UTC\n\nN-ERN ADRIATIC:\nNW WIND 6-16, IN VELEBITSKI KANAL NE 6-16 KT, STILL TODAY LOC UP TO 20 KT. TOMORROW TOWARD MORNING\nPXY_MGHZ_Y_M_FW__MHCYF_MHZMJ_W WIND 4-14 KT, BY THE END OF THE DAY INCR ON 10-20 KT. SEA 1-2,\nOVERNIGHT/TOMORROW AFTERNOON 2-3. VIS 10-20 KM. MOSTLY CLEAR, TOMORROW TOWARD EVENING BCMG CLOUDY_\nCENTRAL ADRIATIC:\nNE WIND 6-16, LOC TO 20 KT, OFFSHORE NW WIND 10-20 KT, STILL TODAY LOC UP TO 24 KT. TOMORROW TOWARD\nMORNING NW, ALO_MH_M_ZJHMM_FWMWP_YMHZM_Y YMGVH_M__HPYZZMHCYF_MH_MU_W, ON N-ERN PART OF AREA S/SW.\nSEA 2-3, OFFSHORE LOCM_PYMGHZ_ZYXZ_MWP_YMZM_ ALONG THE COAST 1-2. VIS 10-20 KM. MOSTLY CLEAR.\n\nS-ERN ADRIATIC:\nNE WIND 6-16 KT, LOC UP TO 20 KT, OFFSHORE NW WIND 10-20 KT, STILL TODAY LOC UP TO 24 KT.__+_+6_+_9,_+_6_._+6!_.+.__06._6_.+_.60_.__$.0_063_$060.20_6.\n-9PKXQBH_ SEA 2-3, OVERDAY/OVERNIGHT\nOFFSHORE LOC 3-4. VIS 10-20 KM. MOSTLY CLEAR.\nNNNN",
    "resolved_station_name": "Split",
    "resolved_country": "Croatia",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "SPLIT RADIO"
    ],
    "display_region_heading": "Croatia - Adriatic Sea",
    "display_region_label": "Split, Croatia",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Croatia - Adriatic Sea. Readable text says: Weather bulletin for adriatic issued by the marine meteorological center split on 24/03/2026 at 1700 utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Weather bulletin for adriatic issued by the marine meteorological center split on 24/03/2026 at 1700 utc",
      "3. forecast for the next 24 hours valid until 25/03/2026 at 1700 utc",
      "Loc gusts of ne wind, offshore central/s-ern adriatic nw windm ph y mgvh mghz zy z mwpxy bon n synopsis"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 28,
    "heading": "2026-03-24 20:41:08 AREA: Q",
    "published_at": "2026-03-24 20:41:08",
    "area": "Q",
    "message_id": "QA02",
    "text": "ZCZC QA02\n241840 UTC MAR 26\nSPLIT RADIO\n\nNAVIGATIONAL WNG_.__6\n_4/2026\n\nCENTRAL ADRIATIC - KASTESJ_MA_SQP__NXDYHJ_XM _U _ __UEMPC_GF_H_PYCCONONG_JHPSJ_YN FROM 0800 UNTIL 1500 LT \nK_MGCHFSM_ YMG_H_ILITARY EXERCISES IN AREA BOUNDED BY (WGS 84):\nA) 43-31,5N 016-20,0/-\n_)_'.600_,)9,/0:(.__Z_ REAEPNTN 016-21,5E\nD) 43-30,5N 016-20,0E\nWIWPMLPYHDMYP_CPJHPW_NNN\n\nZCZC",
    "clean_text": "ZCZC QA02\n241840 UTC MAR 26\nSPLIT RADIO\n\nNAVIGATIONAL WNG_.__6\n_4/2026\n\nCENTRAL ADRIATIC - KASTESJ_MA_SQP__NXDYHJ_XM _U _ __UEMPC_GF_H_PYCCONONG_JHPSJ_YN FROM 0800 UNTIL 1500 LT\nK_MGCHFSM_ YMG_H_ILITARY EXERCISES IN AREA BOUNDED BY (WGS 84):\nA) 43-31,5N 016-20,0/-\n_)_'.600_,)9,/0:(.__Z_ REAEPNTN 016-21,5E\nD) 43-30,5N 016-20,0E\nWIWPMLPYHDMYP_CPJHPW_NNN\n\nZCZC",
    "resolved_station_name": "Split",
    "resolved_country": "Croatia",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "SPLIT RADIO"
    ],
    "display_region_heading": "Croatia - Adriatic Sea",
    "display_region_label": "Split, Croatia",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Croatia - Adriatic Sea. Readable text says: K mgchfsm ymg h ilitary exercises in area bounded by (wgs 84). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "K mgchfsm ymg h ilitary exercises in area bounded by (wgs 84)",
      "Wiwpmlpyhdmyp cpjhpw nnn",
      "Split radio"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 29,
    "heading": "2026-03-24 20:40:19 AREA: Q",
    "published_at": "2026-03-24 20:40:19",
    "area": "Q",
    "message_id": "QA01",
    "text": "ZCZC QA01\n241840 UTC MAR 26\nSPLIT RWFZONON_ZJHSMKBHKBDHZLA__WEBKUE(___KBH_X_CB_XJC__W_RD_OM:.0+__- 0945, BREAKWATER, EXPLOSIVE DEVICE IN VICINITY 44-52,55 N 013-47,77 E. NAVIGATION, ANCHORING AND OTHER ACTIVITIES IN 150 METERS RADIUS FROM POSITION PROHIBITED.\nNNNN",
    "clean_text": "ZCZC QA01\n241840 UTC MAR 26\nSPLIT RWFZONON_ZJHSMKBHKBDHZLA__WEBKUE(___KBH_X_CB_XJC__W_RD_OM:.0+__- 0945, BREAKWATER, EXPLOSIVE DEVICE IN VICINITY 44-52,55 N 013-47,77 E. NAVIGATION, ANCHORING AND OTHER ACTIVITIES IN 150 METERS RADIUS FROM POSITION PROHIBITED.\nNNNN",
    "display_region_heading": "Unresolved B1 code Q",
    "display_region_label": "B1 code Q",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code Q. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Split rwfzonon zjhsmkbhkbdhzla webkue( kbh x cb xjc w rd om:.0 - 0945, breakwater, explosive device in vicinity 44-52,55 n 013-47,77 e. navigation, anchoring and other activities in 150 meters radius from position prohibited"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 31,
    "heading": "2026-03-24 20:32:56 AREA: P",
    "published_at": "2026-03-24 20:32:56",
    "area": "P",
    "message_id": "PA47",
    "text": "ZCZC PA47\n090904._:_/._6_\n_MSI 78/26\nNORTHSEA\nCHART 130 (INT 1423)\nWEST CARDINAL BUOY M-S\n52-07.4N 004-16.3E\nESTABLISHED\nNNNN",
    "clean_text": "ZCZC PA47\n090904._:_/._6_\n_MSI 78/26\nNORTHSEA\nCHART 130 (INT 1423)\nWEST CARDINAL BUOY M-S\n52-07.4N 004-16.3E\nESTABLISHED\nNNNN",
    "resolved_station_name": "Netherlands Coastguard Radio",
    "resolved_country": "Netherlands",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Dutch EEZ and southern North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "NORTHSEA"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Netherlands - Dutch EEZ and southern North Sea. Readable text says: West cardinal buoy m-s. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "West cardinal buoy m-s",
      "Northsea",
      "Chart 130 (int 1423)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 36,
    "heading": "2026-03-24 20:25:05 AREA: O",
    "published_at": "2026-03-24 20:25:05",
    "area": "O",
    "message_id": "",
    "text": "ZCZC OA_W_\nONGBSSHMYWFZMJPXCYFHP_JMG_PJ__PONSSMHER MT A_C_IC METAGAZ, IMO 924314!!_ .$8'._!_. _!_!.=!*.+_.:20=/+__!2 -,$ $48!58,_ 59 5_3 049/8.856 +:_+*__NCMNMON/::_0,,_(_9CAG_XB_M_RBCENF_L_FHFEGEQBKEBE8_ZHMJDZ_FMDMC_MJFYS_MOAMW_EMZYMF_DH\n_M_VG\nYMSZZ_ZC_M_CJHMLPMZF_HFS__5NM AWAY _GOX_TH_M_VJJPSMHMSSMHF_AV NEAR THE AOVE MEN_IONED VESSEL IS STRICTLY PROHIBITED.\nNNNN",
    "clean_text": "ZCZC OA_W_\nONGBSSHMYWFZMJPXCYFHP_JMG_PJ__PONSSMHER MT A_C_IC METAGAZ, IMO 924314!!_ .$8'._!_. _!_!.=!*.+_.:20=/+__!2 -,$ $48!58,_ 59 5_3 049/8.856 +:_+*__NCMNMON/::_0,,_(_9CAG_XB_M_RBCENF_L_FHFEGEQBKEBE8_ZHMJDZ_FMDMC_MJFYS_MOAMW_EMZYMF_DH\n_M_VG\nYMSZZ_ZC_M_CJHMLPMZF_HFS__5NM AWAY _GOX_TH_M_VJJPSMHMSSMHF_AV NEAR THE AOVE MEN_IONED VESSEL IS STRICTLY PROHIBITED.\nNNNN",
    "display_region_heading": "Unresolved B1 code O",
    "display_region_label": "B1 code O",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code O. Readable text says: Ymszz zc m cjhmlpmzf hfs 5nm away gox th m vjjpsmhmssmhf av near the aove men ioned vessel is strictly prohibited. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ymszz zc m cjhmlpmzf hfs 5nm away gox th m vjjpsmhmssmhf av near the aove men ioned vessel is strictly prohibited"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 37,
    "heading": "2026-03-24 20:24:16 AREA: O",
    "published_at": "2026-03-24 20:24:16",
    "area": "O",
    "message_id": "OE85",
    "text": "ZCZC OE85\nLT WX _OREAST VALID 24/0600 TILL 24/1800 UTC\n\nWRNGSC-,OILK_GH PRESSURE IS EXTENDING TOWARDS LIBYA \nWX - RATHT_VIS - GOOD EXCEPT IN SHOWERS\nWIND - NNW F3_TO 4 LOC F4 TO5\nSEA - SLIGHT\nSWELL - NE_\nNNNN",
    "clean_text": "ZCZC OE85\nLT WX _OREAST VALID 24/0600 TILL 24/1800 UTC\n\nWRNGSC-,OILK_GH PRESSURE IS EXTENDING TOWARDS LIBYA\nWX - RATHT_VIS - GOOD EXCEPT IN SHOWERS\nWIND - NNW F3_TO 4 LOC F4 TO5\nSEA - SLIGHT\nSWELL - NE_\nNNNN",
    "display_region_heading": "Unresolved B1 code O",
    "display_region_label": "B1 code O",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Unresolved B1 code O. Readable text says: Wx - ratht vis - good except in showers.",
    "decoded_highlights": [
      "Wx - ratht vis - good except in showers",
      "Lt wx oreast valid 24/0600 till 24/1800 utc",
      "Wrngsc-,oilk gh pressure is extending towards libya"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 38,
    "heading": "2026-03-24 20:23:04 AREA: T",
    "published_at": "2026-03-24 20:23:04",
    "area": "T",
    "message_id": "",
    "text": "ZIZC OA25\nCOASTAL AOOING NR 122/26\n=SBEAIT OF SICILSUJAQ_ KQTTH 2026, C/L _AAVSLIET IMO_ BZ\nWILL CARRY O_EMOVAI DPERATIO_S _HOMHDPM_ZS_Z_FMH_XV_X_CBGXKO_NBNCKGHN_M ET TU PWMIIN - 012 57 34.8E\n3. 33 51 38.7N_QA\n_V_MWMVPPMMJ_PHEMWFJH_PMZ_MZHMSPJJMHDM_M FROM THE ABOVE MENTIO ED UNIT TO BE CONSIDERED WITH LIMITED MANOUVERABILITY\n_NNN\n\n_\nZCZC",
    "clean_text": "ZIZC OA25\nCOASTAL AOOING NR 122/26\n=SBEAIT OF SICILSUJAQ_ KQTTH 2026, C/L _AAVSLIET IMO_ BZ\nWILL CARRY O_EMOVAI DPERATIO_S _HOMHDPM_ZS_Z_FMH_XV_X_CBGXKO_NBNCKGHN_M ET TU PWMIIN - 012 57 34.8E\n3. 33 51 38.7N_QA\n_V_MWMVPPMMJ_PHEMWFJH_PMZ_MZHMSPJJMHDM_M FROM THE ABOVE MENTIO ED UNIT TO BE CONSIDERED WITH LIMITED MANOUVERABILITY\n_NNN\n\n_\nZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Sbeait of sicilsujaq kqtth 2026, c/l aavsliet imo bz. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Sbeait of sicilsujaq kqtth 2026, c/l aavsliet imo bz",
      "V mwmvppmmj phemwfjh pmz mzhmspjjmhdm m from the above mentio ed unit to be considered with limited manouverability",
      "Coastal aooing nr 122/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 39,
    "heading": "2026-03-24 20:22:29 AREA: O",
    "published_at": "2026-03-24 20:22:29",
    "area": "O",
    "message_id": "OA04",
    "text": "ZCZC OA04\nNA\nIGA__ONAL WARNING\nLOST ANCHOR AND CSA_\n\nH_O_ION BUNKERING AREA 6\nCHAIN IS LAID ALONG THE LINE FROM 35-57.1N 014-19E TO 35-57.2N 014-19.6E. KE_P A SAFE DISTANCE.\nNNNN",
    "clean_text": "ZCZC OA04\nNA\nIGA__ONAL WARNING\nLOST ANCHOR AND CSA_\n\nH_O_ION BUNKERING AREA 6\nCHAIN IS LAID ALONG THE LINE FROM 35-57.1N 014-19E TO 35-57.2N 014-19.6E. KE_P A SAFE DISTANCE.\nNNNN",
    "display_region_heading": "Unresolved B1 code O",
    "display_region_label": "B1 code O",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code O. Readable text says: Chain is laid along the line from 35-57.1n 014-19e to 35-57.2n 014-19.6e. ke p a safe distance. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Chain is laid along the line from 35-57.1n 014-19e to 35-57.2n 014-19.6e. ke p a safe distance",
      "Lost anchor and csa",
      "Iga onal warning"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 40,
    "heading": "2026-03-24 20:20:17 AREA: O",
    "published_at": "2026-03-24 20:20:17",
    "area": "O",
    "message_id": "OA73",
    "text": "ZCZC OA73\nNTM NO 19/26\nTM NOTIFIES THAT SEVERAL \nY_PF INVESTIGATIVE SURVEYS WIZL BE C__YFPWMZCHM_ZYMHOPM__Z_ZJPWMJPXZWMFHPYFZ_P_HZYMLPH_PPBM_ZLVND SICILYEM\n\nTHESE INVESTIGAOVVMJCY\nP__B __JBSNB_KE_UB_XDO_E VESSLES SILVIO 1, CELINA 2 AND OCEAN MARLIN AND TH_ANCILLARY EQUIPMENT.\n\nWEATHER PERMITTING THE SURVEYS ARE PLANNED TO COMMERCE ON _UNDAY 15 MARCH 202*=__2.60._+.)0.0_PXHPWMHZMLPMXZ_SPHPWML_MJHCYWJMPPF_GBE_\nU_UEO\nN\nNGHDPMF_PJ_F_HF_PM_KY WILL BE CARRIED OUT ALONG THE ROUTE BETWEEN THE FOLLOWING POINTS \nA - 35-57.112N 014-26.334E\nB - 36-02.029N 014-28.574E\nC - 36-06.061N 104-26._94E \nD _A UYAON KPQNAE_MOORE \nEN-=36-22.787N 014-31.776E\n\nMARINERN A SAFE DISTANCE OF 0.50 NAUTICAL MILES FROM T_E VESSELS WHEN THEY ARE DETECT_D OR SIGHTED.\nNNNN",
    "clean_text": "ZCZC OA73\nNTM NO 19/26\nTM NOTIFIES THAT SEVERAL\nY_PF INVESTIGATIVE SURVEYS WIZL BE C__YFPWMZCHM_ZYMHOPM__Z_ZJPWMJPXZWMFHPYFZ_P_HZYMLPH_PPBM_ZLVND SICILYEM\n\nTHESE INVESTIGAOVVMJCY\nP__B __JBSNB_KE_UB_XDO_E VESSLES SILVIO 1, CELINA 2 AND OCEAN MARLIN AND TH_ANCILLARY EQUIPMENT.\n\nWEATHER PERMITTING THE SURVEYS ARE PLANNED TO COMMERCE ON _UNDAY 15 MARCH 202*=__2.60._+.)0.0_PXHPWMHZMLPMXZ_SPHPWML_MJHCYWJMPPF_GBE_\nU_UEO\nN\nNGHDPMF_PJ_F_HF_PM_KY WILL BE CARRIED OUT ALONG THE ROUTE BETWEEN THE FOLLOWING POINTS\nA - 35-57.112N 014-26.334E\nB - 36-02.029N 014-28.574E\nC - 36-06.061N 104-26._94E\nD _A UYAON KPQNAE_MOORE\nEN-=36-22.787N 014-31.776E\n\nMARINERN A SAFE DISTANCE OF 0.50 NAUTICAL MILES FROM T_E VESSELS WHEN THEY ARE DETECT_D OR SIGHTED.\nNNNN",
    "display_region_heading": "Unresolved B1 code O",
    "display_region_label": "B1 code O",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code O. Readable text says: Y pf investigative surveys wizl be c yfpwmzchm zymhopm z zjpwmjpxzwmfhpyfz p hzymlph ppbm zlvnd sicilyem. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Y pf investigative surveys wizl be c yfpwmzchm zymhopm z zjpwmjpxzwmfhpyfz p hzymlph ppbm zlvnd sicilyem",
      "Weather permitting the surveys are planned to commerce on unday 15 march 202 2.60. .)0.0 pxhpwmhzmlpmxz sphpwml mjhcywjmppf gbe",
      "P b jbsnb ke ub xdo e vessles silvio 1, celina 2 and ocean marlin and th ancillary equipment"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 41,
    "heading": "2026-03-24 19:42:49 AREA: K",
    "published_at": "2026-03-24 19:42:49",
    "area": "K",
    "message_id": "KA26",
    "text": "ZCZC KA26\nMCY_\nM_DPYLZCYM\nUETUEONGWZ_PYM_MGWJHM_XDPMPJHONGFWJMHZM\nF_HFZM_D_PJONGFJIIIPYMZCHMZ_MJ_Y\nF__M\nMGHT UNLIT\nBOUEE BASSURELLE\n50-32.80N 000-57.80E\nNAVIGATE UFH_M_CHFZONGONNIKKKKKKKKKKKKKKKBAH_LO_U\nUZCZC",
    "clean_text": "ZCZC KA26\nMCY_\nM_DPYLZCYM\nUETUEONGWZ_PYM_MGWJHM_XDPMPJHONGFWJMHZM\nF_HFZM_D_PJONGFJIIIPYMZCHMZ_MJ_Y\nF__M\nMGHT UNLIT\nBOUEE BASSURELLE\n50-32.80N 000-57.80E\nNAVIGATE UFH_M_CHFZONGONNIKKKKKKKKKKKKKKKBAH_LO_U\nUZCZC",
    "display_region_heading": "Unresolved B1 code K",
    "display_region_label": "B1 code K",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code K. Readable text says: Navigate ufh m chfzongonnikkkkkkkkkkkkkkkbah lo u. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Navigate ufh m chfzongonnikkkkkkkkkkkkkkkbah lo u",
      "M dpylzcym",
      "Uetueongwz pym mgwjhm xdpmpjhongfwjmhzm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 42,
    "heading": "2026-03-24 19:41:02 AREA: K",
    "published_at": "2026-03-24 19:41:02",
    "area": "K",
    "message_id": "",
    "text": "ZCZC KA29_\n__=7),-= :_34_974_ 029/26\n_ST\nAIDS TO NAVIGATION CHANGES\nLIGHT\nBUO_UJ__HT UNLIT\nBYO_ FAIRY SUD\n51-21.20N 002-17.30E\nNAVIGATE WIT_W_B__CZC KA28\n23!61_1!+__-637/-SUR-OER\nWORKS\nCABLE _AYING OPERTFZO_G_YZB__HDVGCHIIK_XMZYM\nAAONTC_RTHER NOTICE\nNO FISHIMG_NV HY__SFX__XGWYPW_FHMG_DZYFSMWMWF_FM_FHDFIII_IS AREA\nAREA BOUNDED BY:\n50-10.84N 0_1-7+_66_09,\n__I_YGM_G.::-/HN__F_BU__DUBOWAWQMPWE\n50-15.86N 001-19.41E\n50-19.01N 001-12.02E\n50-19.74N 001-04.77E\n50-20.11N 001-04.93E\n50-19.36N 001-12.46E\n50-15.97N 001-20.08E\n50-13.73N 001-21.92E\nNNNN",
    "clean_text": "ZCZC KA29_\n__=7),-= :_34_974_ 029/26\n_ST\nAIDS TO NAVIGATION CHANGES\nLIGHT\nBUO_UJ__HT UNLIT\nBYO_ FAIRY SUD\n51-21.20N 002-17.30E\nNAVIGATE WIT_W_B__CZC KA28\n23!61_1!+__-637/-SUR-OER\nWORKS\nCABLE _AYING OPERTFZO_G_YZB__HDVGCHIIK_XMZYM\nAAONTC_RTHER NOTICE\nNO FISHIMG_NV HY__SFX__XGWYPW_FHMG_DZYFSMWMWF_FM_FHDFIII_IS AREA\nAREA BOUNDED BY:\n50-10.84N 0_1-7+_66_09,\n__I_YGM_G.::-/HN__F_BU__DUBOWAWQMPWE\n50-15.86N 001-19.41E\n50-19.01N 001-12.02E\n50-19.74N 001-04.77E\n50-20.11N 001-04.93E\n50-19.36N 001-12.46E\n50-15.97N 001-20.08E\n50-13.73N 001-21.92E\nNNNN",
    "display_region_heading": "Unresolved B1 code K",
    "display_region_label": "B1 code K",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code K. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Cable aying opertfzo g yzb hdvgchiik xmzym",
      "No fishimg nv hy sfx xgwypw fhmg dzyfsmwmwf fm fhdfiii is area",
      "Aaontc rther notice"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 43,
    "heading": "2026-03-24 19:37:23 AREA: J",
    "published_at": "2026-03-24 19:37:23",
    "area": "J",
    "message_id": "JA7",
    "text": "ZCZC JA7\n__$*8_/_02/7186_(_0__\nZHQ\nZU_WQV__Q_ECDG__P_\nL_TYZSTERN BALTIC\n_PS EXERCISES 282100 UTC FEB THRU 3121_0 UTC__Y\n_N AREA TEMPORARILY DANGEROUS TO SHIPPING BR-161\n55-09.50N 019-45.30E 55-09.50N 020-00E\n55-02NV020-00E 55-02N 019-39.60E\nCAN THIS MSG 312200 UTC MAR\nNNNN",
    "clean_text": "ZCZC JA7\n__$*8_/_02/7186_(_0__\nZHQ\nZU_WQV__Q_ECDG__P_\nL_TYZSTERN BALTIC\n_PS EXERCISES 282100 UTC FEB THRU 3121_0 UTC__Y\n_N AREA TEMPORARILY DANGEROUS TO SHIPPING BR-161\n55-09.50N 019-45.30E 55-09.50N 020-00E\n55-02NV020-00E 55-02N 019-39.60E\nCAN THIS MSG 312200 UTC MAR\nNNNN",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code J. Readable text says: N area temporarily dangerous to shipping br-161. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "N area temporarily dangerous to shipping br-161",
      "L tyzstern baltic"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 47,
    "heading": "2026-03-24 19:30:19 AREA: J",
    "published_at": "2026-03-24 19:30:19",
    "area": "J",
    "message_id": "",
    "text": "ZCZC JA_6\n191020 _75: .-4 \nGERMAD NAV WARN 162/26\n!__'534, _-)58$7:53$ \nBY MV MIRANDA__517AD2\nAROUND O PSN: 54-33.4N 012-32.0E.\n_ _AFETY DISTANCE OF 0.5 NM IS REQUIRED\n_MD__\nZCZC",
    "clean_text": "ZCZC JA_6\n191020 _75: .-4\nGERMAD NAV WARN 162/26\n!__'534, _-)58$7:53$\nBY MV MIRANDA__517AD2\nAROUND O PSN: 54-33.4N 012-32.0E.\n_ _AFETY DISTANCE OF 0.5 NM IS REQUIRED\n_MD__\nZCZC",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code J. Readable text says: Around o psn: 54-33.4n 012-32.0e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Around o psn: 54-33.4n 012-32.0e",
      "Afety distance of 0.5 nm is required",
      "Germad nav warn 162/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 49,
    "heading": "2026-03-24 19:23:20 AREA: J",
    "published_at": "2026-03-24 19:23:20",
    "area": "J",
    "message_id": "JE35",
    "text": "ZCZC JE35\n241517 UTC MAR\nBALTIC SEA WEATHERFORECAST\n\nNEAR GALE WARNING\nBAY\nZ.)+\n9_,__ THE Q_ARK, NORTHERN SEVZ_MLZHDF_MGJZCHDPYMJPMZ_MSAWGKBKE_ELAGO SEA, THPMLPSHJ_MGIIK_VH_P_H\nMGJPMZ_MSW_M_AE_WE_BSK_D_:3,54-) _-)58:, SOUTHERN BALTIC, WESTERN BALTIC, THE SOUND, SOUTHEASTERN BALTIC, GULF OF RIGA\n\nGALE WARNING\nSKAGERRAK\n\nWEATHER SUMMARY:\nEXTENSIVE L SITUATED IN NORWEGIAN SEA AND DURING NIGHT DEVELOPS A MINOR L IN THE NO_TH SEA WHICH TOMORROW MOV IN OVER S SCANDINAVIA.\n\nFORECAST VALID 24 HOURS (WIND SCALE IN METERS PER SECOND)\n\nSKAGERRAK\nSW 7-12. OVERNIGHT S. TOMORROW BACK W-NW AND INCR 10-15, TOWARDS EVENING IN W PART 15-20. RISK OF FOG O_MYN_M_ MOD-POOR VIS. TOMORROW AFTERNOON MAINLY GOOD VIS.\n\nKATTEGAT, THE BELTS\nS-SW 7-12. OVERNIGHT INCR 10- 15. TOMORROW W. TEMPO RAIN WITH MOD-POOR VIS_9,9,_'_0.\n0069,_*7.__ _.9:_2.20/6_._+_06_!_$_.*._0!_.__+_+6_+_._06++.*_._88(2.!_6.\n! 0_.__0_4-8, 285_ .9$-POOR VIS. THIS EVENING RISK OF FOG.\n\nTHE SOUND, WESTERN BALTIC, SOUTHERN BALTIC S-SW 6-11. OVERNIGHT INCR, TOMORROW 10-15 AND DURING AFTERNOON VEER W. RAIN WITH MOD-GOOD VIS.\n\nSOUTHEASTERN BALTIC.____ _-)58:, NORTHERN BALTIC, SEA OF AALAND, ARCHIPELAGO SEA S-SW 10-15. TOMORROW AFTERNOON FURTHER SOMEWHAT INCR. MOD-GOOD VIS WITH SOME SHWRS, FM OVERNIGHT TEMPO RAIN. EARLY TOMORROW MORNING IN C BALTIC AND N BALTIC RISK OF FOG.\n\nGULF OJ__F OFVJFSWONMGJM_C _VBTOMZ_Z__\nZUAW\n____3___-\n___- 70 59 15. MAINLY GOOD VIS. TOMORROW MOD VIS HERN SEA OF BOTHNIA, NORTHERN_ SE_ OF_BOTHNIA, THE QUARK, BAY OF BOTM IA S-SWUQWAQU AND !\n=___+_4,8___ 7-12.:-TOMORROW AFTERNOON S-SE AND_I _IZ_ \nC\nOTHNIA IOCRBKU__I_QUARK AND BAY OF BOTHNIA RISK OF FOG.\nNNNN",
    "clean_text": "ZCZC JE35\n241517 UTC MAR\nBALTIC SEA WEATHERFORECAST\n\nNEAR GALE WARNING\nBAY\nZ.)+\n9_,__ THE Q_ARK, NORTHERN SEVZ_MLZHDF_MGJZCHDPYMJPMZ_MSAWGKBKE_ELAGO SEA, THPMLPSHJ_MGIIK_VH_P_H\nMGJPMZ_MSW_M_AE_WE_BSK_D_:3,54-) _-)58:, SOUTHERN BALTIC, WESTERN BALTIC, THE SOUND, SOUTHEASTERN BALTIC, GULF OF RIGA\n\nGALE WARNING\nSKAGERRAK\n\nWEATHER SUMMARY:\nEXTENSIVE L SITUATED IN NORWEGIAN SEA AND DURING NIGHT DEVELOPS A MINOR L IN THE NO_TH SEA WHICH TOMORROW MOV IN OVER S SCANDINAVIA.\n\nFORECAST VALID 24 HOURS (WIND SCALE IN METERS PER SECOND)\n\nSKAGERRAK\nSW 7-12. OVERNIGHT S. TOMORROW BACK W-NW AND INCR 10-15, TOWARDS EVENING IN W PART 15-20. RISK OF FOG O_MYN_M_ MOD-POOR VIS. TOMORROW AFTERNOON MAINLY GOOD VIS.\n\nKATTEGAT, THE BELTS\nS-SW 7-12. OVERNIGHT INCR 10- 15. TOMORROW W. TEMPO RAIN WITH MOD-POOR VIS_9,9,_'_0.\n0069,_*7.__ _.9:_2.20/6_._+_06_!_$_.*._0!_.__+_+6_+_._06++.*_._88(2.!_6.\n! 0_.__0_4-8, 285_ .9$-POOR VIS. THIS EVENING RISK OF FOG.\n\nTHE SOUND, WESTERN BALTIC, SOUTHERN BALTIC S-SW 6-11. OVERNIGHT INCR, TOMORROW 10-15 AND DURING AFTERNOON VEER W. RAIN WITH MOD-GOOD VIS.\n\nSOUTHEASTERN BALTIC.____ _-)58:, NORTHERN BALTIC, SEA OF AALAND, ARCHIPELAGO SEA S-SW 10-15. TOMORROW AFTERNOON FURTHER SOMEWHAT INCR. MOD-GOOD VIS WITH SOME SHWRS, FM OVERNIGHT TEMPO RAIN. EARLY TOMORROW MORNING IN C BALTIC AND N BALTIC RISK OF FOG.\n\nGULF OJ__F OFVJFSWONMGJM_C _VBTOMZ_Z__\nZUAW\n____3___-\n___- 70 59 15. MAINLY GOOD VIS. TOMORROW MOD VIS HERN SEA OF BOTHNIA, NORTHERN_ SE_ OF_BOTHNIA, THE QUARK, BAY OF BOTM IA S-SWUQWAQU AND !\n=___+_4,8___ 7-12.:-TOMORROW AFTERNOON S-SE AND_I _IZ_\nC\nOTHNIA IOCRBKU__I_QUARK AND BAY OF BOTHNIA RISK OF FOG.\nNNNN",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Unresolved B1 code J. This is a weather bulletin; readable sections mention fog, rain across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Sw 7-12. overnight s. tomorrow back w-nw and incr 10-15, towards evening in w part 15-20. risk of fog o myn m mod-poor vis. tomorrow afternoon mainly good vis",
      "! 0 . 0 4-8, 285 .9$-poor vis. this evening risk of fog",
      "Southeastern baltic. -)58:, northern baltic, sea of aaland, archipelago sea s-sw 10-15. tomorrow afternoon further somewhat incr. mod-good vis with some shwrs, fm overnight tempo rain. early tomorrow morning in c baltic and n baltic risk of fog"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 50,
    "heading": "2026-03-24 19:09:46 AREA: G",
    "published_at": "2026-03-24 19:09:46",
    "area": "G",
    "message_id": "GA73",
    "text": "ZCZC GA73\nWZ 130/26\nFORTH.\nNEART M_ZFHDPM_FW_YB_1. NNG E BUOY 56-14.3N 002-08.6W AND NNG S BUOY 56-12.3N 002-09.8W AIS INOPERATIVE.\n2. CANCEL WAPXWY KGA9_'_\n,_888(9,_8=============== +*2___ZCZC",
    "clean_text": "ZCZC GA73\nWZ 130/26\nFORTH.\nNEART M_ZFHDPM_FW_YB_1. NNG E BUOY 56-14.3N 002-08.6W AND NNG S BUOY 56-12.3N 002-09.8W AIS INOPERATIVE.\n2. CANCEL WAPXWY KGA9_'_\n,_888(9,_8=============== +*2___ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says an AIS transmitter is inoperative near 56-14.3N 002-08.6W; 56-12.3N 002-09.8W. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Neart m zfhdpm fw yb 1. nng e buoy 56-14.3n 002-08.6w and nng s buoy 56-12.3n 002-09.8w ais inoperative"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 51,
    "heading": "2026-03-24 19:09:21 AREA: G",
    "published_at": "2026-03-24 19:09:21",
    "area": "G",
    "message_id": "GA82",
    "text": "ZCZC GA82\nWZ 143/26 +=8(8,_. \nBERYL OIL FIELD. \nBERYL SPM3 BUZS 59-31.7N 001-33.5E TEMPORARILY REMOVED. \nNNNN",
    "clean_text": "ZCZC GA82\nWZ 143/26 +=8(8,_.\nBERYL OIL FIELD.\nBERYL SPM3 BUZS 59-31.7N 001-33.5E TEMPORARILY REMOVED.\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "BERYL OIL FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Beryl spm3 buzs 59-31.7n 001-33.5e temporarily removed.",
    "decoded_highlights": [
      "Beryl spm3 buzs 59-31.7n 001-33.5e temporarily removed",
      "Beryl oil field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 52,
    "heading": "2026-03-24 19:08:50 AREA: G",
    "published_at": "2026-03-24 19:08:50",
    "area": "G",
    "message_id": "GA89",
    "text": "ZCZC GA89\nWZ 161/26\nCROMARTY.\nHYWIND FLOATING WIND FARM.\n 1. TURBINE HS2, 57-29.4N 0_(( _U _ _U\n_G+_.*S_KEB_L__\n YF_V_F_ _NCEL WZ 39/26 (GA12).\nNNNN",
    "clean_text": "ZCZC GA89\nWZ 161/26\nCROMARTY.\nHYWIND FLOATING WIND FARM.\n1. TURBINE HS2, 57-29.4N 0_(( _U _ _U\n_G+_.*S_KEB_L__\nYF_V_F_ _NCEL WZ 39/26 (GA12).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "CROMARTY"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: 1. turbine hs2, 57-29.4n 0 (( u u. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. turbine hs2, 57-29.4n 0 (( u u",
      "Cromarty",
      "Hywind floating wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 53,
    "heading": "2026-03-24 19:08:27 AREA: G",
    "published_at": "2026-03-24 19:08:27",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA9_\nWZ 171/26 \nHUMBER. \nDUDGEON WIND FARM. \nDUDGEON SOUTH BUOY 53-12.5N 001-25.6E UNLIT. \nNNNN",
    "clean_text": "ZCZC GA9_\nWZ 171/26\nHUMBER.\nDUDGEON WIND FARM.\nDUDGEON SOUTH BUOY 53-12.5N 001-25.6E UNLIT.\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom - North Sea and north-east UK coast. Readable text says: Dudgeon south buoy 53-12.5n 001-25.6e unlit.",
    "decoded_highlights": [
      "Dudgeon south buoy 53-12.5n 001-25.6e unlit",
      "Dudgeon wind farm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 54,
    "heading": "2026-03-24 19:07:55 AREA: G",
    "published_at": "2026-03-24 19:07:55",
    "area": "G",
    "message_id": "GA97",
    "text": "ZCZC GA97\nNAVARE FM_YPT_\nNORTH SEA. \nTEAL AND GUILLEMOT OIL FIELDS. \nCHART GB 278. \nSAFETY ZONE, RADIUS 500 METRES, ESTLSFJDPWMFM_HC_ _N 000-46.38E\nNNNN",
    "clean_text": "ZCZC GA97\nNAVARE FM_YPT_\nNORTH SEA.\nTEAL AND GUILLEMOT OIL FIELDS.\nCHART GB 278.\nSAFETY ZONE, RADIUS 500 METRES, ESTLSFJDPWMFM_HC_ _N 000-46.38E\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: Safety zone, radius 500 metres, estlsfjdpwmfm hc n 000-46.38e.",
    "decoded_highlights": [
      "Safety zone, radius 500 metres, estlsfjdpwmfm hc n 000-46.38e",
      "North sea",
      "Teal and guillemot oil fields"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 55,
    "heading": "2026-03-24 19:07:18 AREA: G",
    "published_at": "2026-03-24 19:07:18",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\nWZ 180/26 \nHUMBER. \nRACE BANK WIND FARM. \n1. TURBINE FOG SIGNALS INOPERATIVE: \nA. D01, 53-20.1N 000-49.1E. \nB. S01, 53-15.7N 000-55.9E. \n2. CANCEL Z 58/26 (GA29). \nNNNN",
    "clean_text": "ZCZC GA61\nWZ 180/26\nHUMBER.\nRACE BANK WIND FARM.\n1. TURBINE FOG SIGNALS INOPERATIVE:\nA. D01, 53-20.1N 000-49.1E.\nB. S01, 53-15.7N 000-55.9E.\n2. CANCEL Z 58/26 (GA29).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention fog across the covered waters.",
    "decoded_highlights": [
      "1. turbine fog signals inoperative",
      "Race bank wind farm",
      "2. cancel z 58/26 (ga29)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 56,
    "heading": "2026-03-24 19:06:46 AREA: G",
    "published_at": "2026-03-24 19:06:46",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N 002-59.1E UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 82/26 (GA42).\nNNNN",
    "clean_text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N 002-59.1E UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 82/26 (GA42).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER",
      "ORWELL GAS FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: 1. met mast 53-10.7n 002-59.1e unlit and all navaids inoperative.",
    "decoded_highlights": [
      "1. met mast 53-10.7n 002-59.1e unlit and all navaids inoperative",
      "Orwell gas field northwestwards",
      "2. cancel wz 82/26 (ga42)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 57,
    "heading": "2026-03-24 19:06:16 AREA: G",
    "published_at": "2026-03-24 19:06:16",
    "area": "G",
    "message_id": "GA74",
    "text": "ZCZC GA74\nWZ 207/26 \nHUMBER. \nRAVENSPURN NORTH GAS FIELD. \n___'__+6_.+6_$._605_'52, 54-03.2N 001-02.0E, UNLIT AND ALL NAVAIDS INOPERATIVE. \n,_9,,888_ZCZC",
    "clean_text": "ZCZC GA74\nWZ 207/26\nHUMBER.\nRAVENSPURN NORTH GAS FIELD.\n___'__+6_.+6_$._605_'52, 54-03.2N 001-02.0E, UNLIT AND ALL NAVAIDS INOPERATIVE.\n,_9,,888_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: ' 6 . 6 $. 605 '52, 54-03.2n 001-02.0e, unlit and all navaids inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "' 6 . 6 $. 605 '52, 54-03.2n 001-02.0e, unlit and all navaids inoperative",
      "Ravenspurn north gas field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 58,
    "heading": "2026-03-24 19:05:51 AREA: G",
    "published_at": "2026-03-24 19:05:51",
    "area": "G",
    "message_id": "GA81",
    "text": "ZCZC GA81\nWZ 214/26 \nGMDSS. \nMRCC HUMBER. \nMF R/1_:_3 !49. :7''06_+_*.*!_0.____88(6_6__.\n_ UC__GUMZ_.(_4B_ONNIII_ZCZC",
    "clean_text": "ZCZC GA81\nWZ 214/26\nGMDSS.\nMRCC HUMBER.\nMF R/1_:_3 !49. :7''06_+_*.*!_0.____88(6_6__.\n_ UC__GUMZ_.(_4B_ONNIII_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Mrcc humber. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mrcc humber"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 59,
    "heading": "2026-03-24 19:05:27 AREA: G",
    "published_at": "2026-03-24 19:05:27",
    "area": "G",
    "message_id": "GA83",
    "text": "ZCZC GA83\nWZ 215/26 \nGMDSS. \nMRCC DOVER. \nMF R/T SERVICE F_OM BAWDSEY SITE 51-59.6N 001-24.5E OFF AIR. \nNNNN",
    "clean_text": "ZCZC GA83\nWZ 215/26\nGMDSS.\nMRCC DOVER.\nMF R/T SERVICE F_OM BAWDSEY SITE 51-59.6N 001-24.5E OFF AIR.\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "Mf r/t service f om bawdsey site 51-59.6n 001-24.5e off air",
      "Mrcc dover"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 60,
    "heading": "2026-03-24 19:03:05 AREA: G",
    "published_at": "2026-03-24 19:03:05",
    "area": "G",
    "message_id": "GA",
    "text": "ZCZC GA\nZ_ONG_YPMFM_HCT_1. NAVAYQMFM_YF_JMFM_ZYXPMHM\nU MG_HXM_Y_\nUUEXON_N\nUUE_ SERIES: 43, 51, 52, 54, 57.\n\nNOTES:\nA. TEXTS OF NAVAREA I WARNINGS ISSUED EACH WEEK ARE PUBLISHED IN WEEKLY EDITIONS OF THE ADMIRALTY NOTICES TO MYFPYJMLCSSPHFM_NMB).\n\nB. NAVAREA I WARNINGS LESS THAN 42 DAYS OLD (43/26 ONWARD) ARE PROMULGATED VIA ENHANCED GROUP CALL (EGC) AND/OR RELEVANT NAVTEX TRANSMITTERS.\n\nC. THE COMPLETE TEXTS OF ALL IN-FORCE NAVAREA I WARNINGS, INCLUDING THOSE WHICH ARE NO LONGER BEING BROADCAST, ARE REPRINTED IN SECTIONMFFFMZ_II_MB FM_PPVJM\n_M P__ND 39 AND ARE ALSO AVAILABL_MWYZBMHDPMC_DZM_PLJFHPMH_HTTPS://MSI.ADMIRALTY.CO.UK/RADIONAVIGATIONALWARNINGS.\n\nALTERNATIVELY, THESE MAY BE REQUESTED BY E-MAIL FROM NAVAREA I CO-ORDINATOR AT_C NAVWARNINGS(AT)UKHO.GOV.UK\n\n2. CANCEL NAVAREA I 49/26 (EA29)(GA67)(OA58).\nNNNN",
    "clean_text": "ZCZC GA\nZ_ONG_YPMFM_HCT_1. NAVAYQMFM_YF_JMFM_ZYXPMHM\nU MG_HXM_Y_\nUUEXON_N\nUUE_ SERIES: 43, 51, 52, 54, 57.\n\nNOTES:\nA. TEXTS OF NAVAREA I WARNINGS ISSUED EACH WEEK ARE PUBLISHED IN WEEKLY EDITIONS OF THE ADMIRALTY NOTICES TO MYFPYJMLCSSPHFM_NMB).\n\nB. NAVAREA I WARNINGS LESS THAN 42 DAYS OLD (43/26 ONWARD) ARE PROMULGATED VIA ENHANCED GROUP CALL (EGC) AND/OR RELEVANT NAVTEX TRANSMITTERS.\n\nC. THE COMPLETE TEXTS OF ALL IN-FORCE NAVAREA I WARNINGS, INCLUDING THOSE WHICH ARE NO LONGER BEING BROADCAST, ARE REPRINTED IN SECTIONMFFFMZ_II_MB FM_PPVJM\n_M P__ND 39 AND ARE ALSO AVAILABL_MWYZBMHDPMC_DZM_PLJFHPMH_HTTPS://MSI.ADMIRALTY.CO.UK/RADIONAVIGATIONALWARNINGS.\n\nALTERNATIVELY, THESE MAY BE REQUESTED BY E-MAIL FROM NAVAREA I CO-ORDINATOR AT_C NAVWARNINGS(AT)UKHO.GOV.UK\n\n2. CANCEL NAVAREA I 49/26 (EA29)(GA67)(OA58).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "A. texts of navarea i warnings issued each week are published in weekly editions of the admiralty notices to myfpyjmlcssphfm nmb)",
      "B. navarea i warnings less than 42 days old (43/26 onward) are promulgated via enhanced group call (egc) and/or relevant navtex transmitters",
      "C. the complete texts of all in-force navarea i warnings, including those which are no longer being broadcast, are reprinted in sectionmfffmz ii mb fm ppvjm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 61,
    "heading": "2026-03-24 19:02:37 AREA: G",
    "published_at": "2026-03-24 19:02:37",
    "area": "G",
    "message_id": "GA94",
    "text": "ZCZC GA94\nWZ 220/26\nTYXEONGLS_HDVZ_ORE ZP_ZJHYHZYM_F_M_YB_TURBINE B10 55_N 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\nNNNN",
    "clean_text": "ZCZC GA94\nWZ 220/26\nTYXEONGLS_HDVZ_ORE ZP_ZJHYHZYM_F_M_YB_TURBINE B10 55_N 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text reports a fog signal outage. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Tyxeongls hdvz ore zp zjhyhzym f m yb turbine b10 55 n 001-23.6w unlit and fog signal inoperative"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 62,
    "heading": "2026-03-24 19:02:05 AREA: G",
    "published_at": "2026-03-24 19:02:05",
    "area": "G",
    "message_id": "GA02",
    "text": "ZCZC GA02\nWZ 223/26\nHUMBER. \nLEMANVLAJM_FP_W__MOOXOH_S_RM 49/27-ED 53-03.6N 002-12.6E, UNLIT AND ALL NAVAIDS INOPERATIVE. \n2. CANCEL WZ 100/26 (GA52).\nNNNN",
    "clean_text": "ZCZC GA02\nWZ 223/26\nHUMBER.\nLEMANVLAJM_FP_W__MOOXOH_S_RM 49/27-ED 53-03.6N 002-12.6E, UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 100/26 (GA52).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Lemanvlajm fp w mooxoh s rm 49/27-ed 53-03.6n 002-12.6e, unlit and all navaids inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lemanvlajm fp w mooxoh s rm 49/27-ed 53-03.6n 002-12.6e, unlit and all navaids inoperative",
      "2. cancel wz 100/26 (ga52)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 63,
    "heading": "2026-03-24 19:01:41 AREA: G",
    "published_at": "2026-03-24 19:01:41",
    "area": "G",
    "message_id": "GA03",
    "text": "ZCZC GA03\nWZ 224__29_$''. MRCC SHETLAND.\nVHF DSC SERVICES FROM DUNNET HEAD SITE 58-40.3N 003-22.6W OFF AIR.\nNNNN",
    "clean_text": "ZCZC GA03\nWZ 224__29_$''. MRCC SHETLAND.\nVHF DSC SERVICES FROM DUNNET HEAD SITE 58-40.3N 003-22.6W OFF AIR.\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Vhf dsc services from dunnet head site 58-40.3n 003-22.6w off air"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 64,
    "heading": "2026-03-24 19:01:10 AREA: G",
    "published_at": "2026-03-24 19:01:10",
    "area": "G",
    "message_id": "GA04",
    "text": "ZCZC GA04\nWZ 225/26\nGMDSS.\nMRCC SHETLAND.\n1. MF R/T AND DSC SERVICES FROM GREGNESS SITE 57-07.7N 002-03.2W OFF AIR.\n2. CANCEL WZ 213/26 (GA80).\nNNNN",
    "clean_text": "ZCZC GA04\nWZ 225/26\nGMDSS.\nMRCC SHETLAND.\n1. MF R/T AND DSC SERVICES FROM GREGNESS SITE 57-07.7N 002-03.2W OFF AIR.\n2. CANCEL WZ 213/26 (GA80).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "1. mf r/t and dsc services from gregness site 57-07.7n 002-03.2w off air",
      "Mrcc shetland",
      "2. cancel wz 213/26 (ga80)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 65,
    "heading": "2026-03-24 19:00:39 AREA: G",
    "published_at": "2026-03-24 19:00:39",
    "area": "G",
    "message_id": "GA07",
    "text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 53-11.9N 002-29.1E, FOG F_ONAL IO_PYHF\nP_BO_\n_CANCEL WZ 104/26 (GA54).\nNNNN",
    "clean_text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 53-11.9N 002-29.1E, FOG F_ONAL IO_PYHF\nP_BO_\n_CANCEL WZ 104/26 (GA54).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER",
      "BESSEMER GAS FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. platform 49/23e, 53-11.9n 002-29.1e, fog f onal io pyhf",
      "Bessemer gas field",
      "Cancel wz 104/26 (ga54)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 66,
    "heading": "2026-03-24 19:00:16 AREA: G",
    "published_at": "2026-03-24 19:00:16",
    "area": "G",
    "message_id": "GA10",
    "text": "ZCZC GA10\nWZ 230/26 \nFAIR ISLE. \n,_6+_.$02.'*_2_$+:*0.\n__  _HG_M\n_ __EGUMJP_HZYMSF_DHJIIIKYPSFLSP_\nNNNN",
    "clean_text": "ZCZC GA10\nWZ 230/26\nFAIR ISLE.\n,_6+_.$02.'*_2_$+:*0.\n__ _HG_M\n_ __EGUMJP_HZYMSF_DHJIIIKYPSFLSP_\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: Fair isle. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Fair isle"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 67,
    "heading": "2026-03-24 18:28:14 AREA: G",
    "published_at": "2026-03-24 18:28:14",
    "area": "G",
    "message_id": "GB04",
    "text": "ZCZC GB04\nGALE WARNING _UESDAY 24 MARCH 1555 UTC\n\nFORTH\nNORTHWESTERLY GALE FORCE 8 EXPECTED LATER\n\nFAIR ISL_\nS___ERING NORTZWE_T_RL_D DECREASING GALE FORCE 8 IMMINENT, INCREASING SEVERE GALE FORCE 9 SOON\n\n\nI_ IG: EXPECTED WITHIN SIX HOURS OF TIME OF ISSUE\n\nSOON: EXPECTED WITHIN SIX TO 12 HOURS OF TIME OF ISSUE\n\nLATER: EXPECTED MORE THAN 12 HOURS FROM TIME OF ISSUE\nNNNN",
    "clean_text": "ZCZC GB04\nGALE WARNING _UESDAY 24 MARCH 1555 UTC\n\nFORTH\nNORTHWESTERLY GALE FORCE 8 EXPECTED LATER\n\nFAIR ISL_\nS___ERING NORTZWE_T_RL_D DECREASING GALE FORCE 8 IMMINENT, INCREASING SEVERE GALE FORCE 9 SOON\n\nI_ IG: EXPECTED WITHIN SIX HOURS OF TIME OF ISSUE\n\nSOON: EXPECTED WITHIN SIX TO 12 HOURS OF TIME OF ISSUE\n\nLATER: EXPECTED MORE THAN 12 HOURS FROM TIME OF ISSUE\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code G. Readable text says: Northwesterly gale force 8 expected later.",
    "decoded_highlights": [
      "Northwesterly gale force 8 expected later",
      "S ering nortzwe t rl d decreasing gale force 8 imminent, increasing severe gale force 9 soon",
      "Gale warning uesday 24 march 1555 utc"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 68,
    "heading": "2026-03-24 18:06:34 AREA: S",
    "published_at": "2026-03-24 18:06:34",
    "area": "S",
    "message_id": "SA67",
    "text": "ZCZC SA67\nNAVTEX-HAMBURG (NCC)\n241600 UTC MAR 26\nNAV. WARN. NO. 173\nTSS TERSCHELLING-GERMAN BIGHT\nFOLLOWING CONTAINERVESSELS ARE AT RISK OF LOSING CONTAINERS AND\nTOUCHING THE SEABED DURING HEAVY SEA CONDITIONS AND HIGH WAVES FROM A\nNORTH TO NORTHWEST DIRECTION:\nAT A WAVE HEIGHT ABOVE 3.0M CONTAINERVESSELS HAVE TO TAKE APPROPRIATE\nMEASURES AND ALTER COURSE IF NECESSARY TO AVOID COMING TRANSVERSE TO\nTHE WAVE DIRECTION.\nAT A WAVE HEIGHT ABOVE 4.0M CONTAINERVESSELS WITH A LENGTH ABOVE 200M\nYQMYPXZ_BP_WM_OLLOW ALTERNATIVE FOI_Q _FMHJJMPJHM_JSWONGWM_PYBMLF_DHM_PJHPYM_.\nNNNN",
    "clean_text": "ZCZC SA67\nNAVTEX-HAMBURG (NCC)\n241600 UTC MAR 26\nNAV. WARN. NO. 173\nTSS TERSCHELLING-GERMAN BIGHT\nFOLLOWING CONTAINERVESSELS ARE AT RISK OF LOSING CONTAINERS AND\nTOUCHING THE SEABED DURING HEAVY SEA CONDITIONS AND HIGH WAVES FROM A\nNORTH TO NORTHWEST DIRECTION:\nAT A WAVE HEIGHT ABOVE 3.0M CONTAINERVESSELS HAVE TO TAKE APPROPRIATE\nMEASURES AND ALTER COURSE IF NECESSARY TO AVOID COMING TRANSVERSE TO\nTHE WAVE DIRECTION.\nAT A WAVE HEIGHT ABOVE 4.0M CONTAINERVESSELS WITH A LENGTH ABOVE 200M\nYQMYPXZ_BP_WM_OLLOW ALTERNATIVE FOI_Q _FMHJJMPJHM_JSWONGWM_PYBMLF_DHM_PJHPYM_.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NAVTEX HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text says: Measures and alter course if necessary to avoid coming transverse to.",
    "decoded_highlights": [
      "Measures and alter course if necessary to avoid coming transverse to",
      "Following containervessels are at risk of losing containers and",
      "Touching the seabed during heavy sea conditions and high waves from a"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 72,
    "heading": "2026-03-24 17:19:05 AREA: T",
    "published_at": "2026-03-24 17:19:05",
    "area": "T",
    "message_id": "",
    "text": "ZCZCV_\nF_O_QIPU UTC A25\nOOSTENDER_Z_O MSI G FYT_HONGZZJHPWP_GAPPLCE__ASQD__J_B_B_SEABED_CN__OZIZ_F_SBJFHFZJON\nH _C_H_GPWATYNYQPE\n51-17,281N 002-56,553_\nSHIPPINGV_AQUESTED NOT TO ANCHOR NOR FISH IN THE VICINITY\nNNNN",
    "clean_text": "ZCZCV_\nF_O_QIPU UTC A25\nOOSTENDER_Z_O MSI G FYT_HONGZZJHPWP_GAPPLCE__ASQD__J_B_B_SEABED_CN__OZIZ_F_SBJFHFZJON\nH _C_H_GPWATYNYQPE\n51-17,281N 002-56,553_\nSHIPPINGV_AQUESTED NOT TO ANCHOR NOR FISH IN THE VICINITY\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shippingv aquested not to anchor nor fish in the vicinity"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 74,
    "heading": "2026-03-24 17:17:18 AREA: T",
    "published_at": "2026-03-24 17:17:18",
    "area": "T",
    "message_id": "TA53",
    "text": "ZCZC TA53\n13130\n, __.20/._7_9__++*_02062!+._*!._6:3_3 33+\nPOSSIBLE EXPLOSIVE ON THE SEABED\nIN POS 51-36.020N 002-35.18E\nSHIPPING IS REQUESTED NOT TO ANCHOR _OR TO FISN_CINITY.\n\nNNNN",
    "clean_text": "ZCZC TA53\n13130\n, __.20/._7_9__++*_02062!+._*!._6:3_3 33+\nPOSSIBLE EXPLOSIVE ON THE SEABED\nIN POS 51-36.020N 002-35.18E\nSHIPPING IS REQUESTED NOT TO ANCHOR _OR TO FISN_CINITY.\n\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code T. Readable text sets local operating restrictions near 51-36.020N 002-35.18E, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping is requested not to anchor or to fisn cinity",
      "Possible explosive on the seabed"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 77,
    "heading": "2026-03-24 17:14:30 AREA: P",
    "published_at": "2026-03-24 17:14:30",
    "area": "P",
    "message_id": "PL01",
    "text": "ZCZC PL01\n241513 UTC MAR 26\nWAVE HEIGHT WARNING  300CM TSS TERSCHELLING - GERMAN BIGHT ISSUED AT__UY __MG_HXM_YONON_ZHFPYM_PJJPSJM_FHAM_M_P__HD_Z_\n __UGBMYPMHMYFJ_MZ.'+*!._+_!06*.2:6!_.$__3- :9,$8589,', IN PARTICULAR FROM A WEST-NORTHWEST TO NORTHWEST TO NORTHERLY WFYP_HF__THESE VESSELS SHOULD ALTER COURSE IF NECESSARY TO AVOID COMING ABEAM TO THE WAVES AND TAKE OTHER A_PYZYFHPM_PJCYPJMHZM_ZFWMSZJFM_ZHFPYJ_NNNN",
    "clean_text": "ZCZC PL01\n241513 UTC MAR 26\nWAVE HEIGHT WARNING 300CM TSS TERSCHELLING - GERMAN BIGHT ISSUED AT__UY __MG_HXM_YONON_ZHFPYM_PJJPSJM_FHAM_M_P__HD_Z_\n__UGBMYPMHMYFJ_MZ.'+*!._+_!06*.2:6!_.$__3- :9,$8589,', IN PARTICULAR FROM A WEST-NORTHWEST TO NORTHWEST TO NORTHERLY WFYP_HF__THESE VESSELS SHOULD ALTER COURSE IF NECESSARY TO AVOID COMING ABEAM TO THE WAVES AND TAKE OTHER A_PYZYFHPM_PJCYPJMHZM_ZFWMSZJFM_ZHFPYJ_NNNN",
    "resolved_station_name": "Netherlands Coastguard Radio",
    "resolved_country": "Netherlands",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Dutch EEZ and southern North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "TERSCHELLING"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "navigational warning",
    "subject_code": "L",
    "decoded_summary": "navigational warning for Netherlands - Dutch EEZ and southern North Sea. Readable text says: Wave height warning 300cm tss terschelling - german bight issued at uy mg hxm yonon zhfpym pjjpsjm fham m p hd z. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Wave height warning 300cm tss terschelling - german bight issued at uy mg hxm yonon zhfpym pjjpsjm fham m p hd z",
      "Ugbmypmhmyfj mz.' !. !06 .2:6! .$ 3- :9,$8589,', in particular from a west-northwest to northwest to northerly wfyp hf these vessels should alter course if necessary to avoid coming abeam to the waves and take other a pyzyfhpm pjcypjmhzm zfwmszjfm zhfpyj nnnn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 79,
    "heading": "2026-03-24 17:13:24 AREA: T",
    "published_at": "2026-03-24 17:13:24",
    "area": "T",
    "message_id": "TA02",
    "text": "ZCZC TA02\n082!_.___._+\n/0((=(((((((((((((((((((((((((((((_1__+:): _\n_1+\n!253_*!0__(/6:!$0_7 IMMINEHT, SH_FTIIW W HZTEI_H\n_O_ZCZC",
    "clean_text": "ZCZC TA02\n082!_.___._+\n/0((=(((((((((((((((((((((((((((((_1__+:): _\n_1+\n!253_*!0__(/6:!$0_7 IMMINEHT, SH_FTIIW W HZTEI_H\n_O_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 80,
    "heading": "2026-03-24 17:12:52 AREA: T",
    "published_at": "2026-03-24 17:12:52",
    "area": "T",
    "message_id": "TA04",
    "text": "ZCZC TA04\n240834 UTC MAR\nOOSTENDERADIO MSI 119/26 \nCOASTAL ROUTE - DE PANNE-OOSTENDE \nSPECIAL PURPOSE BUOY KYCN, Y. FL 5S, 51-09.88N 002-43.00E ESTABLISHED \n\nNNNN",
    "clean_text": "ZCZC TA04\n240834 UTC MAR\nOOSTENDERADIO MSI 119/26\nCOASTAL ROUTE - DE PANNE-OOSTENDE\nSPECIAL PURPOSE BUOY KYCN, Y. FL 5S, 51-09.88N 002-43.00E ESTABLISHED\n\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Special purpose buoy kycn, y. fl 5s, 51-09.88n 002-43.00e established.",
    "decoded_highlights": [
      "Special purpose buoy kycn, y. fl 5s, 51-09.88n 002-43.00e established",
      "Coastal route - de panne-oostende"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 81,
    "heading": "2026-03-24 17:12:15 AREA: T",
    "published_at": "2026-03-24 17:12:15",
    "area": "T",
    "message_id": "TA05",
    "text": "ZCZC TA05\n241038 UTC MAR _\nEZ_LENDERADIO MSI 120/26 \nCOASTAL ROUTE - DE PANNE-OOSTENDE \nSPECIAL PURPOS  Y YACHT BUOY, Y. FL_T_S, ESTABLISHED\n51-14.33N 002-53.25E, MARKED 2 \n \n\nNNNN",
    "clean_text": "ZCZC TA05\n241038 UTC MAR _\nEZ_LENDERADIO MSI 120/26\nCOASTAL ROUTE - DE PANNE-OOSTENDE\nSPECIAL PURPOS Y YACHT BUOY, Y. FL_T_S, ESTABLISHED\n51-14.33N 002-53.25E, MARKED 2\n\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Special purpos y yacht buoy, y. fl t s, established.",
    "decoded_highlights": [
      "Special purpos y yacht buoy, y. fl t s, established",
      "51-14.33n 002-53.25e, marked 2",
      "Ez lenderadio msi 120/26"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 82,
    "heading": "2026-03-24 17:11:37 AREA: T",
    "published_at": "2026-03-24 17:11:37",
    "area": "T",
    "message_id": "TA06",
    "text": "ZCZC TA06\n241040 UTC MAR \nOOSTENDERADIO MSI 121/26 \nCOASTAL ROUTE - DE PANNE-OOSTENZPMAI\nIKSPECIAL PURPOSE BUOY YACH_ O__Y. FL 5S, \nESTABLISHED 51-13.38N __PWATWMUTEVN MARKED 4 \n\n\n\n\n\nNNNN",
    "clean_text": "ZCZC TA06\n241040 UTC MAR\nOOSTENDERADIO MSI 121/26\nCOASTAL ROUTE - DE PANNE-OOSTENZPMAI\nIKSPECIAL PURPOSE BUOY YACH_ O__Y. FL 5S,\nESTABLISHED 51-13.38N __PWATWMUTEVN MARKED 4\n\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Ikspecial purpose buoy yach o y. fl 5s.",
    "decoded_highlights": [
      "Ikspecial purpose buoy yach o y. fl 5s",
      "Established 51-13.38n pwatwmutevn marked 4",
      "Coastal route - de panne-oostenzpmai"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 83,
    "heading": "2026-03-24 17:11:00 AREA: T",
    "published_at": "2026-03-24 17:11:00",
    "area": "T",
    "message_id": "TA07",
    "text": "ZCZC TA07\n241044 UTC MAR\nOOSTEMDE_WFZM_JF_\n _UTUEMO_G_ZJHSMYZCHPM_MGW_M_P_GZZJ__N_ 98_03:8-) 07409'3 _796 6-:_5 _796, Y. FL 5S, \nESTABLISHED 51-14.13N 002-54.22E, MARKED S \n\n\n\n\nNNNN",
    "clean_text": "ZCZC TA07\n241044 UTC MAR\nOOSTEMDE_WFZM_JF_\n_UTUEMO_G_ZJHSMYZCHPM_MGW_M_P_GZZJ__N_ 98_03:8-) 07409'3 _796 6-:_5 _796, Y. FL 5S,\nESTABLISHED 51-14.13N 002-54.22E, MARKED S\n\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code T. Readable text says: Established 51-14.13n 002-54.22e, marked s. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Established 51-14.13n 002-54.22e, marked s"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 84,
    "heading": "2026-03-24 17:10:23 AREA: T",
    "published_at": "2026-03-24 17:10:23",
    "area": "T",
    "message_id": "TA08",
    "text": "ZCZC TA08\n241045 UTC MAR\nOOSTENDERADFO\nMSI 123/26 \nCO_STAL ROUTE - DE PANNE-OOSTENDE \nXJSPMF_M_CY_ZJPMLCZEME__H_LC_A__M FL 5_*8.____*$_7*_2_51-14.28N 8627_-_9E, MARKED O \nGONNIII__ZCZC",
    "clean_text": "ZCZC TA08\n241045 UTC MAR\nOOSTENDERADFO\nMSI 123/26\nCO_STAL ROUTE - DE PANNE-OOSTENDE\nXJSPMF_M_CY_ZJPMLCZEME__H_LC_A__M FL 5_*8.____*$_7*_2_51-14.28N 8627_-_9E, MARKED O\nGONNIII__ZCZC",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Co stal route - de panne-oostende. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Co stal route - de panne-oostende",
      "Oostenderadfo"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 85,
    "heading": "2026-03-24 17:03:43 AREA: T",
    "published_at": "2026-03-24 17:03:43",
    "area": "T",
    "message_id": "",
    "text": "ZCZMVFV__F_RQTPP NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nTUESDAY:\nWIND: SOUTHWEST _TN INCREASING 7, \n)-534 )9:-))6 8.\nVISIBILITY/WEATHER: RAIN OR SHOWER WITH PARTLY VERY POOR VISIBILITY.\n\nSEA: 2,5 METER, WESTERN PART LATER 4 METER.\n\nWEDNESDAY:\nWIND: SOUTHWEST ABOUT 7, FIRST GUSTS 10, SHIFTING NORTHWEST AND LATER\nDECREASING ABOUT 6.\nVISIBILITY/WEATHER: FIRST RAIN OR SHOWER WITH POOR VISIBILITY.\nSEA: AT TIMES 5 METER.\nNNNN",
    "clean_text": "ZCZMVFV__F_RQTPP NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nTUESDAY:\nWIND: SOUTHWEST _TN INCREASING 7,\n)-534 )9:-))6 8.\nVISIBILITY/WEATHER: RAIN OR SHOWER WITH PARTLY VERY POOR VISIBILITY.\n\nSEA: 2,5 METER, WESTERN PART LATER 4 METER.\n\nWEDNESDAY:\nWIND: SOUTHWEST ABOUT 7, FIRST GUSTS 10, SHIFTING NORTHWEST AND LATER\nDECREASING ABOUT 6.\nVISIBILITY/WEATHER: FIRST RAIN OR SHOWER WITH POOR VISIBILITY.\nSEA: AT TIMES 5 METER.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "NAVTEX HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Germany - German Bight and German North Sea. Readable text says: Visibility/weather: rain or shower with partly very poor visibility.",
    "decoded_highlights": [
      "Visibility/weather: rain or shower with partly very poor visibility",
      "Visibility/weather: first rain or shower with poor visibility",
      "Weatherforecast for german bight"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 90,
    "heading": "2026-03-24 16:42:32 AREA: G",
    "published_at": "2026-03-24 16:42:32",
    "area": "G",
    "message_id": "GT19",
    "text": "ZCZC GT19\nTEST TEST TEST\nNNNN",
    "clean_text": "ZCZC GT19\nTEST TEST TEST\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "operational notice",
    "subject_code": "T",
    "decoded_summary": "operational notice for Unresolved B1 code G. Readable text says: Test test test. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Test test test"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 93,
    "heading": "2026-03-24 16:30:06 AREA: P",
    "published_at": "2026-03-24 16:30:06",
    "area": "P",
    "message_id": "PE61",
    "text": "ZCZC PE61\n241306 UTC MAR 26\nFORECAST DUTCH EEZ ISSUED AT 11_T\nGCHXM_UY__EONT_J_BU_Q_E_*+:_$_0*_._!9,9,_*_+JFJONSZ_RN OVER THE WEST OF THE NORWEGIAN SEA IS SLOWLY \nMOVING EASTWARDS. SECOND LOW IS DEVELOPING OVER THE \nNORTHERN PART OF THE NORTH SEA IN THE EVENING AND NIGHT AND \nIS MOVING TO THE SOUTH OF_SWEDEN, 974. ASSOCIATED TROUGHS \nWILL MOVE EASTWARDS ACROSS THE NORTH SEA FROM THE EVENING.\n\nFORECAST VALID TUESDAY 15:00 __!''._020*23._PX_MG_H_ONZDWKQO_QA__WK_Q_OQKXLB_3KQ3_XK_*(_RBBR3_=.0_Z_H_R__BDWBL3__06.6!*_.+.$!'_GOOD, FIRST AND IN PRECIPITATION MODERATE, POSSIBLY POOR.\nWAVEHEIGHT 2.0-2.5 METER, INCREASING 3.0-3.5 METER.\n\n\nHUMBER \nSOUTHWEST 5-6, SOON INCREASING 6-7, GRADUALLY 7-!.._'_06.9,_006!._!_'3._0*__FROM THE NIGHT SHOWERY RAIN WITH LATER RISK Z_MDFS_MODERATE, INCREASING _ZOD, IN PRECIPITATION MODERATE, \nSOMETIMES POOR.\nWAVEHEIGHT AROUND 2.0 METER, INCREASING 3.0-3.5 METER.\n\n\nGERMAN BIGHT\nONJZCHD_PJ_M_HKQBHQ_GRADUALLY 7-8,  LATER \nVEERING MAINLY WEST.\nIN THE NORTH OCCASIONALMYF_MGHMF_DHMJDZ_PYEMYF_MODERATE, GRADUALLY INCREASING MODERATE TO GOOD, IN \nPRECIPITATION SOMETIMES POOR.\nWAVEHEIGHT AROUND 2.0 METER, INCREASING 3.0-3.5 METER, \nLATER TEMPORARILY 3.5-4.0 METER.\n\n\nDOGGER \nSOUTHWEST 5-6, SOON INCREASING 6-7, GRADUALLY OCCASIONALLY \n8, LATER VEERING WEST TO NORTHWEST 6-7.\nOCCASIONAL RAIN, FROM THE NIGHT SHOWERY RAIN WITH LATER \nRISK OF HAIL.\nMODERATE, GRADUALLY INCREASING MODERATE TO GOOD, IN \nPRECIPITATION SOMETIMES POOR.\nWAVEHEIGHT 2.0-2.5 METER, INCREASING 3.0-3.5 METER, LHPYMONFMHDPM_PJHMWP_YPJF_MYZCWM\n_METER.\n\n\nFORECAST VALID WEDNESDAY 03:00 TILL WEDNESDAY 15:00 UTC\n\nTHAMES \nWEST 7-8, SOON VEERING NORTHWEST 6, OCCASIONALLY 7.\n,_0*P___SEM_FYJHMJDZ_PYEMYF_MGSHPYMJDZ_PY_M_FHDMYFJ_MZ.9,_$:206*_+6_.+6.$!'_GOOD, IN PRECIPITATION MODERATE, SOMETIMES POOR.\nWAVEHEIGHT 3.0-3.5 METER, DECREASING 2.5-3.0 METER.\n\n\n__7._34 \n.-8,)6 23'5 7, IN THE SOUTH FIRST POSSIBLY 8, SOON VEERING \nNORTHWEST 6-7.\nESPECIALLY FIRST SHOWERY RAIN, LAHPYMJDZ_PY_M_FHDMYFJ_MZ.9,_$:206*_+6_.+6.$!'_GOOD, IN PRECIPITATION M__BF_YV\nO_QZ_AV_ NAM 14  53-32.7N 003-28.5E\nLIGHTBUOY NAM 23  5__44)$)9,,:,(HNZ_HTBUOY NAM 25  53-19.6N 004-53.4E\nLIGHTBUOY PEN 38  53-29.7N 004-03.7E\nPERMANENT CHANGE OF CHARACTER \nLFL.Y.10S CHANCED TO LFL.Y.5S\n\nNNNN",
    "clean_text": "ZCZC PE61\n241306 UTC MAR 26\nFORECAST DUTCH EEZ ISSUED AT 11_T\nGCHXM_UY__EONT_J_BU_Q_E_*+:_$_0*_._!9,9,_*_+JFJONSZ_RN OVER THE WEST OF THE NORWEGIAN SEA IS SLOWLY\nMOVING EASTWARDS. SECOND LOW IS DEVELOPING OVER THE\nNORTHERN PART OF THE NORTH SEA IN THE EVENING AND NIGHT AND\nIS MOVING TO THE SOUTH OF_SWEDEN, 974. ASSOCIATED TROUGHS\nWILL MOVE EASTWARDS ACROSS THE NORTH SEA FROM THE EVENING.\n\nFORECAST VALID TUESDAY 15:00 __!''._020*23._PX_MG_H_ONZDWKQO_QA__WK_Q_OQKXLB_3KQ3_XK_*(_RBBR3_=.0_Z_H_R__BDWBL3__06.6!*_.+.$!'_GOOD, FIRST AND IN PRECIPITATION MODERATE, POSSIBLY POOR.\nWAVEHEIGHT 2.0-2.5 METER, INCREASING 3.0-3.5 METER.\n\nHUMBER\nSOUTHWEST 5-6, SOON INCREASING 6-7, GRADUALLY 7-!.._'_06.9,_006!._!_'3._0*__FROM THE NIGHT SHOWERY RAIN WITH LATER RISK Z_MDFS_MODERATE, INCREASING _ZOD, IN PRECIPITATION MODERATE,\nSOMETIMES POOR.\nWAVEHEIGHT AROUND 2.0 METER, INCREASING 3.0-3.5 METER.\n\nGERMAN BIGHT\nONJZCHD_PJ_M_HKQBHQ_GRADUALLY 7-8, LATER\nVEERING MAINLY WEST.\nIN THE NORTH OCCASIONALMYF_MGHMF_DHMJDZ_PYEMYF_MODERATE, GRADUALLY INCREASING MODERATE TO GOOD, IN\nPRECIPITATION SOMETIMES POOR.\nWAVEHEIGHT AROUND 2.0 METER, INCREASING 3.0-3.5 METER,\nLATER TEMPORARILY 3.5-4.0 METER.\n\nDOGGER\nSOUTHWEST 5-6, SOON INCREASING 6-7, GRADUALLY OCCASIONALLY\n8, LATER VEERING WEST TO NORTHWEST 6-7.\nOCCASIONAL RAIN, FROM THE NIGHT SHOWERY RAIN WITH LATER\nRISK OF HAIL.\nMODERATE, GRADUALLY INCREASING MODERATE TO GOOD, IN\nPRECIPITATION SOMETIMES POOR.\nWAVEHEIGHT 2.0-2.5 METER, INCREASING 3.0-3.5 METER, LHPYMONFMHDPM_PJHMWP_YPJF_MYZCWM\n_METER.\n\nFORECAST VALID WEDNESDAY 03:00 TILL WEDNESDAY 15:00 UTC\n\nTHAMES\nWEST 7-8, SOON VEERING NORTHWEST 6, OCCASIONALLY 7.\n,_0*P___SEM_FYJHMJDZ_PYEMYF_MGSHPYMJDZ_PY_M_FHDMYFJ_MZ.9,_$:206*_+6_.+6.$!'_GOOD, IN PRECIPITATION MODERATE, SOMETIMES POOR.\nWAVEHEIGHT 3.0-3.5 METER, DECREASING 2.5-3.0 METER.\n\n__7._34\n.-8,)6 23'5 7, IN THE SOUTH FIRST POSSIBLY 8, SOON VEERING\nNORTHWEST 6-7.\nESPECIALLY FIRST SHOWERY RAIN, LAHPYMJDZ_PY_M_FHDMYFJ_MZ.9,_$:206*_+6_.+6.$!'_GOOD, IN PRECIPITATION M__BF_YV\nO_QZ_AV_ NAM 14 53-32.7N 003-28.5E\nLIGHTBUOY NAM 23 5__44)$)9,,:,(HNZ_HTBUOY NAM 25 53-19.6N 004-53.4E\nLIGHTBUOY PEN 38 53-29.7N 004-03.7E\nPERMANENT CHANGE OF CHARACTER\nLFL.Y.10S CHANCED TO LFL.Y.5S\n\nNNNN",
    "resolved_station_name": "Netherlands Coastguard Radio",
    "resolved_country": "Netherlands",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Dutch EEZ and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "DUTCH EEZ"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Netherlands - Dutch EEZ and southern North Sea. Readable text says: Lightbuoy nam 23 5 44)$)9,,:,(hnz htbuoy nam 25 53-19.6n 004-53.4e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lightbuoy nam 23 5 44)$)9,,:,(hnz htbuoy nam 25 53-19.6n 004-53.4e",
      "Lightbuoy pen 38 53-29.7n 004-03.7e",
      "Southwest 5-6, soon increasing 6-7, gradually 7-!.. ' 06.9, 006!. ! '3. 0 from the night showery rain with later risk z mdfs moderate, increasing zod, in precipitation moderate"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 94,
    "heading": "2026-03-24 15:08:05 AREA: G",
    "published_at": "2026-03-24 15:08:05",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA_3\n_.6W A_D NNG SI_UOY_56-1_3N _PPWAPOM\nWEAIS IN_P_IVE.\n2: CDNCDOY KGA91).\nNHNNU_\nVA_AAAAAAAAAA_ZCZC",
    "clean_text": "ZCZC GA_3\n_.6W A_D NNG SI_UOY_56-1_3N _PPWAPOM\nWEAIS IN_P_IVE.\n2: CDNCDOY KGA91).\nNHNNU_\nVA_AAAAAAAAAA_ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code G. Readable text says: Weais in p ive. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Weais in p ive",
      "2: cdncdoy kga91)",
      "Va aaaaaaaaaa zczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 95,
    "heading": "2026-03-24 15:07:41 AREA: G",
    "published_at": "2026-03-24 15:07:41",
    "area": "G",
    "message_id": "",
    "text": "ZCZC G__ONG_AM\n_E TEMPO___ILYNREMOVES.=\n1_\n_8\n__2_17__ZCZC",
    "clean_text": "ZCZC G__ONG_AM\n_E TEMPO___ILYNREMOVES.=\n1_\n_8\n__2_17__ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 96,
    "heading": "2026-03-24 15:07:18 AREA: G",
    "published_at": "2026-03-24 15:07:18",
    "area": "G",
    "message_id": "GA96",
    "text": "ZCZC GA96\nWZ 171/26 \nHUMBER. \nDU_GTON_WIND FAR_. \nDUDGEON HO_TH _UMY ETEAQWMTN 001-25.6E U LIT. \nNNNN",
    "clean_text": "ZCZC GA96\nWZ 171/26\nHUMBER.\nDU_GTON_WIND FAR_.\nDUDGEON HO_TH _UMY ETEAQWMTN 001-25.6E U LIT.\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Dudgeon ho th umy eteaqwmtn 001-25.6e u lit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Dudgeon ho th umy eteaqwmtn 001-25.6e u lit"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 97,
    "heading": "2026-03-24 15:06:09 AREA: G",
    "published_at": "2026-03-24 15:06:09",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nAZ\nXWYO\n__IOL____ONRYAPSSM_EM_FPSWM_HMW_SF\nO_NIIU_K_WAZ_ZCZ_ GA61\n_/__,_!____ \n_. D01, 53-_0.1N KP__A_OU__B. S01, 53-15.7D_00_-_5.9E. \n2. CANC_L WZ 58/26 (GL29_. ,__,,,,\n\n12-__\n_ZCZC",
    "clean_text": "ZCZC GA71\nAZ\nXWYO\n__IOL____ONRYAPSSM_EM_FPSWM_HMW_SF\nO_NIIU_K_WAZ_ZCZ_ GA61\n_/__,_!____\n_. D01, 53-_0.1N KP__A_OU__B. S01, 53-15.7D_00_-_5.9E.\n2. CANC_L WZ 58/26 (GL29_. ,__,,,,\n\n12-__\n_ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 98,
    "heading": "2026-03-24 15:05:14 AREA: T",
    "published_at": "2026-03-24 15:05:14",
    "area": "T",
    "message_id": "",
    "text": "ZCZC_A/TV___U__NZCZC",
    "clean_text": "ZCZC_A/TV___U__NZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 99,
    "heading": "2026-03-24 15:04:23 AREA: G",
    "published_at": "2026-03-24 15:04:23",
    "area": "G",
    "message_id": "GA94",
    "text": "ZCZC GA94\n_2+ 220=_6\nHF__O_O__ORE DEMONSTAATO_ WN FARM.\nTURBINE B1! __\n001-23.6W_UNLIT A __AAUI JF_KQI_ 01-24.5_3 9!! -84____ZCZC",
    "clean_text": "ZCZC GA94\n_2+ 220=_6\nHF__O_O__ORE DEMONSTAATO_ WN FARM.\nTURBINE B1! __\n001-23.6W_UNLIT A __AAUI JF_KQI_ 01-24.5_3 9!! -84____ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: Turbine b1!. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Turbine b1!"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 100,
    "heading": "2026-03-24 15:03:26 AREA: G",
    "published_at": "2026-03-24 15:03:26",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA0$_\nWZ 224/26\nGMDSS. 0_:9_'_(_3ZZAWQZ_YSF_Q__U_ELZ. \n1. PLT__RM _9/27-_3$ 53-0_.6N 002-12.6E, UNLIT ANA ALL NAVAIDS INOP__L_U__PZCZC",
    "clean_text": "ZCZC GA0$_\nWZ 224/26\nGMDSS. 0_:9_'_(_3ZZAWQZ_YSF_Q__U_ELZ.\n1. PLT__RM _9/27-_3$ 53-0_.6N 002-12.6E, UNLIT ANA ALL NAVAIDS INOP__L_U__PZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 101,
    "heading": "2026-03-24 15:02:55 AREA: G",
    "published_at": "2026-03-24 15:02:55",
    "area": "G",
    "message_id": "GA04",
    "text": "ZCZC GA04\nWZ_225/26\nGMDSS.\n,MLX_ETLAND.\n1. MF R/T AND DSC SERVICES FROM __OFF AI__\nVWM CANCEL WZ 213/26 (GA80).\nNNNN",
    "clean_text": "ZCZC GA04\nWZ_225/26\nGMDSS.\n,MLX_ETLAND.\n1. MF R/T AND DSC SERVICES FROM __OFF AI__\nVWM CANCEL WZ 213/26 (GA80).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. mf r/t and dsc services from off ai",
      "Mlx etland",
      "Vwm cancel wz 213/26 (ga80)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 102,
    "heading": "2026-03-24 15:02:25 AREA: T",
    "published_at": "2026-03-24 15:02:25",
    "area": "T",
    "message_id": "",
    "text": "OCZC GA07\nWZ 226/2_\nHUMBER.\nBESS_MERVWF\nFIELD.\n1. PLATFORM 49/23E, 53-11.9N 002-29._E, FOG SIGNAL INOPERATIV_.\n2. CANCEL WZ 104/26 _GA54).\nNN_N\nH_WZHZCZC",
    "clean_text": "OCZC GA07\nWZ 226/2_\nHUMBER.\nBESS_MERVWF\nFIELD.\n1. PLATFORM 49/23E, 53-11.9N 002-29._E, FOG SIGNAL INOPERATIV_.\n2. CANCEL WZ 104/26 _GA54).\nNN_N\nH_WZHZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. platform 49/23e, 53-11.9n 002-29. e, fog signal inoperativ",
      "Bess mervwf",
      "2. cancel wz 104/26 ga54)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 103,
    "heading": "2026-03-24 15:02:02 AREA: G",
    "published_at": "2026-03-24 15:02:02",
    "area": "G",
    "message_id": "GP",
    "text": "ZCZC GP\nWZ 230/26 \nFAIR ISLE. \nROVA HEAD LIGHTHOUSE 60-11._(VIGHTS UNRELIABL_. \nNNNN",
    "clean_text": "ZCZC GP\nWZ 230/26\nFAIR ISLE.\nROVA HEAD LIGHTHOUSE 60-11._(VIGHTS UNRELIABL_.\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "operational notice",
    "subject_code": "P",
    "decoded_summary": "operational notice for Unresolved B1 code G. Readable text says: Rova head lighthouse 60-11. (vights unreliabl.",
    "decoded_highlights": [
      "Rova head lighthouse 60-11. (vights unreliabl",
      "Fair isle"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 105,
    "heading": "2026-03-24 12:32:33 AREA: P",
    "published_at": "2026-03-24 12:32:33",
    "area": "P",
    "message_id": "PA55",
    "text": "ZCZC PA55\n180215 UT_M_Y_\n_MSI 87/26\nSLIJKGAT\nBUOY SG 6A 51-50.8N 003-55.5E MISSING\nCANCEL MSI 84/26\nNNNN",
    "clean_text": "ZCZC PA55\n180215 UT_M_Y_\n_MSI 87/26\nSLIJKGAT\nBUOY SG 6A 51-50.8N 003-55.5E MISSING\nCANCEL MSI 84/26\nNNNN",
    "display_region_heading": "Unresolved B1 code P",
    "display_region_label": "B1 code P",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code P. Readable text says: Buoy sg 6a 51-50.8n 003-55.5e missing. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Buoy sg 6a 51-50.8n 003-55.5e missing",
      "Slijkgat"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 106,
    "heading": "2026-03-24 12:31:41 AREA: P",
    "published_at": "2026-03-24 12:31:41",
    "area": "P",
    "message_id": "PA40",
    "text": "ZCZC PA40\n240600 UTC MAR 26\nMSI 96/25\nMAAS APPROACH\nGREEN LIGHT BUOY MNW1 LFL(1)G 8S \nOFF STATION..\n_9,,88_+:+: 0360\n240811 UTC MAR 26\nGALEWARNING 240752 UTC MAR\nGERMAN BIGHT HUMBPMHD_PJMWZ_PYONJZCHD_PJ_M_FONGWZ_\nSOUTHWEST 7\n\nEND OF GALEWARNING..\n\nNNNN",
    "clean_text": "ZCZC PA40\n240600 UTC MAR 26\nMSI 96/25\nMAAS APPROACH\nGREEN LIGHT BUOY MNW1 LFL(1)G 8S\nOFF STATION..\n_9,,88_+:+: 0360\n240811 UTC MAR 26\nGALEWARNING 240752 UTC MAR\nGERMAN BIGHT HUMBPMHD_PJMWZ_PYONJZCHD_PJ_M_FONGWZ_\nSOUTHWEST 7\n\nEND OF GALEWARNING..\n\nNNNN",
    "display_region_heading": "Unresolved B1 code P",
    "display_region_label": "B1 code P",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code P. Readable text says: Green light buoy mnw1 lfl(1)g 8s. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Green light buoy mnw1 lfl(1)g 8s",
      "End of galewarning",
      "Maas approach"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 109,
    "heading": "2026-03-24 10:13:49 AREA: P",
    "published_at": "2026-03-24 10:13:49",
    "area": "P",
    "message_id": "PE59",
    "text": "ZCZC PE59\n240811 UTC MAR 26\nGALEWARNING 240752 UTC MAR\nGERMAN BIGHT HUMBER THAMES DOVER\nSOUTHWEST 8\nDOGGER\nSOUTHWEST 7\n\nEND OF GALEWARNING..\n\nNNNN",
    "clean_text": "ZCZC PE59\n240811 UTC MAR 26\nGALEWARNING 240752 UTC MAR\nGERMAN BIGHT HUMBER THAMES DOVER\nSOUTHWEST 8\nDOGGER\nSOUTHWEST 7\n\nEND OF GALEWARNING..\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: End of galewarning.",
    "decoded_highlights": [
      "End of galewarning",
      "German bight humber thames dover",
      "Southwest 8"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 110,
    "heading": "2026-03-24 09:30:49 AREA: V",
    "published_at": "2026-03-24 09:30:49",
    "area": "V",
    "message_id": "",
    "text": "ZCZC V_PIQPRE UTC MAR 26 \n_'5_!*6_2_ \nTHAME_IZR__L_HK_LIA ONE _F._6__KMLOBX__C _YJI_VE. \n____7_\n_:+:.\n__!_,,._/$4._/__)____:1_0_126/26 \nTHAMES. \nGUNFLEET SAND_ND FARM. \n)_P_BINE A\n_QARTMPG_MFZ_PYHF\nP_BM_49).\nNNNN",
    "clean_text": "ZCZC V_PIQPRE UTC MAR 26\n_'5_!*6_2_\nTHAME_IZR__L_HK_LIA ONE _F._6__KMLOBX__C _YJI_VE.\n____7_\n_:+:.\n__!_,,._/$4._/__)____:1_0_126/26\nTHAMES.\nGUNFLEET SAND_ND FARM.\n)_P_BINE A\n_QARTMPG_MFZ_PYHF\nP_BM_49).\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Gunfleet sand nd farm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gunfleet sand nd farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 111,
    "heading": "2026-03-24 09:30:22 AREA: V",
    "published_at": "2026-03-24 09:30:22",
    "area": "V",
    "message_id": "VA69",
    "text": "ZCZC VA69\n1_26\nWZ 215/__\n __9=34.\nMQ_FCPXQ_YRVICE FRO_MLIII_LO.::0804+:_ -84.\nNNNONNIII_AAZCZC",
    "clean_text": "ZCZC VA69\n1_26\nWZ 215/__\n__9=34.\nMQ_FCPXQ_YRVICE FRO_MLIII_LO.::0804+:_ -84.\nNNNONNIII_AAZCZC",
    "display_region_heading": "Unresolved B1 code V",
    "display_region_label": "B1 code V",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code V. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mq fcpxq yrvice fro mliii lo.::0804 : -84",
      "Nnnonniii aazczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 112,
    "heading": "2026-03-24 09:17:33 AREA: T",
    "published_at": "2026-03-24 09:17:33",
    "area": "T",
    "message_id": "T",
    "text": "ZCZC T\n07140!._:__.(91__0\n)53,$34-2!+._1_90'$ :$6_0'3--43- (COAST'9,_:,$342-534 __PIIIKEP_7BQDK_J_.)0__00.)3-:_ \nWM_HSCSGQ_V__03_$+/__6/06=0_3$ 285_ ,945_ :\n4__:\n7_1_96 'JDN'\n,_:206__\n_803)8,3 )9._-4$'8*$3=8!\n___, __*___$_6_1_02-45.01E MARKED\nG_YVIBK_/=__/_7+_\n+__6 'DC1*9,_*$!__ 8' 431!4_:___,94 59 !8'_ -_9=3 \nTHPJPMF_PSFPJONGZV___:+: 5-82\n301807 UTC APR 25\nOOSTPWPYWFZM_JF___FR__DZ_AAQDCGSEX_ZM__)02.!._928,_._+*!_!+*9,\n_=(//,(()9::_UB_\n51-17,2!1___*\n 7)'1(_'_:!/66$0..9-1_16_26)/__ ,95 59 -,:__8,856\nNNNN",
    "clean_text": "ZCZC T\n07140!._:__.(91__0\n)53,$34-2!+._1_90'$ :$6_0'3--43- (COAST'9,_:,$342-534 __PIIIKEP_7BQDK_J_.)0__00.)3-:_\nWM_HSCSGQ_V__03_$+/__6/06=0_3$ 285_ ,945_ :\n4__:\n7_1_96 'JDN'\n,_:206__\n_803)8,3 )9._-4$'8*$3=8!\n___, __*___$_6_1_02-45.01E MARKED\nG_YVIBK_/=__/_7+_\n+__6 'DC1*9,_*$!__ 8' 431!4_:___,94 59 !8'_ -_9=3\nTHPJPMF_PSFPJONGZV___:+: 5-82\n301807 UTC APR 25\nOOSTPWPYWFZM_JF___FR__DZ_AAQDCGSEX_ZM__)02.!._928,_._+*!_!+*9,\n_=(//,(()9::_UB_\n51-17,2!1___*\n7)'1(_'_:!/66$0..9-1_16_26)/__ ,95 59 -,:__8,856\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 113,
    "heading": "2026-03-24 09:16:18 AREA: T",
    "published_at": "2026-03-24 09:16:18",
    "area": "T",
    "message_id": "",
    "text": "ZCZC_\n141654 UTOJ_NGZZJHPWPYWFZ_ZSI 027/_69,_)0.06-=_$49_4-0_8:-) 8,'547_0\n.0_/+.-)8'_, 09*.\n_ 7:_0:\n_)__3 \nUNM_D\nS_ING IS REQUESTG*_._+._94=!._$0._!7\n/4=_9,,888_-_ZCZ_M__HP_N_25\nOOSTENDERA_F___1_122/__\n('0.0__'-0_B_BD__EABED\nSNF_RUNF7)._)9(_02.+_._+9+\n75\n_\n_1_\n'_ 8._$,___---7\n_4! =_\nNNONNIII ____UZCZC",
    "clean_text": "ZCZC_\n141654 UTOJ_NGZZJHPWPYWFZ_ZSI 027/_69,_)0.06-=_$49_4-0_8:-) 8,'547_0\n.0_/+.-)8'_, 09*.\n_ 7:_0:\n_)__3\nUNM_D\nS_ING IS REQUESTG*_._+._94=!._$0._!7\n/4=_9,,888_-_ZCZ_M__HP_N_25\nOOSTENDERA_F___1_122/__\n('0.0__'-0_B_BD__EABED\nSNF_RUNF7)._)9(_02.+_._+9+\n75\n_\n_1_\n'_ 8._$,___---7\n_4! =_\nNNONNIII ____UZCZC",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium - Belgian coast and southern North Sea. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 114,
    "heading": "2026-03-24 09:15:37 AREA: T",
    "published_at": "2026-03-24 09:15:37",
    "area": "T",
    "message_id": "",
    "text": "ZCZC_RT\n_5_____: '30=\nOOSTENDERADIO_ZMHD_QAWPQVVY_8_'_.586_,:_94 ,94 59 _!*_78, 5_3.$7\n__.\nNI_A_Z_Z__ZCZC",
    "clean_text": "ZCZC_RT\n_5_____: '30=\nOOSTENDERADIO_ZMHD_QAWPQVVY_8_'_.586_,:_94 ,94 59 _!*_78, 5_3.$7\n__.\nNI_A_Z_Z__ZCZC",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium - Belgian coast and southern North Sea. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 115,
    "heading": "2026-03-24 09:14:30 AREA: T",
    "published_at": "2026-03-24 09:14:30",
    "area": "T",
    "message_id": "",
    "text": "ZCZCM_\nF__N\n_TC MARONGZZJHPEEKU\n_ )_ _, 5_.31N _ALTT UNRELIABLE\n_ONNIII_U_UUUU_AXA__HK_\n270420 UTC SENGZZJHP_WFZM_JFM_PH_\nOOSTEN_E\n__X_HE____AXMNVBA__BK__B_MFMHW_AWPN_ZYMHZMIIK_!._$0._,856\nNNNN",
    "clean_text": "ZCZCM_\nF__N\n_TC MARONGZZJHPEEKU\n_ )_ _, 5_.31N _ALTT UNRELIABLE\n_ONNIII_U_UUUU_AXA__HK_\n270420 UTC SENGZZJHP_WFZM_JFM_PH_\nOOSTEN_E\n__X_HE____AXMNVBA__BK__B_MFMHW_AWPN_ZYMHZMIIK_!._$0._,856\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Tc marongzzjhpeeku. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Tc marongzzjhpeeku"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 116,
    "heading": "2026-03-24 09:11:43 AREA: T",
    "published_at": "2026-03-24 09:11:43",
    "area": "T",
    "message_id": "TZ",
    "text": "ZCZC TZ\nO_\n081916 1_71\n=_\nOOSTENTEGOMSI MU XWZRKJHPWP__SRXEEZASSTACLES ON THE SEABED_FOLLOWING POS\n5117.40____!33_,_2.602E\n511$_N  ,_1_:)__\n_304N _ISNM_A_DN_\nMRRE\nSHNGRN_EFNB_RRYDR_X_HQ\n_KSUKSMSWXVG_MHZM_MFMHDPM\nF___H_ONQSN_LSV_____A\nU_\nD_U=5*271730 UTC MAR\n_OOSTENDERADI\n_MLI 107/_6\nOOSTE\nH__PPLYUGGE\nBTIZJMIBY M/_MB_(_(8_GXBWX_ONGLPH_LB_ZS_Z_F_M_ZZEWFHPJ_JBSN__CP_WC\n_V\n_U_QEE\n_1-20.86_ 002-/$=_6_3 \n_51-19.93N _APOMUTE\n5 _*\n3N _APOMC__!/*+*\n__(33_!33_+3 34.._\n51-20.06N 0_$+_45E\n0+1.-, 9, -:5\n_Z\nD FISH_I\n__N THE ENTZE CORRIJZ_I_XLTEE\n_RRYDRBC_G_PASS ZX_ZQLAFE __B_O76_0.-,7 03((- 8' )$_8,_ 975 9,___._1!-*_ AND 65\nNNNN",
    "clean_text": "ZCZC TZ\nO_\n081916 1_71\n=_\nOOSTENTEGOMSI MU XWZRKJHPWP__SRXEEZASSTACLES ON THE SEABED_FOLLOWING POS\n5117.40____!33_,_2.602E\n511$_N ,_1_:)__\n_304N _ISNM_A_DN_\nMRRE\nSHNGRN_EFNB_RRYDR_X_HQ\n_KSUKSMSWXVG_MHZM_MFMHDPM\nF___H_ONQSN_LSV_____A\nU_\nD_U=5*271730 UTC MAR\n_OOSTENDERADI\n_MLI 107/_6\nOOSTE\nH__PPLYUGGE\nBTIZJMIBY M/_MB_(_(8_GXBWX_ONGLPH_LB_ZS_Z_F_M_ZZEWFHPJ_JBSN__CP_WC\n_V\n_U_QEE\n_1-20.86_ 002-/$=_6_3\n_51-19.93N _APOMUTE\n5 _*\n3N _APOMC__!/*+*\n__(33_!33_+3 34.._\n51-20.06N 0_$+_45E\n0+1.-, 9, -:5\n_Z\nD FISH_I\n__N THE ENTZE CORRIJZ_I_XLTEE\n_RRYDRBC_G_PASS ZX_ZQLAFE __B_O76_0.-,7 03((- 8' )$_8,_ 975 9,___._1!-*_ AND 65\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "operational notice",
    "subject_code": "Z",
    "decoded_summary": "operational notice for Belgium - Belgian coast and southern North Sea. Readable text says: Oostentegomsi mu xwzrkjhpwp srxeezasstacles on the seabed following pos. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Oostentegomsi mu xwzrkjhpwp srxeezasstacles on the seabed following pos",
      "Ksuksmswxvg mhzm mfmhdpm",
      "Oostenderadi"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 117,
    "heading": "2026-03-24 09:11:00 AREA: T",
    "published_at": "2026-03-24 09:11:00",
    "area": "T",
    "message_id": "TA02",
    "text": "ZCZC TA02\n082006__2\n71\n9= 24\nUQMKR5___\n1 _544/24\nOO_KS__0)6:_\nOBSTACLES ON THE SEAA_NAMF_OU_AM_SM_PVQZP__O_  OG__258.482E\n51,__=943N  00258*3\nSHIPE_\nQ_Q___EQUESTEHQ\nOT TO N_R NOR TO FIJHQIN THE VIC_FH_ON_\nP\n\n\n\nD_U__ZCZC",
    "clean_text": "ZCZC TA02\n082006__2\n71\n9= 24\nUQMKR5___\n1 _544/24\nOO_KS__0)6:_\nOBSTACLES ON THE SEAA_NAMF_OU_AM_SM_PVQZP__O_ OG__258.482E\n51,__=943N 00258*3\nSHIPE_\nQ_Q___EQUESTEHQ\nOT TO N_R NOR TO FIJHQIN THE VIC_FH_ON_\nP\n\nD_U__ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code T. Readable text says: Obstacles on the seaa namf ou am sm pvqzp o og 258.482e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Obstacles on the seaa namf ou am sm pvqzp o og 258.482e"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 118,
    "heading": "2026-03-24 09:10:24 AREA: T",
    "published_at": "2026-03-24 09:10:24",
    "area": "T",
    "message_id": "TE47",
    "text": "ZCZC TE47\n240710 UTC MAR\nOOSTSXX_ WX 47/269,__$___7__,3,_'2 4-5, IMYM_ JPDUQMJBELGIAN COAST:\nH__TN INCYMHZM\n_\nALL_Y_PO _0-_9'5)6 :)97$6. DRY. MODFZG_P_VIS.\nNNNN",
    "clean_text": "ZCZC TE47\n240710 UTC MAR\nOOSTSXX_ WX 47/269,__$___7__,3,_'2 4-5, IMYM_ JPDUQMJBELGIAN COAST:\nH__TN INCYMHZM\n_\nALL_Y_PO _0-_9'5)6 :)97$6. DRY. MODFZG_P_VIS.\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "BELGIAN COAST"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Belgium - Belgian coast and southern North Sea. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 119,
    "heading": "2026-03-24 09:05:06 AREA: S",
    "published_at": "2026-03-24 09:05:06",
    "area": "S",
    "message_id": "",
    "text": "ZCZC SA369,_/__-._:)_1_930.___5.+(39K_T WES__HHLQPBGSF_DH\nGBQPJBH_N 006-21E TEQ_VG_GM_MOVED.\nOP\n____L_______ZCZC",
    "clean_text": "ZCZC SA369,_/__-._:)_1_930.___5.+(39K_T WES__HHLQPBGSF_DH\nGBQPJBH_N 006-21E TEQ_VG_GM_MOVED.\nOP\n____L_______ZCZC",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code S. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 120,
    "heading": "2026-03-24 09:04:07 AREA: T",
    "published_at": "2026-03-24 09:04:07",
    "area": "T",
    "message_id": "",
    "text": "ZCZCMJP__CC-HAME\n07130MG_HTBKROK_U_PPZK. WARN_NO. *66=0Y_Z\nPSICU_AFF_VD_X_GNY_V\nMEASURI_MFJHYC_BT ESTABLISDPWM_M_ZJMH_KEK__CZ__\nWP\nQ006-09,48E.\n54_)_6),_2____$_8_+:3_UO_QL_0____5_796 -!_$.!1_3\n2\n_'ODAS', _'\n_\n/_1_6. 20\n,_88_:.\nSAFE BERTH REQCPJHPW_ONNA_AOOZZZZZZZD_ZCZC",
    "clean_text": "ZCZCMJP__CC-HAME\n07130MG_HTBKROK_U_PPZK. WARN_NO. *66=0Y_Z\nPSICU_AFF_VD_X_GNY_V\nMEASURI_MFJHYC_BT ESTABLISDPWM_M_ZJMH_KEK__CZ__\nWP\nQ006-09,48E.\n54_)_6),_2____$_8_+:3_UO_QL_0____5_796 -!_$.!1_3\n2\n_'ODAS', _'\n_\n/_1_6. 20\n,_88_:.\nSAFE BERTH REQCPJHPW_ONNA_AOOZZZZZZZD_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Safe berth reqcpjhpw onna aoozzzzzzzd zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Safe berth reqcpjhpw onna aoozzzzzzzd zczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 121,
    "heading": "2026-03-24 09:02:42 AREA: S",
    "published_at": "2026-03-24 09:02:42",
    "area": "S",
    "message_id": "SM",
    "text": "ZCZC SM\n_NCC-HA_LCY_ON\nU UUMG_HXM_YONKQALSS_ZGIZD_BHLAOMPD_FWPYXK_QCRP_PPIAWO_ONNKVVVVVVV____B_U_AXAUQLZF__\nNCCNJCJNLCTZ\nZ_LTPIPP UTXM_Y\nF_NAV. WARN. NO. 139\nGEK__=_8/:8 1_$6_1.39_X_V 'FUGRO SYN4__9,1E\nRESTRICTPDMQ_=_4+\n__8!___!_\n_=_'___!. NM REQUESTED.\nNNNN",
    "clean_text": "ZCZC SM\n_NCC-HA_LCY_ON\nU UUMG_HXM_YONKQALSS_ZGIZD_BHLAOMPD_FWPYXK_QCRP_PPIAWO_ONNKVVVVVVV____B_U_AXAUQLZF__\nNCCNJCJNLCTZ\nZ_LTPIPP UTXM_Y\nF_NAV. WARN. NO. 139\nGEK__=_8/:8 1_$6_1.39_X_V 'FUGRO SYN4__9,1E\nRESTRICTPDMQ_=_4+\n__8!___!_\n_=_'___!. NM REQUESTED.\nNNNN",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "operational notice",
    "subject_code": "M",
    "decoded_summary": "operational notice for Unresolved B1 code S. Readable text says: Restrictpdmq 4. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Restrictpdmq 4",
      "Nccnjcjnlctz",
      "F nav. warn. no. 139"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 122,
    "heading": "2026-03-24 09:00:52 AREA: S",
    "published_at": "2026-03-24 09:00:52",
    "area": "S",
    "message_id": "SL",
    "text": "ZCZC SL\nP__N\n_RNING NO. 098  265RCUHMG_HXMGZO_GPZLKNEUT:\nJUM_CMGSHPY_NNNN",
    "clean_text": "ZCZC SL\nP__N\n_RNING NO. 098 265RCUHMG_HXMGZO_GPZLKNEUT:\nJUM_CMGSHPY_NNNN",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "navigational warning",
    "subject_code": "L",
    "decoded_summary": "navigational warning for Unresolved B1 code S. Readable text says: Rning no. 098 265rcuhmg hxmgzo gpzlkneut. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Rning no. 098 265rcuhmg hxmgzo gpzlkneut"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 124,
    "heading": "2026-03-24 08:30:37 AREA: P",
    "published_at": "2026-03-24 08:30:37",
    "area": "P",
    "message_id": "PA43",
    "text": "ZCZC PA43\n120834 UTCPZTIC\nMSI FPT_\nAMELAND INSHI-__::+3(___))928,_.)_+_*_)__,_9_\nBACOBK_P_GLKU_SY_ARRMPZGPOLO\n_/60:0WI__ME BACIM\nPMG_AQS_UUKCPCRQRGE\n 005-44.45E\nNNNN",
    "clean_text": "ZCZC PA43\n120834 UTCPZTIC\nMSI FPT_\nAMELAND INSHI-__::+3(___))928,_.)_+_*_)__,_9_\nBACOBK_P_GLKU_SY_ARRMPZGPOLO\n_/60:0WI__ME BACIM\nPMG_AQS_UUKCPCRQRGE\n005-44.45E\nNNNN",
    "display_region_heading": "Unresolved B1 code P",
    "display_region_label": "B1 code P",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code P. Readable text says: 120834 utcpztic. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "120834 utcpztic",
      "Pmg aqs uukcpcrqrge"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 125,
    "heading": "2026-03-24 08:05:12 AREA: P",
    "published_at": "2026-03-24 08:05:12",
    "area": "P",
    "message_id": "",
    "text": "ZCZC PA_(_0600 UTC MAR 26\nMJFM\nZET_H_AAS APPROACH\nGRPPMWBOS_DT_LKNXOHJ___\n_YRYG\nR_A___MU__F017=_+--------_.!_4___(-/-/._\n__PREI UTC MAR 26\nGALEWARNING, 24 MAR 04:31 UTC.\nTHAMES_.__+_06_SOUTHWPJ_M\nC_NQ\n_M_PYBGOEKWBNU_DSGITS_I_ZY_CSSQF_OF GALEWARF_ONONONNIII__ZCZC",
    "clean_text": "ZCZC PA_(_0600 UTC MAR 26\nMJFM\nZET_H_AAS APPROACH\nGRPPMWBOS_DT_LKNXOHJ___\n_YRYG\nR_A___MU__F017=_+--------_.!_4___(-/-/._\n__PREI UTC MAR 26\nGALEWARNING, 24 MAR 04:31 UTC.\nTHAMES_.__+_06_SOUTHWPJ_M\nC_NQ\n_M_PYBGOEKWBNU_DSGITS_I_ZY_CSSQF_OF GALEWARF_ONONONNIII__ZCZC",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: M pybgoekwbnu dsgits i zy cssqf of galewarf onononniii zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "M pybgoekwbnu dsgits i zy cssqf of galewarf onononniii zczc",
      "Galewarning, 24 mar 04:31 utc",
      "Zet h aas approach"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 126,
    "heading": "2026-03-24 07:40:17 AREA: K",
    "published_at": "2026-03-24 07:40:17",
    "area": "K",
    "message_id": "KA29",
    "text": "ZCZC KA29\nAVURNAV _DPYLZCYM _ AHC__PJHONM71__,_-,_3'9,_'!!8:_!*,8:_*_5_54-,'\n85\n_6.+:_.+_.*16\n(_\nKBHR32_8\n)_9733 _-''__=''09,___N 000-5:.,__0_,_3(NB_FZOOG_Z__VVVVV\n_\n____  ___OUQLZN\nNAVTEX_HAMB_(NCC)\n_76_YQ_WX_N. NO. 172\nNAV___GUY_____ZCZC",
    "clean_text": "ZCZC KA29\nAVURNAV _DPYLZCYM _ AHC__PJHONM71__,_-,_3'9,_'!!8:_!*,8:_*_5_54-,'\n85\n_6.+:_.+_.*16\n(_\nKBHR32_8\n)_9733 _-''__=''09,___N 000-5:.,__0_,_3(NB_FZOOG_Z__VVVVV\n_\n____ ___OUQLZN\nNAVTEX_HAMB_(NCC)\n_76_YQ_WX_N. NO. 172\nNAV___GUY_____ZCZC",
    "display_region_heading": "Unresolved B1 code K",
    "display_region_label": "B1 code K",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code K. Readable text says: Navtex hamb (ncc). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Navtex hamb (ncc)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 127,
    "heading": "2026-03-24 07:27:52 AREA: T",
    "published_at": "2026-03-24 07:27:52",
    "area": "T",
    "message_id": "",
    "text": "ZCZCMQ_\nCAO\n_HDCF_J-___6_.\n__TK__HQAXDWX_JHPYBSK_D_+__' 59 _+6_.____802..0_6'_3$_8,_9___!__(_BUENUE0*__6_=0_:_:_-,__='8__'1_ _6_\n,\n___66 20\n1!3$_+3_:\n__\n55-43.7N /=__3\n55-43.7N \nA H__IK_UVQQLONGKMCGDOSNZ_WUN _ Y__M_DDC_M\nVEJJPSJMYPMU\nQUXZ_UJ_ATE _FHDM_C_FABKEBE_OAKP_IYL__PB LM B_FA_A_S_PSJM_CJHX_KQQBKX MINIMUM SAF_VHGX_WORKS ARE IM_CTY\nZEYESOGRB_VESSQSFM_ OF AT LEAST 30 METERS _ THE DRQLJHYC_HMOJPXGB_F_ZLH__O_, CONZ\n_WC_LZF_UFD\n___OUKT)/25.9____9!-7 _K_TT_MARK_EU__\n__UI\n_ZCZC",
    "clean_text": "ZCZCMQ_\nCAO\n_HDCF_J-___6_.\n__TK__HQAXDWX_JHPYBSK_D_+__' 59 _+6_.____802..0_6'_3$_8,_9___!__(_BUENUE0*__6_=0_:_:_-,__='8__'1_ _6_\n,\n___66 20\n1!3$_+3_:\n__\n55-43.7N /=__3\n55-43.7N\nA H__IK_UVQQLONGKMCGDOSNZ_WUN _ Y__M_DDC_M\nVEJJPSJMYPMU\nQUXZ_UJ_ATE _FHDM_C_FABKEBE_OAKP_IYL__PB LM B_FA_A_S_PSJM_CJHX_KQQBKX MINIMUM SAF_VHGX_WORKS ARE IM_CTY\nZEYESOGRB_VESSQSFM_ OF AT LEAST 30 METERS _ THE DRQLJHYC_HMOJPXGB_F_ZLH__O_, CONZ\n_WC_LZF_UFD\n___OUKT)/25.9____9!-7 _K_TT_MARK_EU__\n__UI\n_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Vejjpsjmypmu. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Vejjpsjmypmu"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 129,
    "heading": "2026-03-24 07:12:49 AREA: S",
    "published_at": "2026-03-24 07:12:49",
    "area": "S",
    "message_id": "",
    "text": "ZCZC SA65_\nNAVTEX-_5-._74_ (NCCEB__N.  .9. 171\nNAV.\n)BHLAGUL_YR_TMK_\n\n\n__U\nU_UUK\n_ZCZXMQP_PY_N_RU UTC__YONGL_C SEA WEHDPYZZXXD\nNK_II_G\nBAY Z.)(_:'!_-__:_+6_$06.*0.+2*=(__+!\n10_\n__=71KB_KAGERRAK, ARCHIPELAGO SEA, THE BELTJ___S_GAT\n\nWEATHER SUMMARY:\nEXTENSIVE L APPROACHING M___LVI_ERNIGHTOG__OG__OE A MIH\nO_T\n\nVWCI_SP_CWAV_ALE IN MPPPYJM_PYUIIKND)\n\nSKA_AK\nF_M2_-5__ :_)_._\n,.$9_4-8,._!__.__7_5\nSV_TJ_MTS__D\n_GOOD MIS: 7'.=_4-8, __95_,8- *_887!(_(,9+,._+2\n__3(_6.*+_\n_9,,888_7_7_+:+: *-18\n\n7_ _!+$_2-4, 0 _57_+$_1-/_2KKQ_E_B_KV_F___JMD_XO___2=.++95_'3' 1100-1400 UTC DINJDOH_UBKIZBKEB_(3KOQUC\n_IN CENTE_LR_K_55-29.6N 020-51.0E_9,_60_7!29 _ =+6_EK_G_QS_J_VJUH_O_IF__L_EU PJHPW_CANCEL THLJFOLQR__BB_C MAR 26.\n__9,,888__7__ZCZC",
    "clean_text": "ZCZC SA65_\nNAVTEX-_5-._74_ (NCCEB__N. .9. 171\nNAV.\n)BHLAGUL_YR_TMK_\n\n__U\nU_UUK\n_ZCZXMQP_PY_N_RU UTC__YONGL_C SEA WEHDPYZZXXD\nNK_II_G\nBAY Z.)(_:'!_-__:_+6_$06.*0.+2*=(__+!\n10_\n__=71KB_KAGERRAK, ARCHIPELAGO SEA, THE BELTJ___S_GAT\n\nWEATHER SUMMARY:\nEXTENSIVE L APPROACHING M___LVI_ERNIGHTOG__OG__OE A MIH\nO_T\n\nVWCI_SP_CWAV_ALE IN MPPPYJM_PYUIIKND)\n\nSKA_AK\nF_M2_-5__ :_)_._\n,.$9_4-8,._!__.__7_5\nSV_TJ_MTS__D\n_GOOD MIS: 7'.=_4-8, __95_,8- *_887!(_(,9+,._+2\n__3(_6.*+_\n_9,,888_7_7_+:+: *-18\n\n7_ _!+$_2-4, 0 _57_+$_1-/_2KKQ_E_B_KV_F___JMD_XO___2=.++95_'3' 1100-1400 UTC DINJDOH_UBKIZBKEB_(3KOQUC\n_IN CENTE_LR_K_55-29.6N 020-51.0E_9,_60_7!29 _ =+6_EK_G_QS_J_VJUH_O_IF__L_EU PJHPW_CANCEL THLJFOLQR__BB_C MAR 26.\n__9,,888__7__ZCZC",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code S. Readable text says: Weather summary. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Weather summary",
      "Vwci sp cwav ale in mpppyjm pyuiiknd)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 130,
    "heading": "2026-03-24 07:10:01 AREA: G",
    "published_at": "2026-03-24 07:10:01",
    "area": "G",
    "message_id": "GA89",
    "text": "ZCZC GA89\n_ 161/26\nCROMARTY.\nHYWI\nH_ILOINTING WIND _F V_FJ_Q_XN _NYF__PQA \n_K2:_81__7_!_ =)4__)*\n2_:'_ZCZQUT___O\nNNNN",
    "clean_text": "ZCZC GA89\n_ 161/26\nCROMARTY.\nHYWI\nH_ILOINTING WIND _F V_FJ_Q_XN _NYF__PQA\n_K2:_81__7_!_ =)4__)*\n2_:'_ZCZQUT___O\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "CROMARTY"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Cromarty. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Cromarty"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 131,
    "heading": "2026-03-24 07:09:39 AREA: G",
    "published_at": "2026-03-24 07:09:39",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA96__0_171/2' \nHUMBHRFUQ_0_2_Y\n_D_\nH_I_ _A_BUOY 53-12.5N 001_$/_-_ 4E UNNCP_\n-N\n__\n)2__!2__!_7_ZCZC",
    "clean_text": "ZCZC GA96__0_171/2'\nHUMBHRFUQ_0_2_Y\n_D_\nH_I_ _A_BUOY 53-12.5N 001_$/_-_ 4E UNNCP_\n-N\n__\n)2__!2__!_7_ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code G. Readable text says: H i a buoy 53-12.5n 001 $/ - 4e unncp. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "H i a buoy 53-12.5n 001 $/ - 4e unncp"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 132,
    "heading": "2026-03-24 07:09:06 AREA: T",
    "published_at": "2026-03-24 07:09:06",
    "area": "T",
    "message_id": "",
    "text": "ZCZUQ_F\nW_0_-_-__+11!6:___=!__$.*0_+._$1'.2.:,''0_+_ 98) !83)$'_=\nCHART B\nACIM \nNG_FETY ZONE._6287' 50310 6__6)!\n ESTABLISHEHQ_Q_XWAJ_MP\nQ__PPARYMYPYVNNNN",
    "clean_text": "ZCZUQ_F\nW_0_-_-__+11!6:___=!__$.*0_+._$1'.2.:,''0_+_ 98) !83)$'_=\nCHART B\nACIM\nNG_FETY ZONE._6287' 50310 6__6)!\nESTABLISHEHQ_Q_XWAJ_MP\nQ__PPARYMYPYVNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Q pparymypyvnnnn. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Q pparymypyvnnnn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 133,
    "heading": "2026-03-24 07:07:57 AREA: G",
    "published_at": "2026-03-24 07:07:57",
    "area": "G",
    "message_id": "G",
    "text": "ZCZC G\nC_ONG_AM\n__TU__W_SR__RWELLM_J\nQ___X_OHLG_ZIJ_\nDJY_CRCS__N 002-59.1E UNLIT AND ALSMG_FUQB__C_+_'_+_CANCEL WZ 82/26 (G\nYUS_BNZ__FF__U_AXAXM_\nE_OOMKOMGGHKPO_W_SYGIL_ZRD__N _EW_H_FARM. \n1. TURBFPM_Z_BP(,+(Z_ZF\nO_\n_V___VYGE_FL\n_N 8(0-5_.9_3__2_ _0_+_$9). \nNNNN",
    "clean_text": "ZCZC G\nC_ONG_AM\n__TU__W_SR__RWELLM_J\nQ___X_OHLG_ZIJ_\nDJY_CRCS__N 002-59.1E UNLIT AND ALSMG_FUQB__C_+_'_+_CANCEL WZ 82/26 (G\nYUS_BNZ__FF__U_AXAXM_\nE_OOMKOMGGHKPO_W_SYGIL_ZRD__N _EW_H_FARM.\n1. TURBFPM_Z_BP(,+(Z_ZF\nO_\n_V___VYGE_FL\n_N 8(0-5_.9_3__2_ _0_+_$9).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 134,
    "heading": "2026-03-24 07:07:27 AREA: G",
    "published_at": "2026-03-24 07:07:27",
    "area": "G",
    "message_id": "GA74",
    "text": "ZCZC GA74\nWZ 207/26 \nHC_LP__\nRAVE_ELBAE_W_FORM NOYHDM_YPMVVGV__GVU_RAPEMWN \n_ _UZHNBHXJ_)=8:_00_7=)_\n_,9034-58=3_.9,_9,,88!=_ZCZC",
    "clean_text": "ZCZC GA74\nWZ 207/26\nHC_LP__\nRAVE_ELBAE_W_FORM NOYHDM_YPMVVGV__GVU_RAPEMWN\n_ _UZHNBHXJ_)=8:_00_7=)_\n_,9034-58=3_.9,_9,,88!=_ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 135,
    "heading": "2026-03-24 07:06:38 AREA: G",
    "published_at": "2026-03-24 07:06:38",
    "area": "G",
    "message_id": "GA83",
    "text": "ZCZC GA83\nWM\n_ _TK_O_MDSS__RCC DOVEY\n_MO_G_E 51___ 001-24.__,._9_0 _ \n_ONNIII__\nZ__AXA_GXRK_WZ 214/26 \nGMWJ__\nMR_XM_C_LPRZB_F LO_B1,3\n____4____20__\n=_ \n__'7 _'_._4N 001-27.8W\n_MHP _ \nNNNN",
    "clean_text": "ZCZC GA83\nWM\n_ _TK_O_MDSS__RCC DOVEY\n_MO_G_E 51___ 001-24.__,._9_0 _\n_ONNIII__\nZ__AXA_GXRK_WZ 214/26\nGMWJ__\nMR_XM_C_LPRZB_F LO_B1,3\n____4____20__\n=_\n__'7 _'_._4N 001-27.8W\n_MHP _\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 136,
    "heading": "2026-03-24 07:02:42 AREA: G",
    "published_at": "2026-03-24 07:02:42",
    "area": "G",
    "message_id": "GA02",
    "text": "ZCZC GA02\nWZV_AU_TU_ONGDC_LP__\nLEMAN GAS FIELD_M \nG_PLATFLJTUVJF_\n_S__7___*)!_0''_12.6E, UNLIT AND ALL NAVAIDS INOPERATIVE. \n2. CANCEL WZ 100/26 (GA52).\nNNNN",
    "clean_text": "ZCZC GA02\nWZV_AU_TU_ONGDC_LP__\nLEMAN GAS FIELD_M\nG_PLATFLJTUVJF_\n_S__7___*)!_0''_12.6E, UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 100/26 (GA52).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: S 7 )! 0'' 12.6e, unlit and all navaids inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "S 7 )! 0'' 12.6e, unlit and all navaids inoperative",
      "Leman gas field m",
      "2. cancel wz 100/26 (ga52)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 137,
    "heading": "2026-03-24 07:02:17 AREA: G",
    "published_at": "2026-03-24 07:02:17",
    "area": "G",
    "message_id": "GA03",
    "text": "ZCZC GA03\nWZ 224/26\nGMDSS. MRCC SHETLAND.\nVHF DSC SERVICES FROM DUNNET HEAD SITE 58-40.3N 003-22.6W OFF AIR.\nNNNN",
    "clean_text": "ZCZC GA03\nWZ 224/26\nGMDSS. MRCC SHETLAND.\nVHF DSC SERVICES FROM DUNNET HEAD SITE 58-40.3N 003-22.6W OFF AIR.\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "Vhf dsc services from dunnet head site 58-40.3n 003-22.6w off air",
      "Gmdss. mrcc shetland"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 138,
    "heading": "2026-03-24 07:01:46 AREA: G",
    "published_at": "2026-03-24 07:01:46",
    "area": "G",
    "message_id": "GA049",
    "text": "ZCZC GA049\n*2+ 225/26\nGMDSS.\nMRCC SHETLAND.\n1. MF R/T AND DSC SERVICES FROM GREGNESS SITE 57-07.7N 002-03.2W OFF AIR.\n2. :3) 2+ 213/26 (GA80).\nNNNN",
    "clean_text": "ZCZC GA049\n*2+ 225/26\nGMDSS.\nMRCC SHETLAND.\n1. MF R/T AND DSC SERVICES FROM GREGNESS SITE 57-07.7N 002-03.2W OFF AIR.\n2. :3) 2+ 213/26 (GA80).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "1. mf r/t and dsc services from gregness site 57-07.7n 002-03.2w off air",
      "Mrcc shetland"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 139,
    "heading": "2026-03-24 07:01:16 AREA: G",
    "published_at": "2026-03-24 07:01:16",
    "area": "G",
    "message_id": "GA07",
    "text": "ZCZC GA07\nWZ 226/26\nHU_ZER.\nBESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 53-11.9N 002-_29.1E,__+_.*!__(__)___()9,!9_,(5__N_KROCRHCQO_E_DEJ__W__PW_Z__ZCZC",
    "clean_text": "ZCZC GA07\nWZ 226/26\nHU_ZER.\nBESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 53-11.9N 002-_29.1E,__+_.*!__(__)___()9,!9_,(5__N_KROCRHCQO_E_DEJ__W__PW_Z__ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "BESSEMER GAS FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Bessemer gas field. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Bessemer gas field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 140,
    "heading": "2026-03-24 07:00:53 AREA: G",
    "published_at": "2026-03-24 07:00:53",
    "area": "G",
    "message_id": "GA10",
    "text": "ZCZC GA10\nWZ 230/26 \nFAIR ISLE. \nROVA HEAD LIGHTHOUSE 60-11.5N 0_1-08.6W SECTOR LIGHTS UNRELIABLE. \nNNNN",
    "clean_text": "ZCZC GA10\nWZ 230/26\nFAIR ISLE.\nROVA HEAD LIGHTHOUSE 60-11.5N 0_1-08.6W SECTOR LIGHTS UNRELIABLE.\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text reports an aid-to-navigation fault.",
    "decoded_highlights": [
      "Rova head lighthouse 60-11.5n 0 1-08.6w sector lights unreliable",
      "Fair isle"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 141,
    "heading": "2026-03-24 07:00:17 AREA: G",
    "published_at": "2026-03-24 07:00:17",
    "area": "G",
    "message_id": "GB02",
    "text": "ZCZC GB02\nCULLERCOATSRADIO\nGALE WARNING TUESDDMWAY_JOY_D_TE UTC\n\nFOAT_IO  YSPMXZUM__\nFORTH\nGALE _ZUM_PJPWR_YZZ_QBQJAX_WKA__EJQBYNBQBP_BP_Q_PH_L_PL_GI__I\nI\n\n_G_NNNN",
    "clean_text": "ZCZC GB02\nCULLERCOATSRADIO\nGALE WARNING TUESDDMWAY_JOY_D_TE UTC\n\nFOAT_IO YSPMXZUM__\nFORTH\nGALE _ZUM_PJPWR_YZZ_QBQJAX_WKA__EJQBYNBQBP_BP_Q_PH_L_PL_GI__I\nI\n\n_G_NNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "CULLERCOATS",
      "CULLERCOATSRADIO"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Gale zum pjpwr yzz qbqjax wka ejqbynbqbp bp q ph l pl gi i. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gale zum pjpwr yzz qbqjax wka ejqbynbqbp bp q ph l pl gi i",
      "Gale warning tuesddmway joy d te utc",
      "Cullercoatsradio"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 142,
    "heading": "2026-03-24 06:45:31 AREA: E",
    "published_at": "2026-03-24 06:45:31",
    "area": "E",
    "message_id": "EA21",
    "text": "ZCZC EA21\nWZ 182/26 \nLUNDY. \nO__6JBSM_PBN_XKNGXLO3:,_/(_/)*_*79,,((((((((((((((((_=/=5+_7_1_ZCZC",
    "clean_text": "ZCZC EA21\nWZ 182/26\nLUNDY.\nO__6JBSM_PBN_XKNGXLO3:,_/(_/)*_*79,,((((((((((((((((_=/=5+_7_1_ZCZC",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "LUNDY"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 143,
    "heading": "2026-03-24 06:45:10 AREA: E",
    "published_at": "2026-03-24 06:45:10",
    "area": "E",
    "message_id": "EA22",
    "text": "ZCZC EA22\nWZ 185/26 \nWIGHT. \nNEEDLES LIGHT 50-39.7N 001-35.5W FOG SIGNAL INOPERATIVE. \nNNNN",
    "clean_text": "ZCZC EA22\nWZ 185/26\nWIGHT.\nNEEDLES LIGHT 50-39.7N 001-35.5W FOG SIGNAL INOPERATIVE.\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "WIGHT",
      "NEEDLES"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text reports a fog signal outage near 50-39.7N 001-35.5W. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Needles light 50-39.7n 001-35.5w fog signal inoperative"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 144,
    "heading": "2026-03-24 06:44:50 AREA: E",
    "published_at": "2026-03-24 06:44:50",
    "area": "E",
    "message_id": "EA27",
    "text": "ZCZC EA27\nWZ 192/26 \nLUNDY_X _NLAVERNOCK SPIT BUOY 51-23.0N 003-10.8W UNLIT. \n \nNNNN",
    "clean_text": "ZCZC EA27\nWZ 192/26\nLUNDY_X _NLAVERNOCK SPIT BUOY 51-23.0N 003-10.8W UNLIT.\n\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "LUNDY"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text says: Lundy x nlavernock spit buoy 51-23.0n 003-10.8w unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lundy x nlavernock spit buoy 51-23.0n 003-10.8w unlit"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 145,
    "heading": "2026-03-24 06:44:25 AREA: E",
    "published_at": "2026-03-24 06:44:25",
    "area": "E",
    "message_id": "EA40",
    "text": "ZCZC EA40\nWZ 215/26 \n __'. \nMRCC DOVEROABGAZF R/XQ_YKU_OM BAWDSEY SITE 51-59.6N\n_KVQAWRMTE OFF AIR. \n NNNN",
    "clean_text": "ZCZC EA40\nWZ 215/26\n__'.\nMRCC DOVEROABGAZF R/XQ_YKU_OM BAWDSEY SITE 51-59.6N\n_KVQAWRMTE OFF AIR.\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: Mrcc doveroabgazf r/xq yku om bawdsey site 51-59.6n. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mrcc doveroabgazf r/xq yku om bawdsey site 51-59.6n",
      "Kvqawrmte off air"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 146,
    "heading": "2026-03-24 06:43:12 AREA: P",
    "published_at": "2026-03-24 06:43:12",
    "area": "P",
    "message_id": "PB01",
    "text": "ZCZC PB01\n240438 UTC MAR 26\nGALEWARNING, 24 MAR 04:31 UTC.\nTHAMES. DOVER.\nSOUTHWEST 7.\nDOGGER. GER_AFGHT. HUMBER.\nNO WARNING.\n\nEND OF GALEWARNING\n\nNNNN",
    "clean_text": "ZCZC PB01\n240438 UTC MAR 26\nGALEWARNING, 24 MAR 04:31 UTC.\nTHAMES. DOVER.\nSOUTHWEST 7.\nDOGGER. GER_AFGHT. HUMBER.\nNO WARNING.\n\nEND OF GALEWARNING\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Galewarning, 24 mar 04:31 utc.",
    "decoded_highlights": [
      "Galewarning, 24 mar 04:31 utc",
      "No warning",
      "End of galewarning"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 147,
    "heading": "2026-03-24 06:42:03 AREA: E",
    "published_at": "2026-03-24 06:42:03",
    "area": "E",
    "message_id": "EA43",
    "text": "ZCZC EA43\nNAVAREA I 57/26\n1. NAVAREA I WARNINGS IN FORCE AT 201000 UTC MAR 2026:\n\n2026 SERIES: 43, 51, 52, 54, 57.\n\nNOTES:\nA. TEXTS OF NAVAREA I WARNINGS ISSUED EACH WEEK ARE PUBLISHED IN WEEKLY EDITIONS OF THE ADMIRALTY NOTICES TO MARINERS BULLETIN (ANMB).\n\nB. NAVAREA I WARNINGS LESS THAN 42 DAYS OLD (43/26 ONWARD) ARE PROMULGATED VIA ENHANCED GROUP CALL (EGC) AND/OR RELEVANTAZCZC",
    "clean_text": "ZCZC EA43\nNAVAREA I 57/26\n1. NAVAREA I WARNINGS IN FORCE AT 201000 UTC MAR 2026:\n\n2026 SERIES: 43, 51, 52, 54, 57.\n\nNOTES:\nA. TEXTS OF NAVAREA I WARNINGS ISSUED EACH WEEK ARE PUBLISHED IN WEEKLY EDITIONS OF THE ADMIRALTY NOTICES TO MARINERS BULLETIN (ANMB).\n\nB. NAVAREA I WARNINGS LESS THAN 42 DAYS OLD (43/26 ONWARD) ARE PROMULGATED VIA ENHANCED GROUP CALL (EGC) AND/OR RELEVANTAZCZC",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "A. texts of navarea i warnings issued each week are published in weekly editions of the admiralty notices to mariners bulletin (anmb)",
      "B. navarea i warnings less than 42 days old (43/26 onward) are promulgated via enhanced group call (egc) and/or relevantazczc",
      "Navarea i 57/26"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 148,
    "heading": "2026-03-24 06:40:42 AREA: E",
    "published_at": "2026-03-24 06:40:42",
    "area": "E",
    "message_id": "EL12",
    "text": "ZCZC EL12\nSUBS AND GUNS 178/26 \nFOST. \nSUBFACTS AND GUNFACTS WARNING (ALL TIMES UTC). \n1. LIVE GUNNERY FIRINGS IN PROGRESS: \nPLYMOUTH APPROACHES - LIZA PD POINT TO START POINT. \nBETWEEN 240900 AND 241600 MAR. \nPORTLAND APPROACHES - START POINT TO ST ALBANS HEAD. \nBETWEEN 240800 AND 242359 MAR. \nFULL DETAILS IN HM COASTGUARD RESCUE CENTRES VHF AND MF BROADCASTS OR CONTACT NAVAL OPERATIONS PHONE (44) (0)1752 557550.\n2. CANCEL SUBS AND GUNS 177/26 (EL11). \nNNNN",
    "clean_text": "ZCZC EL12\nSUBS AND GUNS 178/26\nFOST.\nSUBFACTS AND GUNFACTS WARNING (ALL TIMES UTC).\n1. LIVE GUNNERY FIRINGS IN PROGRESS:\nPLYMOUTH APPROACHES - LIZA PD POINT TO START POINT.\nBETWEEN 240900 AND 241600 MAR.\nPORTLAND APPROACHES - START POINT TO ST ALBANS HEAD.\nBETWEEN 240800 AND 242359 MAR.\nFULL DETAILS IN HM COASTGUARD RESCUE CENTRES VHF AND MF BROADCASTS OR CONTACT NAVAL OPERATIONS PHONE (44) (0)1752 557550.\n2. CANCEL SUBS AND GUNS 177/26 (EL11).\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "PORTLAND"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "L",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text says: Subfacts and gunfacts warning (all times utc).",
    "decoded_highlights": [
      "Subfacts and gunfacts warning (all times utc)",
      "Full details in hm coastguard rescue centres vhf and mf broadcasts or contact naval operations phone (44) (0)1752 557550",
      "Plymouth approaches - liza pd point to start point"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 149,
    "heading": "2026-03-24 06:40:18 AREA: E",
    "published_at": "2026-03-24 06:40:18",
    "area": "E",
    "message_id": "EB51",
    "text": "ZCZC EB51\nNITONRADIO\nGALE WARNING TUESD_Y 2_6/$.\n60_3 UTC\n\nBISCAY\nNORTHWESTERLY GALE FORCE 8 EXPECTED LATER\nNNNN",
    "clean_text": "ZCZC EB51\nNITONRADIO\nGALE WARNING TUESD_Y 2_6/$.\n60_3 UTC\n\nBISCAY\nNORTHWESTERLY GALE FORCE 8 EXPECTED LATER\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NITON"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for United Kingdom - English Channel and western approaches. Readable text says: Northwesterly gale force 8 expected later.",
    "decoded_highlights": [
      "Northwesterly gale force 8 expected later",
      "Gale warning tuesd y 2 6/$",
      "Nitonradio"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 150,
    "heading": "2026-03-24 06:05:19 AREA: A",
    "published_at": "2026-03-24 06:05:19",
    "area": "A",
    "message_id": "",
    "text": "ZCZC A_HONTEING __PONM_PS\n__-_K_KVCV_OJECT\n CABL_\nOPPY_N-___*_-_=___7___AXA__R_NG__ULLERCOATSRADIO\n_N_KELKEGEB_MDUX_MUXM_X__OB_XD_A_ZE_KNSN_GALE NOW CEASED \n\nFORTNDALE NOW CEASED \nNONEN_E_AE_L_\n_L \n_UU____KU___-/-GU__UL_SSMK_WFZONG_SNBKKEGEB_MQIKPBCEOK+_353 UTC\n\nBISCAY\nNORTHWESTERLY GALE FORCE 8 EX_VMSHPYONGONNI_VVVV\nO_PUW\n_N_YF_YH_Z_IANTMB _48-45.92N_J_EI_XEG_XS_J_Z RLZN TN 004-_5.6___9_9E(3=5$'___,35$=_)__1_+)=5.81W\n 48-54.95N 004-52.30W\nU GLF_\n_MIUN 005HB GU_MBE:$_-+.53WO_M_YZK_-,__+_1\n_/__\n_ 49\n6___HONCM_RKM_PA____JTW_E_0_'___7+(_=_1!_\n+:0.97N \nFM_,(/)_18+_0.44N 005 6_+:__49-00.02N 0052WO_M\nYFHZ_YCYON_:.(7)_$=_8N \n_QPMIEW\n HSFFKHIO_UYWONMLYFKDXB\n_LPR_RU__PW\n \nYF_H_N 00_\n+96+_-9,906_W\n 48-40._0__,4_:.2CSK_OCY_CMZ_REST 2/22__9_+__+:+: $-62\n240430 UTC MAR 26\nNR-0755/2011\nCANTABRICO\nRIA DE TRETO\nCOLINDRES FISHING PORT ENTRANCE\nDREDGING WORKS IN VICINITIES 43-26.0N 003-27.2W MARKINGN_FH_MJZC_M_PS_Z_MSF_DHLCZEJ_M_JP_F_M_YVJO\n_WWZ__VVVVVVVVVVVVVVVVVR__FHW CVF_PS_ZCZC",
    "clean_text": "ZCZC A_HONTEING __PONM_PS\n__-_K_KVCV_OJECT\nCABL_\nOPPY_N-___*_-_=___7___AXA__R_NG__ULLERCOATSRADIO\n_N_KELKEGEB_MDUX_MUXM_X__OB_XD_A_ZE_KNSN_GALE NOW CEASED\n\nFORTNDALE NOW CEASED\nNONEN_E_AE_L_\n_L\n_UU____KU___-/-GU__UL_SSMK_WFZONG_SNBKKEGEB_MQIKPBCEOK+_353 UTC\n\nBISCAY\nNORTHWESTERLY GALE FORCE 8 EX_VMSHPYONGONNI_VVVV\nO_PUW\n_N_YF_YH_Z_IANTMB _48-45.92N_J_EI_XEG_XS_J_Z RLZN TN 004-_5.6___9_9E(3=5$'___,35$=_)__1_+)=5.81W\n48-54.95N 004-52.30W\nU GLF_\n_MIUN 005HB GU_MBE:$_-+.53WO_M_YZK_-,__+_1\n_/__\n_ 49\n6___HONCM_RKM_PA____JTW_E_0_'___7+(_=_1!_\n+:0.97N\nFM_,(/)_18+_0.44N 005 6_+:__49-00.02N 0052WO_M\nYFHZ_YCYON_:.(7)_$=_8N\n_QPMIEW\nHSFFKHIO_UYWONMLYFKDXB\n_LPR_RU__PW\n\nYF_H_N 00_\n+96+_-9,906_W\n48-40._0__,4_:.2CSK_OCY_CMZ_REST 2/22__9_+__+:+: $-62\n240430 UTC MAR 26\nNR-0755/2011\nCANTABRICO\nRIA DE TRETO\nCOLINDRES FISHING PORT ENTRANCE\nDREDGING WORKS IN VICINITIES 43-26.0N 003-27.2W MARKINGN_FH_MJZC_M_PS_Z_MSF_DHLCZEJ_M_JP_F_M_YVJO\n_WWZ__VVVVVVVVVVVVVVVVVR__FHW CVF_PS_ZCZC",
    "display_region_heading": "Unresolved B1 code A",
    "display_region_label": "B1 code A",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code A. Readable text says: Dredging works in vicinities 43-26.0n 003-27.2w markingn fh mjzc m ps z msf dhlczej m jp f m yvjo. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Dredging works in vicinities 43-26.0n 003-27.2w markingn fh mjzc m ps z msf dhlczej m jp f m yvjo",
      "N kelkegeb mdux muxm x ob xd a ze knsn gale now ceased",
      "Northwesterly gale force 8 ex vmshpyongonni vvvv"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 151,
    "heading": "2026-03-24 06:04:13 AREA: A",
    "published_at": "2026-03-24 06:04:13",
    "area": "A",
    "message_id": "",
    "text": "ZCZC AA_ZHBNM_XELKBLRY_0). $ _ _97,$3$ _6+__:)\n__/_8__5.79,2\n ._6:(7 _7G.\n_3KN__/')__+7 +_3/LO,:,31$$2. CANCEL TI_M_ANYW_L_C MAQ_\n_T_SF_CPUU_ZCZC",
    "clean_text": "ZCZC AA_ZHBNM_XELKBLRY_0). $ _ _97,$3$ _6+__:)\n__/_8__5.79,2\n._6:(7 _7G.\n_3KN__/')__+7 +_3/LO,:,31$$2. CANCEL TI_M_ANYW_L_C MAQ_\n_T_SF_CPUU_ZCZC",
    "display_region_heading": "Unresolved B1 code A",
    "display_region_label": "B1 code A",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code A. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 152,
    "heading": "2026-03-24 05:47:33 AREA: W",
    "published_at": "2026-03-24 05:47:33",
    "area": "W",
    "message_id": "WA05",
    "text": "ZCZC WA05\nAVURNAV TOULON 188/26\nPROVENCE - GULF OF AIGUES-MORTES APPROACHES\nAIDS TO NAVIGATION CHANGES\n1. LIGHT RANGE REDUCED\n L'ESPIGUETTE LIGHT IN POSC_ION : \n 43-29.26N 004-08.51E\n (CHART FR7008)\n LIGHT BOOK L1 : 52720\n FL(3)15S 24MWK_L_K_LDK_ D__ D__BSH CAUTION_M CANCLB_S MSG 2222*_1_25: -__/_6NNNN",
    "clean_text": "ZCZC WA05\nAVURNAV TOULON 188/26\nPROVENCE - GULF OF AIGUES-MORTES APPROACHES\nAIDS TO NAVIGATION CHANGES\n1. LIGHT RANGE REDUCED\nL'ESPIGUETTE LIGHT IN POSC_ION :\n43-29.26N 004-08.51E\n(CHART FR7008)\nLIGHT BOOK L1 : 52720\nFL(3)15S 24MWK_L_K_LDK_ D__ D__BSH CAUTION_M CANCLB_S MSG 2222*_1_25: -__/_6NNNN",
    "resolved_station_name": "CROSS La Garde",
    "resolved_country": "France",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Provence, Ligurian Sea and western Mediterranean",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV TOULON"
    ],
    "display_region_heading": "France - Provence, Ligurian Sea and western Mediterranean",
    "display_region_label": "CROSS La Garde, France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for France - Provence, Ligurian Sea and western Mediterranean. Readable text says: 1. light range reduced. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. light range reduced",
      "L'espiguette light in posc ion",
      "Light book l1 : 52720"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 153,
    "heading": "2026-03-24 05:46:18 AREA: W",
    "published_at": "2026-03-24 05:46:18",
    "area": "W",
    "message_id": "WA06",
    "text": "ZCZC WA06\nAVURNAV TOULON 189/26\nLION - ABORDS CAP D'AGDE\nSPECIAL OPERATIONS\n1. SCIENTIFIC SURVEY\n UNTIL 312359 UTC MAR 26\n SCIENTIFIC SURVEY BY MV BLUE M (MMSI : 235068679)\n AREA BOUNDED BY :\n 43-10.11N 003-56.61E/42-58.97N 004-07.17E\n 42-54.43N 004-04.49E/42-48.80N 003-47.28E\n 42-50.87N 003-38.93E/43-00.59N 003-42.46E\n (CHART FR7008)\n WIDE BERTH REQUESTED\n2. CANCEL AVURNAV TOULON 108/26\n3. CANCEL THIS MSG 010059 UTC APR 26NNNN",
    "clean_text": "ZCZC WA06\nAVURNAV TOULON 189/26\nLION - ABORDS CAP D'AGDE\nSPECIAL OPERATIONS\n1. SCIENTIFIC SURVEY\nUNTIL 312359 UTC MAR 26\nSCIENTIFIC SURVEY BY MV BLUE M (MMSI : 235068679)\nAREA BOUNDED BY :\n43-10.11N 003-56.61E/42-58.97N 004-07.17E\n42-54.43N 004-04.49E/42-48.80N 003-47.28E\n42-50.87N 003-38.93E/43-00.59N 003-42.46E\n(CHART FR7008)\nWIDE BERTH REQUESTED\n2. CANCEL AVURNAV TOULON 108/26\n3. CANCEL THIS MSG 010059 UTC APR 26NNNN",
    "resolved_station_name": "CROSS La Garde",
    "resolved_country": "France",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Provence, Ligurian Sea and western Mediterranean",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV TOULON"
    ],
    "display_region_heading": "France - Provence, Ligurian Sea and western Mediterranean",
    "display_region_label": "CROSS La Garde, France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for France - Provence, Ligurian Sea and western Mediterranean. Readable text points to a scientific survey area near 43-10.11N 003-56.61E; 42-58.97N 004-07.17E and requests a wide berth.",
    "decoded_highlights": [
      "Scientific survey by mv blue m (mmsi : 235068679)",
      "1. scientific survey",
      "Avurnav toulon 189/26"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 154,
    "heading": "2026-03-24 05:44:29 AREA: T",
    "published_at": "2026-03-24 05:44:29",
    "area": "T",
    "message_id": "",
    "text": "ZCZC_U\nZ_ON__CY__MHZCSZM_CC\nT_LIGURE - LA SPEZIA APPROACHES\nSPECIAL OPERATIONS\n1. FIRING EXERCISE\n FROM 230800 UTC MAR 26 TO 231800 UTC MAR 26\n FROM 240800 UTC MAR 26 TO 241800 UTC MAR 26\n_ FROM 250800 UTC MAR 26 TO 251800 UTC MAR 26\n FROM ITIFMM_HPTMJ_Y\nF__M\nVGXPHPY_SONMG_Z_HKJBKKEGEBRLBM_Y MAR 18\n LIGURIAN SEA   _K_BY__DOJJJKFJO_R_CWPWMLEM_XONMYY_BPEG_\n_QRMPOE\n 44-10.36N 009-28.58E\n 44-06.00N 009-33.00E\n 43-58.00N 009-18.50E\n SHIPPING FISHING ANCHON_BCLXI __BPNV_KYF_PW\nH__ZX_QZ__KXRV_R COUNTERMEASURE LAUNCH, TORPEDO LAUNVD_MGWMHZ_PWMLZW_MHYFSF_ONMSSMHYJFHF_MJ_F_JM_PKK_N_M CANCEL THIS MSG 251900 UTC MAR 26NNNN",
    "clean_text": "ZCZC_U\nZ_ON__CY__MHZCSZM_CC\nT_LIGURE - LA SPEZIA APPROACHES\nSPECIAL OPERATIONS\n1. FIRING EXERCISE\nFROM 230800 UTC MAR 26 TO 231800 UTC MAR 26\nFROM 240800 UTC MAR 26 TO 241800 UTC MAR 26\n_ FROM 250800 UTC MAR 26 TO 251800 UTC MAR 26\nFROM ITIFMM_HPTMJ_Y\nF__M\nVGXPHPY_SONMG_Z_HKJBKKEGEBRLBM_Y MAR 18\nLIGURIAN SEA _K_BY__DOJJJKFJO_R_CWPWMLEM_XONMYY_BPEG_\n_QRMPOE\n44-10.36N 009-28.58E\n44-06.00N 009-33.00E\n43-58.00N 009-18.50E\nSHIPPING FISHING ANCHON_BCLXI __BPNV_KYF_PW\nH__ZX_QZ__KXRV_R COUNTERMEASURE LAUNCH, TORPEDO LAUNVD_MGWMHZ_PWMLZW_MHYFSF_ONMSSMHYJFHF_MJ_F_JM_PKK_N_M CANCEL THIS MSG 251900 UTC MAR 26NNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Shipping fishing anchon bclxi bpnv kyf pw. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping fishing anchon bclxi bpnv kyf pw",
      "1. firing exercise",
      "T ligure - la spezia approaches"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 155,
    "heading": "2026-03-24 05:43:41 AREA: W",
    "published_at": "2026-03-24 05:43:41",
    "area": "W",
    "message_id": "WA04",
    "text": "ZCZC WA04\nAVURNAV TOULON 187/26\nPROVENCE - PHARE DE FARAMAN\nAIDS TO NAVIGATION CHANGES\n:. LIGHT UNLIT\n FARAMAN LIGHT HOUSE IN POSITION : \n 43-21.28__.\n_41.23E\nKCHART FR6693)\n (LF L1-52880)\n FL(2)W.10S \n NAVIGATE WITH CAUTION\n2. CANCEL THIS MSG 221943 UTC APR 26NNNN",
    "clean_text": "ZCZC WA04\nAVURNAV TOULON 187/26\nPROVENCE - PHARE DE FARAMAN\nAIDS TO NAVIGATION CHANGES\n:. LIGHT UNLIT\nFARAMAN LIGHT HOUSE IN POSITION :\n43-21.28__.\n_41.23E\nKCHART FR6693)\n(LF L1-52880)\nFL(2)W.10S\nNAVIGATE WITH CAUTION\n2. CANCEL THIS MSG 221943 UTC APR 26NNNN",
    "resolved_station_name": "CROSS La Garde",
    "resolved_country": "France",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Provence, Ligurian Sea and western Mediterranean",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV TOULON"
    ],
    "display_region_heading": "France - Provence, Ligurian Sea and western Mediterranean",
    "display_region_label": "CROSS La Garde, France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for France - Provence, Ligurian Sea and western Mediterranean. Readable text reports an aid-to-navigation fault.",
    "decoded_highlights": [
      "Light unlit",
      "Faraman light house in position",
      "Avurnav toulon 187/26"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 156,
    "heading": "2026-03-24 05:42:20 AREA: W",
    "published_at": "2026-03-24 05:42:20",
    "area": "W",
    "message_id": "WA07",
    "text": "ZCZC WA07\nAVURNAV TOULON 190/26\nPROVENCE\nSPECIAL OPERATIONS\n1. FIRING EXERCISE\n FROM 240700 UT_YXMSY TO 241659 UTC MAR 26\n AREA 04W\n__ CY_YUYHMGLZCWPW BY :\n 43-07.80N 006-40.00E/43-05.20N 007-02.00E\n 42-47.00N 007-02.00E/42-40.00N 007-09.=__09,.\n6__6_ 006-15.00E/42-47.00N _15.00E\n 42-47.00N 006-22.20E/43-00.00N 006-22.20E\n _PWMOPN 006-29.00E/43-0_.C_M_\n_EU_B_TPUL\n HAZARDOUS TO NAVIGATION\n2. CANCEL THIS MSG 241759 UTC MAR 26NNNN",
    "clean_text": "ZCZC WA07\nAVURNAV TOULON 190/26\nPROVENCE\nSPECIAL OPERATIONS\n1. FIRING EXERCISE\nFROM 240700 UT_YXMSY TO 241659 UTC MAR 26\nAREA 04W\n__ CY_YUYHMGLZCWPW BY :\n43-07.80N 006-40.00E/43-05.20N 007-02.00E\n42-47.00N 007-02.00E/42-40.00N 007-09.=__09,.\n6__6_ 006-15.00E/42-47.00N _15.00E\n42-47.00N 006-22.20E/43-00.00N 006-22.20E\n_PWMOPN 006-29.00E/43-0_.C_M_\n_EU_B_TPUL\nHAZARDOUS TO NAVIGATION\n2. CANCEL THIS MSG 241759 UTC MAR 26NNNN",
    "resolved_station_name": "CROSS La Garde",
    "resolved_country": "France",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Provence, Ligurian Sea and western Mediterranean",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV TOULON"
    ],
    "display_region_heading": "France - Provence, Ligurian Sea and western Mediterranean",
    "display_region_label": "CROSS La Garde, France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for France - Provence, Ligurian Sea and western Mediterranean. Readable text says: 1. firing exercise. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. firing exercise",
      "Hazardous to navigation",
      "Avurnav toulon 190/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 157,
    "heading": "2026-03-24 05:40:11 AREA: T",
    "published_at": "2026-03-24 05:40:11",
    "area": "T",
    "message_id": "",
    "text": "_CZC WA09\n=7\n=74,_=._+:'+._.-:__0_94'3 - ABOYWJM_ZFHPMWPMJ_ZJONFWJMHZMKO37_=2!!_8_'\n\n__.__0_9+6_'!+$_._0_+3:31___3\n '30_+*.'!'$_2$_,.!._+*$_)__ 41-33.52N _(CHART FR7162)\n LIGHTZ_MS\nZMX__ MME\n LEGEND LF: FL.WR.5S\n SECTOR OF TDPMS__HTHOUSE UCPY__MDAYWZCJMHZM\nF_HXZ_Z_NKO_KTJO_W0_)139__0/_420_\n_90\n__1_+!!!__7+:+: 2__!9,__:6__._+:'+._=+ _\nPROVENCE\nSPECIAL OPERATIONSVJ\nFIRING EXERCISE\n F_ZBM_UY _PMGVHXM_Y_\n_TO 241859 UTC _26\n AREA 04D-13-41 BOUNDED BY :\n 43-05.00N 006-29.00E__2.90N 006-29.00E\n 43-00.00N 006-22.20E/42-4 ___=/=1,'12.20E\n \nY_Y_B_ 006-40._,_43-05.20N 007-02.00E\n 43-07.80N 006-8B_GPONM_VGXDYHM6___CSHWK__EWKXK_U_X_AVIGATION\n2. CANCEL THIS MSG 241959 UTC MAR 26NNNN",
    "clean_text": "_CZC WA09\n=7\n=74,_=._+:'+._.-:__0_94'3 - ABOYWJM_ZFHPMWPMJ_ZJONFWJMHZMKO37_=2!!_8_'\n\n__.__0_9+6_'!+$_._0_+3:31___3\n'30_+*.'!'$_2$_,.!._+*$_)__ 41-33.52N _(CHART FR7162)\nLIGHTZ_MS\nZMX__ MME\nLEGEND LF: FL.WR.5S\nSECTOR OF TDPMS__HTHOUSE UCPY__MDAYWZCJMHZM\nF_HXZ_Z_NKO_KTJO_W0_)139__0/_420_\n_90\n__1_+!!!__7+:+: 2__!9,__:6__._+:'+._=+ _\nPROVENCE\nSPECIAL OPERATIONSVJ\nFIRING EXERCISE\nF_ZBM_UY _PMGVHXM_Y_\n_TO 241859 UTC _26\nAREA 04D-13-41 BOUNDED BY :\n43-05.00N 006-29.00E__2.90N 006-29.00E\n43-00.00N 006-22.20E/42-4 ___=/=1,'12.20E\n\nY_Y_B_ 006-40._,_43-05.20N 007-02.00E\n43-07.80N 006-8B_GPONM_VGXDYHM6___CSHWK__EWKXK_U_X_AVIGATION\n2. CANCEL THIS MSG 241959 UTC MAR 26NNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Lightz ms. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lightz ms",
      "Sector of tdpms hthouse ucpy mdaywzcjmhzm",
      "Firing exercise"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 158,
    "heading": "2026-03-24 05:24:40 AREA: U",
    "published_at": "2026-03-24 05:24:40",
    "area": "U",
    "message_id": "UA15",
    "text": "ZCZC UA15\n240320 UTC MAR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING NR. 101/26 FEB 18 (8 RELAY)\nLIGURIAN SEA  \nAREA BOUNDED BY FOLLOWING POINTS:\n  45 12.824N   012 22.473E\n  45 12.788N   012 22.449E\n  45 12.720N   012 22.714E\n  45 12.770N   012 22.739E\nUNTIL 29TH MAR 2026 DAYTIME HOURS AND WEATHER PERMITTING\nM/N CARMAR DUE WITH THE AID OF ROV, SIDE SCAN SONAR,\nAND MULTIBEAM\nWILL CARRY OUT SEABED RESTORATION\nSHIPPING   FISHING   ANCHORAGE AND EVERY SURFACE/UNDERWATER\nACTIVITQ IPBHT\nY__LF V_SMHYJFHHF_MJ_F_MLP_YPONONONNIIII_ZC UA16\n240320 UTC MAR 26\nMONDOLFO RADIO\n\nCO_ WARNING NR. 166/26 MAR 23\nADRIATIC SEA - TRIESTE -\nFROM 231900 UTC MAR 26 TO 240700 UTC MAR 26\nTRIESTE VTS IS IN N.O. (NOT OPERATIONAL)\nALL TRANSITING JF_JM_P_YPONONONNDQFYD_\n_QUF_________EAXAX_\n_W__CU_ Y_R_Q_WXUQ AR 2026\nWZ 215/26_7:9$0_\nMRCC DOVER.\nMF R/T SERVICE FR_O_FKSKDSEY SITE 51-59.6N 001-24___0.+_2_()3\n____U_I_ZCZXM\n_HEP_IQPRE G_HXM_Y_\n_NHKQO__EWU__ 8_+4__.+,_(8_27__01=0/24_8,7_94KMLOEEEMT_M_AFH__FG_WIGRM__VE. \nNNNN",
    "clean_text": "ZCZC UA15\n240320 UTC MAR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING NR. 101/26 FEB 18 (8 RELAY)\nLIGURIAN SEA\nAREA BOUNDED BY FOLLOWING POINTS:\n45 12.824N 012 22.473E\n45 12.788N 012 22.449E\n45 12.720N 012 22.714E\n45 12.770N 012 22.739E\nUNTIL 29TH MAR 2026 DAYTIME HOURS AND WEATHER PERMITTING\nM/N CARMAR DUE WITH THE AID OF ROV, SIDE SCAN SONAR,\nAND MULTIBEAM\nWILL CARRY OUT SEABED RESTORATION\nSHIPPING FISHING ANCHORAGE AND EVERY SURFACE/UNDERWATER\nACTIVITQ IPBHT\nY__LF V_SMHYJFHHF_MJ_F_MLP_YPONONONNIIII_ZC UA16\n240320 UTC MAR 26\nMONDOLFO RADIO\n\nCO_ WARNING NR. 166/26 MAR 23\nADRIATIC SEA - TRIESTE -\nFROM 231900 UTC MAR 26 TO 240700 UTC MAR 26\nTRIESTE VTS IS IN N.O. (NOT OPERATIONAL)\nALL TRANSITING JF_JM_P_YPONONONNDQFYD_\n_QUF_________EAXAX_\n_W__CU_ Y_R_Q_WXUQ AR 2026\nWZ 215/26_7:9$0_\nMRCC DOVER.\nMF R/T SERVICE FR_O_FKSKDSEY SITE 51-59.6N 001-24___0.+_2_()3\n____U_I_ZCZXM\n_HEP_IQPRE G_HXM_Y_\n_NHKQO__EWU__ 8_+4__.+,_(8_27__01=0/24_8,7_94KMLOEEEMT_M_AFH__FG_WIGRM__VE.\nNNNN",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Adriatic Sea and central Italian coast. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping fishing anchorage and every surface/underwater",
      "Coastal warning nr. 101/26 feb 18 (8 relay)",
      "Until 29th mar 2026 daytime hours and weather permitting"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 159,
    "heading": "2026-03-24 05:23:02 AREA: U",
    "published_at": "2026-03-24 05:23:02",
    "area": "U",
    "message_id": "UA14",
    "text": "ZCZC UA14\n240320 UTC MAR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 112/26 FEB 25 (5 REPETITION)  \n:__1_(:_(73(___1KBBB_HZMONW_JM__WR WT WY WU \nEP AND 31 MAR FROM 08 00LT TO 23 00LT, WILL BE CARRIED OUT A FIRING\nMILITARY ACTIVITIES IN THE SEA AREA IN FRONT OF 'TORRE VENERI'\nFIRINEBE_FEHBOUNDED BY THE FOLLOWING POINTS:\nA    40 25'31 N   18 15'30 E  B    40 30'20 N   18 16'30 E \nC    40 29'25 N   18 19'03 E  D    40 27'45 N   18 20'58 E \nE    40 25'55 N   18 22'28 E  F    40 23'05 N   18 23'18 E \nG    40 23'54 N   18 17'30 E \nSAILING, ANCHORAGE AND FISHING ARE PROHIBITED \n\nNNNN",
    "clean_text": "ZCZC UA14\n240320 UTC MAR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 112/26 FEB 25 (5 REPETITION)\n:__1_(:_(73(___1KBBB_HZMONW_JM__WR WT WY WU\nEP AND 31 MAR FROM 08 00LT TO 23 00LT, WILL BE CARRIED OUT A FIRING\nMILITARY ACTIVITIES IN THE SEA AREA IN FRONT OF 'TORRE VENERI'\nFIRINEBE_FEHBOUNDED BY THE FOLLOWING POINTS:\nA 40 25'31 N 18 15'30 E B 40 30'20 N 18 16'30 E\nC 40 29'25 N 18 19'03 E D 40 27'45 N 18 20'58 E\nE 40 25'55 N 18 22'28 E F 40 23'05 N 18 23'18 E\nG 40 23'54 N 18 17'30 E\nSAILING, ANCHORAGE AND FISHING ARE PROHIBITED\n\nNNNN",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Adriatic Sea and central Italian coast. Readable text says: Sailing, anchorage and fishing are prohibited.",
    "decoded_highlights": [
      "Sailing, anchorage and fishing are prohibited",
      "Coastal warning 112/26 feb 25 (5 repetition)",
      "Military activities in the sea area in front of 'torre veneri'"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 160,
    "heading": "2026-03-24 05:22:13 AREA: U",
    "published_at": "2026-03-24 05:22:13",
    "area": "U",
    "message_id": "UA13",
    "text": "ZCZC UA13\n240320 UTC MAR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 146/26 MAR 21\nSOUTHERN ADRIATIC SEA - BARI.\nTHE BARI VTS CENTER, AS OF 07.45 PM ON MARCH 21, 2026,\nIS IN LIMITED OPERATIONAL CAPABILITY (LOC).\nTHEREFORE, VTS SERVICES WILL NOT BE PROVIDED WITHOUT CONTINUITY.\n\nNNNN",
    "clean_text": "ZCZC UA13\n240320 UTC MAR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 146/26 MAR 21\nSOUTHERN ADRIATIC SEA - BARI.\nTHE BARI VTS CENTER, AS OF 07.45 PM ON MARCH 21, 2026,\nIS IN LIMITED OPERATIONAL CAPABILITY (LOC).\nTHEREFORE, VTS SERVICES WILL NOT BE PROVIDED WITHOUT CONTINUITY.\n\nNNNN",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Adriatic Sea and central Italian coast. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "Therefore, vts services will not be provided without continuity",
      "Coastal warning 146/26 mar 21",
      "The bari vts center, as of 07.45 pm on march 21, 2026"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 161,
    "heading": "2026-03-24 05:21:31 AREA: U",
    "published_at": "2026-03-24 05:21:31",
    "area": "U",
    "message_id": "UA12",
    "text": "ZCZC UA12\n240320 UTC MAR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 147/26 MAR 23 \nSOUTHERN ADRIATIC SEA - BARI.\nTHE BARI VTS CENT_R_IN NON-OPERATIVE PHASE FROM 07.00LT\nOF 23 MAR 2026, THEREFORE VTS SERVICES CANNOT BE PROVIDED.\n\nNNNN",
    "clean_text": "ZCZC UA12\n240320 UTC MAR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 147/26 MAR 23\nSOUTHERN ADRIATIC SEA - BARI.\nTHE BARI VTS CENT_R_IN NON-OPERATIVE PHASE FROM 07.00LT\nOF 23 MAR 2026, THEREFORE VTS SERVICES CANNOT BE PROVIDED.\n\nNNNN",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Adriatic Sea and central Italian coast. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "Of 23 mar 2026, therefore vts services cannot be provided",
      "Coastal warning 147/26 mar 23",
      "The bari vts cent r in non-operative phase from 07.00lt"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 162,
    "heading": "2026-03-24 05:20:48 AREA: U",
    "published_at": "2026-03-24 05:20:48",
    "area": "U",
    "message_id": "UU11",
    "text": "ZCZC UU11\n240320 UTC MAR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING NR. 159/26 MAR 19 (1 RELAY)\nAD_IAT_C SEA - TRIESTE -\nFROM 200700 UTC MAR 26 TO 230700 UTC MAR 26\nTRIESTE VTS IS IN N.O. (NOT OPERATIONAL)\nALL TRANSITING SHIPS BEWARE\n\nNNNN",
    "clean_text": "ZCZC UU11\n240320 UTC MAR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING NR. 159/26 MAR 19 (1 RELAY)\nAD_IAT_C SEA - TRIESTE -\nFROM 200700 UTC MAR 26 TO 230700 UTC MAR 26\nTRIESTE VTS IS IN N.O. (NOT OPERATIONAL)\nALL TRANSITING SHIPS BEWARE\n\nNNNN",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "operational notice",
    "subject_code": "U",
    "decoded_summary": "operational notice for Italy - Adriatic Sea and central Italian coast. Readable text says: Coastal warning nr. 159/26 mar 19 (1 relay).",
    "decoded_highlights": [
      "Coastal warning nr. 159/26 mar 19 (1 relay)",
      "Trieste vts is in n.o. (not operational)",
      "Ad iat c sea - trieste -"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  }
]